Usb QEMU PCI内存映射I/O
我试图理解USB PCI MMIO,我使用QEMU作为游戏平台 以下设备位于我的虚拟机上Usb QEMU PCI内存映射I/O,usb,qemu,pci,Usb,Qemu,Pci,我试图理解USB PCI MMIO,我使用QEMU作为游戏平台 以下设备位于我的虚拟机上 00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03) (prog-if 00 [UHCI]) Subsystem: Red Hat, Inc. QEMU Virtual Machine Flags: bus master, fast devsel, late
00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03) (prog-if 00 [UHCI])
Subsystem: Red Hat, Inc. QEMU Virtual Machine
Flags: bus master, fast devsel, latency 0, IRQ 16
I/O ports at c0a0 [size=32]
Kernel driver in use: uhci_hcd
00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03) (prog-if 00 [UHCI])
Subsystem: Red Hat, Inc. QEMU Virtual Machine
Flags: bus master, fast devsel, latency 0, IRQ 17
I/O ports at c0c0 [size=32]
Kernel driver in use: uhci_hcd
00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03) (prog-if 00 [UHCI])
Subsystem: Red Hat, Inc. QEMU Virtual Machine
Flags: bus master, fast devsel, latency 0, IRQ 18
I/O ports at c0e0 [size=32]
Kernel driver in use: uhci_hcd
00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03) (prog-if 20 [EHCI])
Subsystem: Red Hat, Inc. QEMU Virtual Machine
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at fc072000 (32-bit, non-prefetchable) [size=4K]
Kernel driver in use: ehci-pci
以及以下代码
int fd = open("/sys/devices/pci0000:00/0000:00:1d.7/resource0", O_RDWR | O_SYNC);
int mmio = mmap(0, 0x100, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
iopl(3);
outl(0, 0xc0a0);
如果我不包括outl(0,0xc0a0)代码>似乎对MMIO地址空间的任何写入都不会触发任何事件
希望尝试并理解outl(0,0xc0a0)的确切含义代码>实现。outl()
写入数据。在您的代码中,除了outl()
如果您想了解更多关于outl
的内部信息,请使用gdb并对其进行反汇编
outl()
写入数据。在您的代码中,除了outl()
如果您想了解更多关于outl
的内部信息,请使用gdb并对其进行反汇编