On Mon, Jan 30, 2012 at 01:55:55PM +0000, julian.pidancet@gmail.com wrote:
From: Julian Pidancet julian.pidancet@citrix.com
Some Intel VGA option ROMs require some 155f hooks implemented in the BIOS.
Signed-off-by: Julian Pidancet julian.pidancet@citrix.com
src/vgahooks.c | 20 +++++++++++++++++++- 1 files changed, 19 insertions(+), 1 deletions(-)
diff --git a/src/vgahooks.c b/src/vgahooks.c index a8f667c..ca12e31 100644 --- a/src/vgahooks.c +++ b/src/vgahooks.c @@ -11,6 +11,7 @@ #include "pci_ids.h" // PCI_VENDOR_ID_VIA #include "util.h" // handle_155f #include "config.h" // CONFIG_* +#include "xen.h" // usingXen
#define VH_VIA 1 #define VH_INTEL 2 @@ -228,6 +229,15 @@ getac_setup(struct pci_device *pci) { }
+static void +xen_vgapt_setup(struct pci_device *pci) +{
- if (pci->vendor == 0x8086 && pci->class == 0x300) {
VGAHookHandlerType = VH_INTEL;
IntelDisplayType = BOOT_DISPLAY_DEFAULT;
IntelDisplayId = 3;
- }
+}
/****************************************************************
- Entry and setup
@@ -254,7 +264,15 @@ handle_155f(struct bregs *regs) void vgahook_setup(struct pci_device *pci) {
- if (!CONFIG_VGAHOOKS || !CBvendor || !CBpart)
- if (!CONFIG_VGAHOOKS)
return;
- if (usingXen()) {
xen_vgapt_setup(pci);
return;
- }
- if (!CBvendor || !CBpart) return;
Is Xen passthrough special, or will the same thing occur on KVM passthrough? If the 155f hooks are needed on Intel VGA cards, I wouldn't tie it to Xen - we can just turn it on by default and enable it if the VGA card is recognized as Intel based.
-Kevin