[SeaBIOS] [PATCH 0/8] SeaVGABIOS improvments for coreboot's framebuffer v2

Patrick Rudolph siro at das-labor.org
Fri Mar 24 17:27:19 CET 2017


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
* Windows legacy Intel VGA driver requires VBT in VGA option ROM
* Clear screen broken due to INT 15h replaced by OS

I was able to boot Windows with the following configurations:
* using VgaSave driver in text-mode with a
  fixed display resolution of 640x480 at 4Bpp.
* using VgaSave driver in VESA mode and
  set a display resolution up to 1600x1200 at 24Bpp.
* using VgaSave driver in Windows's "Safe Mode" in VESA mode and
  set a display resolution up to 1600x1200 at 24Bpp.
* using the Intel VGA driver with up to the panel native
  resolution of 1680x1050 at 24Bpp.

Most likely other VESA compatible bootloaders and operating systems
will be fixed, too.

Changes since v1:
* Add crash detection handler for INT 15h modifications.
* Disable VESA modes in cbvga_init
* Make memcpy_high method public
* Copy Intel VBT to VGA option ROM if provided by ASLS

Patrick Rudolph (8):
  SeaVGABios/cbvga: Advertise correct pixel format
  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
  SeaVGABios/vgafb: Make memcpy_high public
  SeaVGABios/cbvga:: Add Intel VBT support
  SeaVGABios/cbvga: Add crash detection handler

 vgasrc/bochsvga.c |   5 +
 vgasrc/bochsvga.h |   1 +
 vgasrc/cbvga.c    | 274 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 vgasrc/clext.c    |   5 +
 vgasrc/stdvga.c   |   5 +
 vgasrc/vbe.c      |   2 +-
 vgasrc/vgaentry.S |   2 +-
 vgasrc/vgafb.c    |   2 +-
 vgasrc/vgafb.h    |   2 +-
 vgasrc/vgahw.h    |  10 ++
 vgasrc/vgautil.h  |   3 +
 11 files changed, 301 insertions(+), 10 deletions(-)

-- 
2.9.3




More information about the SeaBIOS mailing list