mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-11-29 12:35:53 +01:00
65 lines
1.4 KiB
C
65 lines
1.4 KiB
C
|
/** @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_ */
|