[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] How does vmm get all mmio areas of pci devices?
Hi, any one help? I have puzzled by the question of device's MMIO areas. I know a MMIO operation of guest os handled by VMM as follow steps: 1: Qemu-dm does its initialization and presents virtual devices for guest os. 2: virtual bios executes PCI_setup, it will scan the pci bus and get configure space of all devices,then virtual bios allocation system resources(like port I/O range,MMIO range, interrupt) for device. 3: I think in this step vmm will get all mmio range that in step 2, then vmm will set ept entry which can cause ept violation when guest os attemp to access corresponding MMIO ares. 4: In ept violation exit, vmm will pass mmio operation to qemu-dm. 5: Qemu-dm do mmio operation with its callback functions, if qemu-dm could not find (or register) callback function for some MMIO ares(for example, in DMA write process ,the targe physical address is not stationary but determined by guest os's driver,then when qemu-dm find no callback for DMA target address, it will pass the content of write operation to vmm by default, vmm then pass the result into the space of guest os). what I want to know is step2 and step5: In step2, how does vmm get all mmio areas of devices? and how vmm set ept entry with these mmio areas ? In setp5, is it ture for DMA operatin I described? and when qemu-dm find no callback function for some MMIO area, what it will do? Thanks for your help. -- View this message in context: http://xen.1045712.n5.nabble.com/How-does-vmm-get-all-mmio-areas-of-pci-devices-tp5037367p5037367.html Sent from the Xen - Dev mailing list archive at Nabble.com. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |