FEMU  原版 master 7e238cc
FEMU: Accurate, Scalable and Extensible NVMe SSD Emulator (FAST'18)
NvmeSQueue结构体 参考

#include <nvme.h>

NvmeSQueue 的协作图:

Public 成员函数

 QTAILQ_HEAD (sq_req_list, NvmeRequest) req_list
 存放req 更多...
 
 QTAILQ_HEAD (out_req_list, NvmeRequest) out_req_list
 
 QTAILQ_ENTRY (NvmeSQueue) entry
 

成员变量

struct FemuCtrlctrl
 
uint8_t phys_contig
 在mbe中的地址是否连续 更多...
 
uint8_t arb_burst
 
uint16_t sqid
 
uint16_t cqid
 
uint32_t head
 
uint32_t tail
 
uint32_t size
 
uint64_t dma_addr
 数据在dram中地址 更多...
 
uint64_t dma_addr_hva
 
uint64_t completed
 已完成req数量 更多...
 
uint64_t * prp_list
 
NvmeRequestio_req
 
uint64_t db_addr
 
uint64_t db_addr_hva
 
uint64_t eventidx_addr
 
uint64_t eventidx_addr_hva
 
bool is_active
 

成员函数说明

◆ QTAILQ_ENTRY()

NvmeSQueue::QTAILQ_ENTRY ( NvmeSQueue  )

◆ QTAILQ_HEAD() [1/2]

NvmeSQueue::QTAILQ_HEAD ( out_req_list  ,
NvmeRequest   
)

◆ QTAILQ_HEAD() [2/2]

NvmeSQueue::QTAILQ_HEAD ( sq_req_list  ,
NvmeRequest   
)

存放req

结构体成员变量说明

◆ arb_burst

uint8_t NvmeSQueue::arb_burst

◆ completed

uint64_t NvmeSQueue::completed

已完成req数量

◆ cqid

uint16_t NvmeSQueue::cqid

◆ ctrl

struct FemuCtrl* NvmeSQueue::ctrl

◆ db_addr

uint64_t NvmeSQueue::db_addr

◆ db_addr_hva

uint64_t NvmeSQueue::db_addr_hva

◆ dma_addr

uint64_t NvmeSQueue::dma_addr

数据在dram中地址

◆ dma_addr_hva

uint64_t NvmeSQueue::dma_addr_hva

◆ eventidx_addr

uint64_t NvmeSQueue::eventidx_addr

◆ eventidx_addr_hva

uint64_t NvmeSQueue::eventidx_addr_hva

◆ head

uint32_t NvmeSQueue::head

◆ io_req

NvmeRequest* NvmeSQueue::io_req

◆ is_active

bool NvmeSQueue::is_active

◆ phys_contig

uint8_t NvmeSQueue::phys_contig

在mbe中的地址是否连续

◆ prp_list

uint64_t* NvmeSQueue::prp_list

◆ size

uint32_t NvmeSQueue::size

◆ sqid

uint16_t NvmeSQueue::sqid

◆ tail

uint32_t NvmeSQueue::tail

该结构体的文档由以下文件生成: