mirror of https://github.com/acidanthera/audk.git
OvmfPkg: add IndustryStandard/VirtioSerial.h
Add header files with structs and defines for the virtio serial device. The virtio serial device also known as virtio console device because initially it had only support for a single tty, intended to be used as console. Support for multiple streams and named data ports has been added later on. https://docs.oasis-open.org/virtio/virtio/v1.2/cs01/virtio-v1.2-cs01.html#x1-2900003 Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
92da8a154f
commit
1694b00511
|
@ -0,0 +1,64 @@
|
|||
/** @file
|
||||
Virtio Serial Device specific type and macro definitions.
|
||||
|
||||
Copyright (C) 2013-2016, Red Hat, Inc.
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _VIRTIO_SERIAL_H_
|
||||
#define _VIRTIO_SERIAL_H_
|
||||
|
||||
#include <IndustryStandard/Virtio095.h>
|
||||
#include <IndustryStandard/Virtio10.h>
|
||||
|
||||
//
|
||||
// Device Configuration
|
||||
//
|
||||
typedef struct {
|
||||
UINT16 Cols;
|
||||
UINT16 Rows;
|
||||
UINT32 MaxPorts;
|
||||
UINT32 EmergWrite;
|
||||
} VIRTIO_SERIAL_CONFIG;
|
||||
|
||||
//
|
||||
// Control Queue
|
||||
//
|
||||
typedef struct {
|
||||
UINT32 Id;
|
||||
UINT16 Event;
|
||||
UINT16 Value;
|
||||
} VIRTIO_SERIAL_CONTROL;
|
||||
|
||||
//
|
||||
// Queue Identifiers
|
||||
//
|
||||
#define VIRTIO_SERIAL_Q_RX_PORT0 0
|
||||
#define VIRTIO_SERIAL_Q_TX_PORT0 1
|
||||
#define VIRTIO_SERIAL_Q_RX_CTRL 2
|
||||
#define VIRTIO_SERIAL_Q_TX_CTRL 3
|
||||
#define VIRTIO_SERIAL_Q_RX_BASE 4
|
||||
#define VIRTIO_SERIAL_Q_TX_BASE 5
|
||||
|
||||
//
|
||||
// Feature Bits
|
||||
//
|
||||
#define VIRTIO_SERIAL_F_SIZE BIT0
|
||||
#define VIRTIO_SERIAL_F_MULTIPORT BIT1
|
||||
#define VIRTIO_SERIAL_F_EMERG_WRITE BIT2
|
||||
|
||||
//
|
||||
// Events
|
||||
//
|
||||
#define VIRTIO_SERIAL_DEVICE_READY 0
|
||||
#define VIRTIO_SERIAL_DEVICE_ADD 1
|
||||
#define VIRTIO_SERIAL_DEVICE_REMOVE 2
|
||||
#define VIRTIO_SERIAL_PORT_READY 3
|
||||
#define VIRTIO_SERIAL_CONSOLE_PORT 4
|
||||
#define VIRTIO_SERIAL_RESIZE 5
|
||||
#define VIRTIO_SERIAL_PORT_OPEN 6
|
||||
#define VIRTIO_SERIAL_PORT_NAME 7
|
||||
|
||||
#endif /* _VIRTIO_SERIAL_H_ */
|
Loading…
Reference in New Issue