02 Dec, 2010

1 commit

  • When remapping MSIs into pirqs for PV on HVM guests, qemu is responsible
    for doing the actual mapping and unmapping.
    We only give qemu the desired pirq number when we ask to do the mapping
    the first time, after that we should be reading back the pirq number
    from qemu every time we want to re-enable the MSI.

    This fixes a bug in xen_hvm_setup_msi_irqs that manifests itself when
    trying to enable the same MSI for the second time: the old MSI to pirq
    mapping is still valid at this point but xen_hvm_setup_msi_irqs would
    try to assign a new pirq anyway.
    A simple way to reproduce this bug is to assign an MSI capable network
    card to a PV on HVM guest, if the user brings down the corresponding
    ethernet interface and up again, Linux would fail to enable MSIs on the
    device.

    Signed-off-by: Stefano Stabellini

    Stefano Stabellini
     

09 Nov, 2010

1 commit

  • Stanse found that xen_setup_msi_irqs leaks memory when
    xen_allocate_pirq fails. Free the memory in that fail path.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Konrad Rzeszutek Wilk
    Cc: xen-devel@lists.xensource.com
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: x86@kernel.org

    Jiri Slaby
     

23 Oct, 2010

7 commits


21 Oct, 2010

1 commit

  • This looks to be vestigial dependency that had never been used even
    in the original code base (2.6.18) from which this driver
    was up-ported. Without this fix, with the CONFIG_ISAPNP, we get this
    compile failure:

    arch/x86/pci/xen.c: In function 'pci_xen_init':
    arch/x86/pci/xen.c:138: error: 'isapnp_disable' undeclared (first use in this function)
    arch/x86/pci/xen.c:138: error: (Each undeclared identifier is reported only once
    arch/x86/pci/xen.c:138: error: for each function it appears in.)

    Reported-by: Li Zefan
    Tested-by: Li Zefan
    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     

18 Oct, 2010

1 commit

  • The frontend stub lives in arch/x86/pci/xen.c, alongside other
    sub-arch PCI init code (e.g. olpc.c).

    It provides a mechanism for Xen PCI frontend to setup/destroy
    legacy interrupts, MSI/MSI-X, and PCI configuration operations.

    [ Impact: add core of Xen PCI support ]
    [ v2: Removed the IOMMU code and only focusing on PCI.]
    [ v3: removed usage of pci_scan_all_fns as that does not exist]
    [ v4: introduced pci_xen value to fix compile warnings]
    [ v5: squished fixes+features in one patch, changed Reviewed-by to Ccs]
    [ v7: added Acked-by]
    Signed-off-by: Alex Nixon
    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Ian Campbell
    Signed-off-by: Konrad Rzeszutek Wilk
    Signed-off-by: Stefano Stabellini
    Acked-by: Jesse Barnes
    Cc: "H. Peter Anvin"
    Cc: Matthew Wilcox
    Cc: Qing He
    Cc: Thomas Gleixner
    Cc: x86@kernel.org

    Alex Nixon