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