前置文档
数据结构
qemu中结构体大致上和 kernel中的结构体是有一个对应的
PCIDevice == ehci_hcd
EHCIState::caps == ehci_hcd::ehci_caps
EHCIState::mem_caps 响应 guest对ehci_hcd::ehci_caps的读写处理
EHCIState::opreg == ehci_hcd::ehci_regs
EHCIState::mem_opreg响应 guest对ehci_hcd::ehci_regs的读写处理
状态跳转
寄存器命令
EHCIState::opreg::usbcmd
1 | // file hw/usb/ehci-regs.h |
- 寄存器 对应kernel中 ehci_hcd::regs::command字段
- 在 EHCIState::mem_caps::read(即ehci_opreg_write) 函数中被处理
1 | static const MemoryRegionOps ehci_mmio_caps_ops = { |
- 本文作者: crazyboy
- 本文链接: http://crazyboy.www.crazyboy.info/blog/blog/2022/07/04/it/linux/qemu/usb/ehci/ehci/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!