1. 02 12月, 2010 2 次提交
    • S
      xen: fix MSI setup and teardown for PV on HVM guests · af42b8d1
      Stefano Stabellini 提交于
      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: NStefano Stabellini <stefano.stabellini@eu.citrix.com>
      af42b8d1
    • S
      xen: use PHYSDEVOP_get_free_pirq to implement find_unbound_pirq · e5fc7345
      Stefano Stabellini 提交于
      Use the new hypercall PHYSDEVOP_get_free_pirq to ask Xen to allocate a
      pirq. Remove the unsupported PHYSDEVOP_get_nr_pirqs hypercall to get the
      amount of pirq available.
      
      This fixes find_unbound_pirq that otherwise would return a number
      starting from nr_irqs that might very well be out of range in Xen.
      
      The symptom of this bug is that when you passthrough an MSI capable pci
      device to a PV on HVM guest, Linux would fail to enable MSIs on the
      device.
      Signed-off-by: NStefano Stabellini <stefano.stabellini@eu.citrix.com>
      e5fc7345
  2. 30 11月, 2010 3 次提交
  3. 29 11月, 2010 7 次提交
  4. 25 11月, 2010 15 次提交
  5. 24 11月, 2010 13 次提交