summaryrefslogtreecommitdiff
path: root/src/drivers/emulation
diff options
context:
space:
mode:
authorVladimir Serbinenko <phcoder@gmail.com>2013-12-16 23:19:01 +0100
committerVladimir Serbinenko <phcoder@gmail.com>2013-12-16 23:57:43 +0100
commitdd9945bdc7d221e58c1212092d315e1f13b66f85 (patch)
tree6208c90c9ee328ecdc1b8ced2a78a5403161d2d6 /src/drivers/emulation
parent86545f7978eac21d925f1b0ce874ca03fbd24c5c (diff)
downloadcoreboot-dd9945bdc7d221e58c1212092d315e1f13b66f85.tar.xz
qemu/videoinit: Set required fields in fake EDID
x_resolution, y_resolution and bytes_per_line were not inited. Without them coreboot sweared that screen is 1108630x1142817 and payload tried to draw on such a big screen. Change-Id: I0d0277a20c7e1976c27af4a57651ab2be0f9c5d7 Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com> Reviewed-on: http://review.coreboot.org/4535 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src/drivers/emulation')
-rw-r--r--src/drivers/emulation/qemu/bochs.c3
-rw-r--r--src/drivers/emulation/qemu/cirrus.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/drivers/emulation/qemu/bochs.c b/src/drivers/emulation/qemu/bochs.c
index b4acfefcbc..1e7986cc62 100644
--- a/src/drivers/emulation/qemu/bochs.c
+++ b/src/drivers/emulation/qemu/bochs.c
@@ -106,6 +106,9 @@ static void bochs_init(device_t dev)
/* setup coreboot framebuffer */
edid.ha = width;
edid.va = height;
+ edid.x_resolution = width;
+ edid.y_resolution = height;
+ edid.bytes_per_line = width * 4;
edid.bpp = 32;
set_vbe_mode_info_valid(&edid, addr);
}
diff --git a/src/drivers/emulation/qemu/cirrus.c b/src/drivers/emulation/qemu/cirrus.c
index 9f79d31149..b4928fef32 100644
--- a/src/drivers/emulation/qemu/cirrus.c
+++ b/src/drivers/emulation/qemu/cirrus.c
@@ -330,6 +330,9 @@ static void cirrus_init(device_t dev)
struct edid edid;
edid.ha = width;
edid.va = height;
+ edid.x_resolution = width;
+ edid.y_resolution = height;
+ edid.bytes_per_line = width * 4;
edid.bpp = 32;
set_vbe_mode_info_valid(&edid, addr);
}