XenevaOS
Loading...
Searching...
No Matches
virtio.h
Go to the documentation of this file.
1
32#ifndef __VIRTIO_H__
33#define __VIRTIO_H__
34
35#include <stdint.h>
36
57
59 volatile uint8_t select;
60 volatile uint8_t subsel;
61 volatile uint8_t size;
62 volatile uint8_t pad[5];
63 union {
64 struct {
65 volatile uint32_t min;
66 volatile uint32_t max;
67 volatile uint32_t fuzz;
68 volatile uint32_t flat;
69 volatile uint32_t res;
73};
74#pragma pack(push,1)
81
88
93
100
106
112#pragma pack(pop)
113
114#define OFFSETOF(s,m) ((size_t)&(((s*)0)->m))
115
116#define VIRTIO_NET_F_CSUM (1ULL << 0)
117#define VIRTIO_NET_F_GUEST_CSUM (1ULL << 2)
118#define VIRTIO_NET_F_MAC (1ULL << 5)
119#define VIRTIO_NET_F_CTRL_VQ (1ULL << 17)
120#define VIRTIO_NET_HDR_GSO_NONE 0
121
130
131#pragma pack(push,1)
142#pragma pack(pop)
143
144#pragma pack(push,1)
149#pragma pack(pop)
150
155
160
170#endif
AuUSBDeviceStruc * device
Definition main.cpp:148
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
unsigned short int uint16_t
Definition acefiex.h:162
Definition virtio.h:82
uint16_t flags
Definition virtio.h:83
volatile uint16_t index
Definition virtio.h:84
uint16_t int_index
Definition virtio.h:86
uint16_t ring[64]
Definition virtio.h:85
Definition virtio.h:75
uint16_t Flags
Definition virtio.h:78
uint16_t Next
Definition virtio.h:79
uint32_t Length
Definition virtio.h:77
uint64_t Addr
Definition virtio.h:76
Definition virtio.h:37
volatile uint16_t QueueEnable
Definition virtio.h:50
volatile uint8_t ConfigGeneration
Definition virtio.h:45
volatile uint16_t Queues
Definition virtio.h:43
volatile uint64_t QueueAvail
Definition virtio.h:54
volatile uint16_t QueueMSixVector
Definition virtio.h:49
volatile uint64_t QueueUsed
Definition virtio.h:55
volatile uint16_t MSix
Definition virtio.h:42
volatile uint32_t DevFeature
Definition virtio.h:39
volatile uint32_t GuestFeatureSelect
Definition virtio.h:40
volatile uint16_t QueueSelect
Definition virtio.h:47
volatile uint64_t QueueDesc
Definition virtio.h:53
volatile uint16_t QueueSize
Definition virtio.h:48
volatile uint32_t DevFeatureSelect
Definition virtio.h:38
volatile uint8_t DeviceStatus
Definition virtio.h:44
volatile uint32_t GuestFeature
Definition virtio.h:41
volatile uint16_t QueueNotifyOff
Definition virtio.h:51
Definition virtio.h:58
volatile uint32_t fuzz
Definition virtio.h:67
volatile uint8_t select
Definition virtio.h:59
union VirtioDeviceConfig::@11 data
volatile uint32_t res
Definition virtio.h:69
struct VirtioDeviceConfig::@11::@12 tablet_data
volatile uint32_t min
Definition virtio.h:65
volatile uint32_t max
Definition virtio.h:66
volatile uint8_t subsel
Definition virtio.h:60
volatile uint32_t flat
Definition virtio.h:68
volatile uint8_t pad[5]
Definition virtio.h:62
uint8_t str[128]
Definition virtio.h:71
volatile uint8_t size
Definition virtio.h:61
Definition virtio.h:107
uint32_t value
Definition virtio.h:110
uint16_t type
Definition virtio.h:108
uint16_t code
Definition virtio.h:109
Definition virtio.h:101
struct VirtioAvail available
Definition virtio.h:103
struct VirtioUsed used
Definition virtio.h:104
struct VirtioBuffer buffers[64]
Definition virtio.h:102
Definition virtio.h:89
uint32_t index
Definition virtio.h:90
uint32_t length
Definition virtio.h:91
Definition virtio.h:94
uint16_t int_index
Definition virtio.h:98
volatile uint16_t index
Definition virtio.h:96
uint16_t flags
Definition virtio.h:95
struct VirtioRing ring[64]
Definition virtio.h:97
Definition virtio.h:122
uint8_t gso_type
Definition virtio.h:124
uint16_t hdr_len
Definition virtio.h:125
uint16_t csum_offset
Definition virtio.h:128
uint8_t flags
Definition virtio.h:123
uint16_t csum_start
Definition virtio.h:127
uint16_t gso_size
Definition virtio.h:126
Definition virtio.h:145
virtio_pci_cap cap
Definition virtio.h:146
uint32_t notifer_mult_base
Definition virtio.h:147
Definition virtio.h:132
uint8_t bar
Definition virtio.h:137
uint32_t offset
Definition virtio.h:139
uint8_t cap_len
Definition virtio.h:135
uint32_t length
Definition virtio.h:140
uint8_t cap_vndr
Definition virtio.h:133
uint8_t cap_next
Definition virtio.h:134
uint8_t cfg_type
Definition virtio.h:136
struct _virtio_net_hdr_ virtio_net_hdr_t
void AuVirtioNetInitialize(uint64_t device)
AuVirtioNetInitialize – initialize the virtio network device.
Definition virtionet.cpp:359
void AuVirtioKbdInitialize(uint64_t device)
AuVirtioKbdInitialize – initialize the virtio keyboard.
Definition virtiokbd.c:116
void AuVirtioTabletInitialize(uint64_t device)
AuVirtioTabletInitialize – initialize virtio tablet.
Definition virtiotablet.c:131