coreboot-kgpe-d16/payloads/libpayload/drivers/video
Nico Huber 5e0db58533 libpayload: Cache copy of `cb_framebuffer` struct
Our AArch64 code supports dynamic framebuffer allocation which
makes it necessary to change the framebuffer information during
runtime. Having a pointer inside `libsysinfo` made a mess of it
as the pointer would either refer to the original struct inside
the coreboot table or to a new struct inside payload space. The
latter would be unaffected by a relocation of the payload.

Instead of the pointer, we'll always keep a copy of the whole
struct, which can be altered on demand without affecting the
coreboot table. To align the `video/graphics` driver with the
console driver, we also replace `fbaddr` with a macro `FB` that
calls phys_to_virt().

Change-Id: I3edc09cdb502a71516c1ee71457c1f8dcd01c119
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/43578
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Julius Werner <jwerner@chromium.org>
2020-08-24 09:13:16 +00:00
..
bitmap.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
corebootfb.c libpayload: Cache copy of `cb_framebuffer` struct 2020-08-24 09:13:16 +00:00
font.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
font.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
font8x16.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
font8x16.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
geodelx.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
graphics.c libpayload: Cache copy of `cb_framebuffer` struct 2020-08-24 09:13:16 +00:00
vga.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
video.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00