TianoCore EDK2
master
Loading...
Searching...
No Matches
Virtio10.h
Go to the documentation of this file.
1
9
#ifndef _VIRTIO_1_0_DXE_H_
10
#define _VIRTIO_1_0_DXE_H_
11
12
#include <
Protocol/PciIo.h
>
13
#include <
Protocol/VirtioDevice.h
>
14
15
#define VIRTIO_1_0_SIGNATURE SIGNATURE_32 ('V', 'I', 'O', '1')
16
17
//
18
// Type of the PCI BAR that contains a VirtIo 1.0 config structure.
19
//
20
typedef
enum
{
21
Virtio10BarTypeMem,
22
Virtio10BarTypeIo
23
} VIRTIO_1_0_BAR_TYPE;
24
25
//
26
// The type below defines the access to a VirtIo 1.0 config structure.
27
//
28
typedef
struct
{
29
BOOLEAN Exists;
// The device exposes this structure
30
VIRTIO_1_0_BAR_TYPE BarType;
31
UINT8 Bar;
32
UINT32 Offset;
// Offset into BAR where structure starts
33
UINT32 Length;
// Length of structure in BAR.
34
}
VIRTIO_1_0_CONFIG
;
35
36
typedef
struct
{
37
UINT32 Signature;
38
VIRTIO_DEVICE_PROTOCOL
VirtIo;
39
EFI_PCI_IO_PROTOCOL
*PciIo;
40
UINT64 OriginalPciAttributes;
41
VIRTIO_1_0_CONFIG
CommonConfig;
// Common settings
42
VIRTIO_1_0_CONFIG
NotifyConfig;
// Notifications
43
UINT32 NotifyOffsetMultiplier;
44
VIRTIO_1_0_CONFIG
SpecificConfig;
// Device specific settings
45
}
VIRTIO_1_0_DEV
;
46
47
#define VIRTIO_1_0_FROM_VIRTIO_DEVICE(Device) \
48
CR (Device, VIRTIO_1_0_DEV, VirtIo, VIRTIO_1_0_SIGNATURE)
49
50
#endif
// _VIRTIO_1_0_DXE_H_
PciIo.h
VirtioDevice.h
_EFI_PCI_IO_PROTOCOL
Definition:
PciIo.h:516
_VIRTIO_DEVICE_PROTOCOL
Definition:
VirtioDevice.h:475
VIRTIO_1_0_CONFIG
Definition:
Virtio10.h:28
VIRTIO_1_0_DEV
Definition:
Virtio10.h:36
OvmfPkg
Virtio10Dxe
Virtio10.h
Generated on Fri Nov 15 2024 18:01:22 for TianoCore EDK2 by
1.9.6