The PCI Firmware Specification apparently requires that the PCI Data Structure be DWORD-aligned. The implementation in OVMF also requires this, so vgabios ROMs don't work there. With this fixed, I can now initialise the VGA ROM from EFI, and EFI can display using INT 10h services.
--- vgabios-0.6c/vgabios.c.orig 2013-01-20 11:33:36.138548472 -0600 +++ vgabios-0.6c/vgabios.c 2013-01-20 11:36:26.060270163 -0600 @@ -204,6 +204,7 @@ vgabios_website: .byte 0x00 #ifdef PCIBIOS +.align 4 // DWORD alignment required by PCI Firmware Specification vgabios_pci_data: .ascii "PCIR" #ifdef CIRRUS -- David Woodhouse Open Source Technology Centre david.woodho...@intel.com Intel Corporation
smime.p7s
Description: S/MIME cryptographic signature