This series add several fixes to coreboot's framebuffer implementation and it main purpose is to fix Microsoft's Windows as supported OS.
The series fixes the following issues: * Windows shows no image in text-mode * Windows NTLDR/bootmgr shows no image in VESA mode * Windows shows no image in VESA mode
I was able to boot Windows using VgaSave driver in text-mode with a fixed display resolution of 640x480@4Bpp.
I was able to boot Windows using VgaSave driver in VESA mode and set a display resolution up to 1600x1200@24Bpp.
Most likely other VESA compatible bootloaders and operating systems will be fixed, too.
While most issues are fixed, one critical remains: Windows replaces int 15h at the start of the boot process, but SeaVGABios relies on it to clear the screen. It would be great if you could help me to implement a 32bit memcpy method that doesn't rely on bios calls to copy memory. All test in VESA mode had the clear screen feature disabled.
Patrick Rudolph (4): SeaVGABios/cbvga: Assume VGA compatible GPU in text-mode SeaVGABIOS/vbe: Query driver for scanline pitch SeaVGABios/cbvga: Use active mode to clear screen SeaVGABios/cbvga: Advertise compatible VESA modes
vgasrc/bochsvga.c | 5 ++ vgasrc/bochsvga.h | 1 + vgasrc/cbvga.c | 136 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- vgasrc/clext.c | 5 ++ vgasrc/stdvga.c | 5 ++ vgasrc/vbe.c | 2 +- vgasrc/vgahw.h | 10 ++++ vgasrc/vgautil.h | 3 ++ 8 files changed, 161 insertions(+), 6 deletions(-)