summaryrefslogtreecommitdiff
path: root/payloads/libpayload/libc
diff options
context:
space:
mode:
authorNico Huber <nico.huber@secunet.com>2019-12-05 13:49:19 +0100
committerNico Huber <nico.h@gmx.de>2020-04-20 10:09:59 +0000
commite6b0a32cb305f8f201d93ba41215ba9e976c7698 (patch)
tree4a5d50c488e5781825f1dc333cef8346c427346f /payloads/libpayload/libc
parentb81147cb56cb7265d1584491e37accdb2f2f61d7 (diff)
libpayload: Make 8250 UART driver relocation safe
`lib_sysinfo->serial` is a virtual pointer into coreboot tables. It's not valid across relocation. Accessing the wrong value during relocation of FILO resulted in a hang with DEBUG_SEGMENT and UART console enabled. Work around that by caching the whole table entry locally. An alternative would be to revise `sysinfo`, to contain no virtual pointers to anything outside the payload. Change-Id: I03adaf57b83a177316d7778f7e06df8eb6f9158e Signed-off-by: Nico Huber <nico.huber@secunet.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/37513 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Reto Buerki <reet@codelabs.ch> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Diffstat (limited to 'payloads/libpayload/libc')
0 files changed, 0 insertions, 0 deletions