femu相关控制参数和数据成员 更多...
#include <nvme.h>

Public 成员函数 | |
| QTAILQ_HEAD (, NvmeZone) exp_open_zones | |
| QTAILQ_HEAD (, NvmeZone) imp_open_zones | |
| QTAILQ_HEAD (, NvmeZone) closed_zones | |
| QTAILQ_HEAD (, NvmeZone) full_zones | |
| QSIMPLEQ_HEAD (aer_queue, NvmeAsyncEvent) aer_queue | |
femu相关控制参数和数据成员
| FemuCtrl::QSIMPLEQ_HEAD | ( | aer_queue | , | 
| NvmeAsyncEvent | |||
| ) | 
| FemuCtrl::QTAILQ_HEAD | ( | NvmeZone | ) | 
| FemuCtrl::QTAILQ_HEAD | ( | NvmeZone | ) | 
| FemuCtrl::QTAILQ_HEAD | ( | NvmeZone | ) | 
| FemuCtrl::QTAILQ_HEAD | ( | NvmeZone | ) | 
| uint8_t FemuCtrl::acl | 
| NvmeCQueue FemuCtrl::admin_cq | 
cq队列(admin)
| NvmeSQueue FemuCtrl::admin_sq | 
sq队列(admin)
| uint8_t FemuCtrl::aer_mask | 
| NvmeRequest** FemuCtrl::aer_reqs | 
| QEMUTimer* FemuCtrl::aer_timer | 
| uint8_t FemuCtrl::aerl | 
| NvmeBar FemuCtrl::bar | 
| int64_t FemuCtrl::blk_er_lat_ns | 
| pthread_spinlock_t FemuCtrl::chip_locks[FEMU_MAX_NUM_CHIPS] | 
| volatile int64_t FemuCtrl::chip_next_avail_time[FEMU_MAX_NUM_CHIPS] | 
| pthread_spinlock_t FemuCtrl::chnl_locks[FEMU_MAX_NUM_CHNLS] | 
| volatile int64_t FemuCtrl::chnl_next_avail_time[FEMU_MAX_NUM_CHNLS] | 
| int64_t FemuCtrl::chnl_pg_xfer_lat_ns | 
| int64_t FemuCtrl::clpg_rd_lat_ns | 
center-lower page in QLC
| int64_t FemuCtrl::clpg_wr_lat_ns | 
| uint32_t FemuCtrl::cmbloc | 
| uint32_t FemuCtrl::cmbsz | 
| uint8_t* FemuCtrl::cmbuf | 
| int FemuCtrl::completed | 
| int64_t FemuCtrl::cpg_rd_lat_ns | 
center page in TLC
| int64_t FemuCtrl::cpg_wr_lat_ns | 
| NvmeCQueue** FemuCtrl::cq | 
cq队列列表(io)
| uint16_t FemuCtrl::cqe_size | 
| uint8_t FemuCtrl::cqes_pending | 
| uint8_t FemuCtrl::cqr | 
| bool FemuCtrl::cross_zone_read | 
| uint8_t FemuCtrl::csi | 
| MemoryRegion FemuCtrl::ctrl_mem | 
| int64_t FemuCtrl::cupg_rd_lat_ns | 
center-upper page in QLC
| int64_t FemuCtrl::cupg_wr_lat_ns | 
| bool FemuCtrl::dataplane_started | 
| uint8_t FemuCtrl::db_stride | 
| uint64_t FemuCtrl::dbs_addr | 
| uint64_t FemuCtrl::dbs_addr_hva | 
| char FemuCtrl::devname[64] | 
| uint16_t FemuCtrl::did | 
| uint8_t FemuCtrl::dlfeat | 
| uint8_t FemuCtrl::dpc | 
| uint8_t FemuCtrl::dps | 
| uint64_t FemuCtrl::eis_addr | 
| uint64_t FemuCtrl::eis_addr_hva | 
| uint8_t FemuCtrl::elp_index | 
| uint8_t FemuCtrl::elpe | 
| NvmeErrorLog* FemuCtrl::elpes | 
| uint8_t FemuCtrl::error_count | 
| FemuExtCtrlOps FemuCtrl::ext_ops | 
nvme到各模式ssd接口
| uint8_t FemuCtrl::extended | 
| NvmeFeatureVal FemuCtrl::features | 
| uint8_t FemuCtrl::femu_mode | 
| uint8_t FemuCtrl::flash_type | 
Nand Flash Type: SLC/MLC/TLC/QLC/PLC
| NvmeIdCtrl FemuCtrl::id_ctrl | 
| NvmeIdNsZoned* FemuCtrl::id_ns_zoned | 
| uint8_t FemuCtrl::intc | 
| uint8_t FemuCtrl::intc_thresh | 
| uint8_t FemuCtrl::intc_time | 
| const uint32_t* FemuCtrl::iocs | 
| MemoryRegion FemuCtrl::iomem | 
| uint8_t FemuCtrl::lba_index | 
| int64_t FemuCtrl::lpg_rd_lat_ns | 
lower page in MLC/TLC/QLC
| int64_t FemuCtrl::lpg_wr_lat_ns | 
| uint8_t FemuCtrl::lver | 
femu模式,包括blackbox,ocssd,...
| uint32_t FemuCtrl::max_active_zones | 
| uint8_t FemuCtrl::max_cqes | 
| uint32_t FemuCtrl::max_open_zones | 
| uint16_t FemuCtrl::max_prp_ents | 
| uint32_t FemuCtrl::max_q_ents | 
| uint8_t FemuCtrl::max_sqes | 
| SsdDramBackend* FemuCtrl::mbe | 
femu后端内存(实际数据)
| uint8_t FemuCtrl::mc | 
| uint8_t FemuCtrl::mdts | 
| uint32_t FemuCtrl::memsz | 
| uint8_t FemuCtrl::meta | 
| uint8_t FemuCtrl::mpsmax | 
| uint8_t FemuCtrl::mpsmin | 
| uint8_t FemuCtrl::ms | 
| uint8_t FemuCtrl::ms_max | 
| uint8_t FemuCtrl::multipoller_enabled | 
是否创建多个nvme poller
| NvmeNamespace* FemuCtrl::namespaces | 
| uint8_t FemuCtrl::nlbaf | 
| int32_t FemuCtrl::nr_active_zones | 
| int32_t FemuCtrl::nr_open_zones | 
| int64_t FemuCtrl::nr_tt_ios | 
总io数量
| int64_t FemuCtrl::nr_tt_late_ios | 
没有按预计时延(超时)返回的io数量
| uint64_t FemuCtrl::ns_size | 
| uint8_t FemuCtrl::num_errors | 
| uint32_t FemuCtrl::num_io_queues | 
sq(cq)个数
| uint32_t FemuCtrl::num_namespaces | 
| uint32_t FemuCtrl::num_poller | 
nvme poller个数(前提是multupoller_enabled开启)
| uint32_t FemuCtrl::num_zones | 
| uint16_t FemuCtrl::oacs | 
| Oc12Ctrl* FemuCtrl::oc12_ctrl | 
| OcCtrlParams FemuCtrl::oc_params | 
| uint16_t FemuCtrl::oncs | 
| uint8_t FemuCtrl::outstanding_aers | 
| uint16_t FemuCtrl::page_bits | 
| uint16_t FemuCtrl::page_size | 
| NvmeParams FemuCtrl::params | 
| PCIDevice FemuCtrl::parent_obj | 
| QemuThread* FemuCtrl::poller | 
| bool FemuCtrl::poller_on | 
| pqueue_t** FemuCtrl::pq | 
pqueue,暂存req的队列
| bool FemuCtrl::print_log | 
| uint32_t FemuCtrl::reg_size | 
| char* FemuCtrl::serial | 
| bool* FemuCtrl::should_isr | 
是否中断通知上层来取cq
| NvmeSQueue** FemuCtrl::sq | 
sq队列列表(io)
| uint16_t FemuCtrl::sqe_size | 
| struct ssd* FemuCtrl::ssd | 
指向模拟的ssd
| time_t FemuCtrl::start_time | 
| uint8_t FemuCtrl::temp_warn_issued | 
| uint16_t FemuCtrl::temperature | 
| struct rte_ring** FemuCtrl::to_ftl | 
生产者:nvme poller;消费者:ftl
| struct rte_ring** FemuCtrl::to_poller | 
生产者:ftl;消费者:nvme poller
| int64_t FemuCtrl::upg_rd_lat_ns | 
upper page in MLC/TLC/QLC
| int64_t FemuCtrl::upg_wr_lat_ns | 
| QemuUUID FemuCtrl::uuid | 
| bool FemuCtrl::vector_poll_started | 
| uint16_t FemuCtrl::vid | 
| uint8_t FemuCtrl::vwc | 
| uint8_t FemuCtrl::zasl | 
| uint32_t FemuCtrl::zasl_bs | 
| uint32_t FemuCtrl::zd_extension_size | 
| uint8_t* FemuCtrl::zd_extensions | 
| NvmeZone* FemuCtrl::zone_array | 
| bool FemuCtrl::zone_cap_bs | 
| uint64_t FemuCtrl::zone_capacity | 
| uint64_t FemuCtrl::zone_size | 
| uint64_t FemuCtrl::zone_size_bs | 
| uint32_t FemuCtrl::zone_size_log2 | 
| bool FemuCtrl::zoned |