]> xenbits.xen.org Git - xenclient/ioemu-pq.git/commitdiff
Gave myself a dope slap and fixed disabling msi capabilities the right way.
authorKamala Narasimhan <kamala.narasimhan@citrix.com>
Mon, 14 Dec 2009 17:30:58 +0000 (12:30 -0500)
committerKamala Narasimhan <kamala.narasimhan@citrix.com>
Mon, 14 Dec 2009 17:30:58 +0000 (12:30 -0500)
Yank the msi capability from the capabilities chain and not the pm capability in the pci space for iGfx.

master/hide-msi-capability-for-igfx

index 3ffbe43a86154c94dfd844ee36bb98f5628d6464..d43fdf564417fd24b542743241c7f58f6e18d371 100644 (file)
@@ -1,14 +1,20 @@
 diff --git a/hw/pci.c b/hw/pci.c
-index ec8b0c4..5a65d4c 100644
+index ec8b0c4..0453f8c 100644
 --- a/hw/pci.c
 +++ b/hw/pci.c
-@@ -636,7 +636,8 @@ uint32_t pci_data_read(void *opaque, uint32_t addr, int len)
+@@ -635,9 +635,12 @@ uint32_t pci_data_read(void *opaque, uint32_t addr, int len)
+         if (config_addr == 0xa0 && len == 2)
                val = pt_pci_host_read_word(0, 0, 0, 0xa0);
      }
-     else if (vga_passthrough && pci_dev->devfn == 0x10 && // intel graphic card
+-    else if (vga_passthrough && pci_dev->devfn == 0x10 && // intel graphic card
 -          config_addr == 0xfc) // OpRegion address
-+          ( config_addr == 0xfc /* OpRegion address */ ||
-+              config_addr == 0x90 /*temporarily disable msi capabilities for iGfx*/ ))
-       val = 0; // force to fall back to SMI mode
+-      val = 0; // force to fall back to SMI mode
++    /* intel graphic card and OpRegion address */
++    else if ( vga_passthrough && pci_dev->devfn == 0x10 && config_addr == 0xfc ) 
++          val = 0; // force to fall back to SMI mode
++    /* For intel graphics card, temporarily disable msi capabilities for iGfx */
++    else if ( vga_passthrough && pci_dev->devfn == 0x10 && config_addr == 0x34 )
++            val = 0xd0; /* skip msi and chain right to power management capabilities register */
      else
        val = pci_dev->config_read(pci_dev, config_addr, len);
+ #if defined(DEBUG_PCI)