nvme format的时候4.19 nvme驱动底层如何调用函数的
时间: 2023-08-07 13:45:08 浏览: 144
函数指针的按键底层驱动
在4.19版本的Linux内核中,NVMe驱动底层调用函数的流程如下:
1. 当用户调用nvme format命令时,驱动会接收到该命令并根据传入的参数构建一个nvme命令描述符。
2. 驱动会将该命令描述符填充到一个IO队列的SQ Entry中,并通过Doorbell寄存器通知NVMe设备处理该命令。
3. NVMe设备收到Doorbell寄存器的通知后,会从对应的IO队列中取出SQ Entry并进行命令处理。
4. 在命令处理过程中,NVMe设备会根据命令描述符中的信息调用相应的函数进行格式化操作。
5. 格式化操作完成后,NVMe设备会将操作结果写回到CQ Entry中,并通过Doorbell寄存器通知驱动。
6. 驱动收到Doorbell寄存器的通知后,会从对应的IO队列中取出CQ Entry并解析操作结果。
7. 驱动将操作结果返回给用户,完成nvme format命令的处理。
总的来说,NVMe驱动底层通过构建命令描述符、操作Doorbell寄存器、解析CQ Entry等方式与NVMe设备进行交互,并通过调用相应的函数实现格式化操作。
阅读全文