[SeaBIOS] [PATCH] src/bootsplash.c: Fix displaying VGA bootsplash
Gerhard Wiesinger
lists at wiesinger.com
Thu Feb 23 08:08:39 CET 2012
Any comments?
Ciao,
Gerhard
--
http://www.wiesinger.com/
On Wed, 15 Feb 2012, Gerhard Wiesinger wrote:
> VGA bootsplash isn't displayed because video mode is set
> which clears the display. Video mode has already been set
> by some VGA BIOS. User can choose by config option to disable
> setting of VGA video mode by seabios
> (CONFIG_BOOT_SET_VIDEO_MODE).
> Works well under QEMU/KVM with VGA BIOS and seabios.
>
> Default behaviour is the same as before where VGA mode is
> set by seabios.
>
> Signed-off-by: Gerhard Wiesinger <lists at wiesinger.com>
> ---
> src/Kconfig | 5 +++++
> src/bootsplash.c | 13 ++++++++-----
> 2 files changed, 13 insertions(+), 5 deletions(-)
>
> diff --git a/src/Kconfig b/src/Kconfig
> index 250663a..08325cc 100644
> --- a/src/Kconfig
> +++ b/src/Kconfig
> @@ -52,6 +52,11 @@ menu "General Features"
> default y
> help
> Support showing a graphical boot splash screen.
> + config BOOT_SET_VIDEO_MODE
> + bool "Set video mode on initialization"
> + default y
> + help
> + Option should not be set when the VGA init string should be
> displayed.
> config BOOTORDER
> depends on BOOT
> bool "Boot ordering"
> diff --git a/src/bootsplash.c b/src/bootsplash.c
> index 76b72c1..09ad0a1 100644
> --- a/src/bootsplash.c
> +++ b/src/bootsplash.c
> @@ -38,12 +38,15 @@ void
> enable_vga_console(void)
> {
> dprintf(1, "Turning on vga text mode console\n");
> - struct bregs br;
>
> - /* Enable VGA text mode */
> - memset(&br, 0, sizeof(br));
> - br.ax = 0x0003;
> - call16_int10(&br);
> + if (CONFIG_BOOT_SET_VIDEO_MODE) {
> + struct bregs br;
> +
> + /* Enable VGA text mode */
> + memset(&br, 0, sizeof(br));
> + br.ax = 0x0003;
> + call16_int10(&br);
> + }
>
> // Write to screen.
> printf("SeaBIOS (version %s)\n\n", VERSION);
> --
> 1.7.7.6
>
More information about the SeaBIOS
mailing list