|
SimpleKernel 1.17.0
|
Namespaces | |
| namespace | blk |
Classes | |
| class | DeviceInitializer |
| Virtio 设备初始化器 More... | |
| struct | IoVec |
| Scatter-Gather IO 物理内存向量 More... | |
| class | MmioTransport |
| Virtio MMIO 传输层 More... | |
| class | PciTransport |
| Virtio PCI 传输层(占位) More... | |
| class | SplitVirtqueue |
| Split Virtqueue 管理类 More... | |
| class | Transport |
| Virtio 传输层基类(零虚表开销,C++23 Deducing this) More... | |
| class | VirtqueueBase |
| Virtqueue 基类(C++23 Deducing this 编译期多态) More... | |
Concepts | |
| concept | TransportConcept |
| Virtio 传输层接口约束 | |
Enumerations | |
| enum class | DeviceId : uint32_t { kReserved = 0 , kNetwork = 1 , kBlock = 2 , kConsole = 3 , kEntropy = 4 , kMemoryBalloonTraditional = 5 , kIoMemory = 6 , kRpmsg = 7 , kScsiHost = 8 , kNinepTransport = 9 , kMac80211Wlan = 10 , kRprocSerial = 11 , kVirtioCaif = 12 , kMemoryBalloon = 13 , kGpu = 16 , kTimerClock = 17 , kInput = 18 , kSocket = 19 , kCrypto = 20 , kSignalDist = 21 , kPstore = 22 , kIommu = 23 , kMemory = 24 , kSound = 25 , kFilesystem = 26 , kPmem = 27 , kRpmb = 28 , kScmi = 32 , kI2cAdapter = 34 , kCan = 36 , kParameterServer = 38 , kAudioPolicy = 39 , kBluetooth = 40 , kGpio = 41 , kRdma = 42 } |
| Virtio 设备 ID 定义 More... | |
| enum class | ReservedFeature : uint64_t { kIndirectDesc = 0x10000000 , kEventIdx = 0x20000000 , kVersion1 = 0x100000000 , kAccessPlatform = 0x200000000 , kRingPacked = 0x400000000 , kInOrder = 0x800000000 , kOrderPlatform = 0x1000000000 , kSrIov = 0x2000000000 , kNotificationData = 0x4000000000 , kNotifConfigData = 0x8000000000 , kRingReset = 0x10000000000 } |
| 保留特性位定义 (Reserved Feature Bits) More... | |
| enum class | InterruptStatus : uint32_t { kUsedBuffer = 0x01 , kConfigChange = 0x02 } |
| MMIO 中断状态位 More... | |
Functions | |
| constexpr auto | AlignUp (size_t value, size_t align) -> size_t |
| 将值向上对齐到指定边界 | |
| constexpr auto | IsPowerOfTwo (size_t value) -> bool |
| 检查值是否为 2 的幂 | |
Variables | |
| static constexpr uint32_t | kMmioMagicValue = 0x74726976 |
| MMIO 魔数: little-endian "virt" = 0x74726976. | |
| static constexpr uint32_t | kMmioVersionModern = 0x02 |
| Modern VirtIO MMIO 版本号(VirtIO 1.0+) | |
|
strong |
Virtio 设备 ID 定义
Definition at line 15 of file defs.h.
|
strong |
MMIO 中断状态位
| Enumerator | |
|---|---|
| kUsedBuffer | 设备在至少一个活动虚拟队列中使用了缓冲区 Used Buffer Notification |
| kConfigChange | 设备配置已更改 Configuration Change Notification |
|
strong |
保留特性位定义 (Reserved Feature Bits)
Definition at line 62 of file defs.h.
|
constexpr |
|
constexpr |
|
staticconstexpr |