SimpleKernel 1.17.0
Loading...
Searching...
No Matches
virtio::blk::VirtioBlk< TransportT, VirtqueueT >::RequestSlot Struct Reference

异步请求上下文槽 More...

Collaboration diagram for virtio::blk::VirtioBlk< TransportT, VirtqueueT >::RequestSlot:
Collaboration graph

Public Attributes

BlkReqHeader header
 请求头(DMA 可访问,设备只读)
 
volatile uint8_t status
 状态字节(DMA 可访问,设备只写)
 
UserData token
 用户自定义上下文指针
 
uint16_t desc_head
 描述符链头索引(用于在 Used Ring 中匹配)
 

Detailed Description

template<typename TransportT = MmioTransport, typename VirtqueueT = SplitVirtqueue>
struct virtio::blk::VirtioBlk< TransportT, VirtqueueT >::RequestSlot

异步请求上下文槽

每个 in-flight 请求占用一个槽,存储请求头(DMA可访问)、 状态字节(设备回写)、用户 token 和描述符链头索引。 槽的占用状态由 slot_bitmap_ 管理。

Definition at line 523 of file virtio_blk.hpp.

Member Data Documentation

◆ desc_head

template<typename TransportT = MmioTransport, typename VirtqueueT = SplitVirtqueue>
uint16_t virtio::blk::VirtioBlk< TransportT, VirtqueueT >::RequestSlot::desc_head

描述符链头索引(用于在 Used Ring 中匹配)

Definition at line 531 of file virtio_blk.hpp.

◆ header

template<typename TransportT = MmioTransport, typename VirtqueueT = SplitVirtqueue>
BlkReqHeader virtio::blk::VirtioBlk< TransportT, VirtqueueT >::RequestSlot::header

请求头(DMA 可访问,设备只读)

Definition at line 525 of file virtio_blk.hpp.

◆ status

template<typename TransportT = MmioTransport, typename VirtqueueT = SplitVirtqueue>
volatile uint8_t virtio::blk::VirtioBlk< TransportT, VirtqueueT >::RequestSlot::status

状态字节(DMA 可访问,设备只写)

Definition at line 527 of file virtio_blk.hpp.

◆ token

template<typename TransportT = MmioTransport, typename VirtqueueT = SplitVirtqueue>
UserData virtio::blk::VirtioBlk< TransportT, VirtqueueT >::RequestSlot::token

用户自定义上下文指针

Definition at line 529 of file virtio_blk.hpp.


The documentation for this struct was generated from the following file: