From: Julian Pidancet <[email protected]> Some Intel VGA option ROMs require some 155f hooks implemented in the BIOS.
Signed-off-by: Julian Pidancet <[email protected]> --- 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; if (strcmp(CBvendor, "KONTRON") == 0 && strcmp(CBpart, "986LCD-M") == 0) -- Julian Pidancet _______________________________________________ SeaBIOS mailing list [email protected] http://www.seabios.org/mailman/listinfo/seabios
