host pci_bus vck xnvmetc_dev_irq_handler TCQDMA MAPP 配置host PCI 为Master 为device 申请中断 1 读取CAP 的信息 并将CAP 上的所有信息赋值给dev 结构体 2 par [config_host_pci] host 等待vck控制器的CSTS.RD 变成0 3 配置admain Queue的属性 ASQ ACQ 队列基地址 4 配置CC.AMS[仲裁机制] CC.MPS[内存页大小]CC.CSS[I/O命令选择] 5 启用控制器 设置CC.EN 为 1 6 XNVME_TC_INT_CTRLR_EN_STS 7 从nvme_ctrl_regs_base + NVME_REG_ACQ/ASQ 获取地址 8 xnvmetc_dev->>ops->>xnvmetc_init_mapper_regs() 9 设置ready bit 位 10 等待控制器准备就绪[CSTS.RD =1 ] 11 发送identify 识别命令 12 XNVME_TC_INT_NEW_ADMIN_CMD_STS 13 queue_work(xnvmetc_wq, &xnvmetc_dev->>process_new_admin_cmd_work) 14 host 得到identify 数据 初始化host Namespace 的identify 的数据 15 par 使用setfeature 命令 设置host mem 数量 16 设置 io q 的数量 创建IO CQ/SQ 并设置中断 17 用setfeature 命令 设置异步通知事件 18 par tag IO queue request操作函数 19 设置异步通知setfeature 20 par 调度scan_work 21 scan_work Identify NS 22 par host pci_bus vck xnvmetc_dev_irq_handler TCQDMA MAPP