SimpleKernel 1.17.0
Loading...
Searching...
No Matches
defs.h
Go to the documentation of this file.
1
5#pragma once
6
7#include <cstdint>
8
9namespace virtio {
10
15enum class DeviceId : uint32_t {
16 kReserved = 0,
17 kNetwork = 1,
18 kBlock = 2,
19 kConsole = 3,
20 kEntropy = 4,
22 kIoMemory = 6,
23 kRpmsg = 7,
24 kScsiHost = 8,
26 kMac80211Wlan = 10,
27 kRprocSerial = 11,
28 kVirtioCaif = 12,
29 kMemoryBalloon = 13,
30 // 14-15 保留
31 kGpu = 16,
32 kTimerClock = 17,
33 kInput = 18,
34 kSocket = 19,
35 kCrypto = 20,
36 kSignalDist = 21,
37 kPstore = 22,
38 kIommu = 23,
39 kMemory = 24,
40 kSound = 25,
41 kFilesystem = 26,
42 kPmem = 27,
43 kRpmb = 28,
44 // 29-31 保留
45 kScmi = 32,
46 // 33 保留
47 kI2cAdapter = 34,
48 // 35 保留
49 kCan = 36,
50 // 37 保留
52 kAudioPolicy = 39,
53 kBluetooth = 40,
54 kGpio = 41,
55 kRdma = 42,
56};
57
62enum class ReservedFeature : uint64_t {
64 kIndirectDesc = 0x10000000,
66 kEventIdx = 0x20000000,
68 kVersion1 = 0x100000000,
70 kAccessPlatform = 0x200000000,
72 kRingPacked = 0x400000000,
74 kInOrder = 0x800000000,
76 kOrderPlatform = 0x1000000000,
78 kSrIov = 0x2000000000,
80 kNotificationData = 0x4000000000,
83 kNotifConfigData = 0x8000000000,
85 kRingReset = 0x10000000000,
86};
87
88} // namespace virtio
Definition defs.h:9
DeviceId
Virtio 设备 ID 定义
Definition defs.h:15
ReservedFeature
保留特性位定义 (Reserved Feature Bits)
Definition defs.h:62
@ kEventIdx
设备支持 avail_event 和 used_event 字段 (VIRTIO_F_EVENT_IDX) [1 << 29]
@ kRingReset
驱动可以单独重置队列 (VIRTIO_F_RING_RESET) [1 << 40]
@ kVersion1
设备符合 virtio 1.0+ 规范 (VIRTIO_F_VERSION_1) [1 << 32]
@ kOrderPlatform
平台提供内存排序保证 (VIRTIO_F_ORDER_PLATFORM) [1 << 36]
@ kNotificationData
驱动在通知中传递额外数据 (VIRTIO_F_NOTIFICATION_DATA) [1 << 38]
@ kAccessPlatform
设备可被 IOMMU 限定的平台访问 (VIRTIO_F_ACCESS_PLATFORM) [1 << 33]
@ kSrIov
支持 Single Root I/O Virtualization (VIRTIO_F_SR_IOV) [1 << 37]
@ kRingPacked
支持 Packed Virtqueue 布局 (VIRTIO_F_RING_PACKED) [1 << 34]
@ kIndirectDesc
设备支持间接描述符 (VIRTIO_F_INDIRECT_DESC) [1 << 28]
@ kInOrder
按顺序使用缓冲区 (VIRTIO_F_IN_ORDER) [1 << 35]