Hi! i wanted to test these patches against http://xenbits.xensource.com/xen-unstable.hg but it seems to check out an outdated version of upstream-qemu, even with "QEMU=upstream".
Where can i check out the qemu-upstream version to which these patches apply? Thanks and Greetings Tobias Am Freitag, 17. Februar 2012, 18:08:34 schrieb Anthony PERARD: > Hi all, > > This patch series introduces the PCI passthrough for Xen. > > First, we have HostPCIDevice that help to access one PCI device of the > host. > > Then, there is an additions in the QEMU code, pci_check_bar_overlap. > > There are also several change in pci_ids and pci_regs. > > Last part, but not least, the PCI passthrough device himself. Cut in 3 > parts (or file), there is one to take care of the initialisation of a > passthrough device. The second one handle everything about the config > address space, there are specifics functions for every config register. > The third one is to handle MSI. > > There is a patch series on xen-devel (applied to xen-unstable) that add the > support of setting a PCI passthrough device through QMP from libxl (xen > tool stack). It is just a call to device_add, with the driver parametter > hostaddr="0000:07:00.1". > > > Change since the previous set: > - few fix and rebased on master > - remove of the power management capability, keep the minimum like if it > is always desactivated. > - new patch: port of patch from the qemu-xen fork. > > > Change v5-v6: > - msitraslate code have been removed. > - code for the power management capability is removed, but will be > re-added for the next version of the patch series as a separate patch. > > - new patch to remove a check in pci_parse_devaddr. > - use pci_default_config_write, so no more hack to handle the BAR mapping > in QEMU. > - improve the code in general (a bit more comprehensible). > - update to QOM. > > > Change v4-v5: > - return -errno if there is an error in host_pci_get_* > - rename internal function get_value to get_hex_value (and return the > same error value has get_resource) > > Change v3-v4: > - host_pci_get_* can now return an error, and take an extra parameter, a > pointer to store the wanted value. > - The memory_region for the PCI BAR are handled "manualy" because calling > pci_default_write_config was not possible, because the XenPT handle the > PCIIORegion it self. This make possible to do a device_remove. > - Introduction of PT_ERR and PT_WARN macro to print debug and error > messages. Also, these macro as well as PT_LOG will always print the short > BDF of the device in the guest point of view. > - PT_ERR is print by default (for all error messages). > - Some debug/error message have been improve and should be a bit more > useful. - hw_error have been removed from the code, and have been replaced > by either a call to qemu_system_shudown_request() (that lead to a domain > destroy) or a failed in the initialisation of the device. > - Now, every patchs should compile with no error. > > Change v2-v3; > - in host-pci-device.c: > - Return more usefull error code in get_ressource(). > - Use macro in host_pci_find_ext_cap_offset instead of raw number. But > I still not sure if PCI_MAX_EXT_CAP is right, it's result is 480 like it > was before, so it's maybe ok. > - All use of MSI stuff in two first pci passthrough patch have been > removed and move to the last patch. > > Change v1-v2: > - fix style issue (checkpatch.pl) > - set the original authors, add some missing copyright headers > - HostPCIDevice: > - introduce HostPCIIORegions (with base_addr, size, flags) > - save all flags from ./resource and store it in a separate field. > - fix endianess on write > - new host_pci_dev_put function > - use pci.c like interface host_pci_get/set_byte/word/long (instead of > host_pci_read/write_) > - compile HostPCIDevice only on linux (as well as xen_pci_passthrough) > - introduce apic-msidef.h file. > - no more run_one_timer, if a pci device is in the middle of a power > transition, just "return an error" in config read/write > - use a global var mapped_machine_irq (local to xen_pci_passthrough.c) > - add msitranslate and power-mgmt ad qdev property > > > > > > Allen Kay (2): > Introduce Xen PCI Passthrough, qdevice (1/3) > Introduce Xen PCI Passthrough, PCI config space helpers (2/3) > > Anthony PERARD (6): > pci_ids: Add INTEL_82599_VF id. > pci_regs: Fix value of PCI_EXP_TYPE_RC_EC. > pci_regs: Add PCI_EXP_TYPE_PCIE_BRIDGE > configure: Introduce --enable-xen-pci-passthrough. > Introduce HostPCIDevice to access a pci device on the host. > Introduce apic-msidef.h > > Jiang Yunhong (1): > Introduce Xen PCI Passthrough, MSI (3/3) > > Shan Haitao (1): > xen passthrough: clean up MSI-X table handling > > Yuji Shimada (1): > pci.c: Add pci_check_bar_overlap > > Makefile.target | 6 + > configure | 25 + > hw/apic-msidef.h | 30 + > hw/apic.c | 11 +- > hw/host-pci-device.c | 278 +++++ > hw/host-pci-device.h | 75 ++ > hw/pci.c | 47 + > hw/pci.h | 3 + > hw/pci_ids.h | 1 + > hw/pci_regs.h | 3 +- > hw/xen_common.h | 3 + > hw/xen_pci_passthrough.c | 898 ++++++++++++++++ > hw/xen_pci_passthrough.h | 308 ++++++ > hw/xen_pci_passthrough_config_init.c | 1914 > ++++++++++++++++++++++++++++++++++ hw/xen_pci_passthrough_msi.c | > 618 +++++++++++ > xen-all.c | 12 + > 16 files changed, 4221 insertions(+), 11 deletions(-) > create mode 100644 hw/apic-msidef.h > create mode 100644 hw/host-pci-device.c > create mode 100644 hw/host-pci-device.h > create mode 100644 hw/xen_pci_passthrough.c > create mode 100644 hw/xen_pci_passthrough.h > create mode 100644 hw/xen_pci_passthrough_config_init.c > create mode 100644 hw/xen_pci_passthrough_msi.c