This patch set contain ground work for a working VBE implementation.
It adds several things: * A configuration menu in seabios Kconfig * The ability to generate a PCI ROM * PMM facilities that the ROM can use to allocate memory * A skeleton driver to implement the VBE interface
As a bonus, it fixes an issue when real-mode VGA ROM code is emulated by Windows 7, and is unable to cope with code generated with the -fomit-frame-pointer option.
It should make pretty easy to implement the BOCHS DISPI interface.
Also, I use these patchs to implement VBE for an experimental gfx device emulation. So far I managed to get Windows 7 to boot and show up a 1280x1024 desktop.
Julian Pidancet (7): Only use -fomit-frame-pointer with 32bit flat code Rename CONFIG_VBE in CONFIG_VGA_BOCHS and CONFIG_CIRRUS in CONFIG_VGA_CIRRUS Add configuration menu for the VGA ROM buildrom.py: Handle PCI header checksum Add PMM memory allocation facilities for VGA option ROMs Partially implement VBE interface, create VBE driver skeleton Add vbe_flag field in BDA
Makefile | 7 +- src/Kconfig | 35 +++++++ src/biosvar.h | 3 +- tools/buildrom.py | 5 + vgasrc/pmm.c | 50 +++++++++ vgasrc/pmm.h | 16 +++ vgasrc/vbe.c | 135 ++++++++++++++++++++++++ vgasrc/vbe.h | 194 +++++++++++++++++++++++++++++++++++ vgasrc/vga.c | 290 ++++++++++++++++++++++++++++++++++++++++++++-------- vgasrc/vgaentry.S | 47 ++++++++- vgasrc/vgatables.h | 6 - 11 files changed, 731 insertions(+), 57 deletions(-) create mode 100644 vgasrc/pmm.c create mode 100644 vgasrc/pmm.h create mode 100644 vgasrc/vbe.c create mode 100644 vgasrc/vbe.h