diff options
author | Vladimir Serbinenko <phcoder@gmail.com> | 2013-12-16 23:19:01 +0100 |
---|---|---|
committer | Vladimir Serbinenko <phcoder@gmail.com> | 2013-12-16 23:57:43 +0100 |
commit | dd9945bdc7d221e58c1212092d315e1f13b66f85 (patch) | |
tree | 6208c90c9ee328ecdc1b8ced2a78a5403161d2d6 /src/drivers/emulation/qemu | |
parent | 86545f7978eac21d925f1b0ce874ca03fbd24c5c (diff) | |
download | coreboot-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/qemu')
-rw-r--r-- | src/drivers/emulation/qemu/bochs.c | 3 | ||||
-rw-r--r-- | src/drivers/emulation/qemu/cirrus.c | 3 |
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); } |