diff options
author | Vladimir Serbinenko <phcoder@gmail.com> | 2014-02-22 10:35:45 +0100 |
---|---|---|
committer | Vladimir Serbinenko <phcoder@gmail.com> | 2014-03-03 23:14:04 +0100 |
commit | db7d04d1b753eee52448e48ca55b28564d998bf5 (patch) | |
tree | 5da00d6d44ff33c86b7b7da0f93b1b433aad7a12 /src/drivers/emulation/qemu/cirrus.c | |
parent | 160e9a0224890219199f4af7cc79934cfcf45155 (diff) | |
download | coreboot-db7d04d1b753eee52448e48ca55b28564d998bf5.tar.xz |
qemu: Support textmode gfx init.
Change-Id: I8b6b14b4fcf8df21d8bbf988d640b1efa013bd7f
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-on: http://review.coreboot.org/5283
Tested-by: build bot (Jenkins)
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'src/drivers/emulation/qemu/cirrus.c')
-rw-r--r-- | src/drivers/emulation/qemu/cirrus.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/drivers/emulation/qemu/cirrus.c b/src/drivers/emulation/qemu/cirrus.c index b4928fef32..5f8a01ec3e 100644 --- a/src/drivers/emulation/qemu/cirrus.c +++ b/src/drivers/emulation/qemu/cirrus.c @@ -36,9 +36,11 @@ #include <pc80/vga.h> #include <pc80/vga_io.h> +#if IS_ENABLED(CONFIG_FRAMEBUFFER_KEEP_VESA_MODE) static int width = CONFIG_DRIVERS_EMULATION_QEMU_BOCHS_XRES; static int height = CONFIG_DRIVERS_EMULATION_QEMU_BOCHS_YRES; static u32 addr = 0; +#endif enum { @@ -197,6 +199,7 @@ enum #define CIRRUS_SR_EXTENDED_MODE_32BPP 0x08 #define CIRRUS_HIDDEN_DAC_888COLOR 0xc5 +#if IS_ENABLED(CONFIG_FRAMEBUFFER_KEEP_VESA_MODE) static void write_hidden_dac (uint8_t data) { @@ -207,9 +210,11 @@ write_hidden_dac (uint8_t data) inb (0x3c6); outb (data, 0x3c6); } +#endif static void cirrus_init(device_t dev) { +#if IS_ENABLED(CONFIG_FRAMEBUFFER_KEEP_VESA_MODE) uint8_t cr_ext, cr_overlay; unsigned pitch = (width * 4) / VGA_CR_PITCH_DIVISOR; uint8_t sr_ext = 0, hidden_dac = 0; @@ -335,6 +340,11 @@ static void cirrus_init(device_t dev) edid.bytes_per_line = width * 4; edid.bpp = 32; set_vbe_mode_info_valid(&edid, addr); +#else + vga_misc_write(0x1); + + vga_textmode_init(); +#endif } static struct device_operations qemu_cirrus_graph_ops = { |