[SeaBIOS] [PATCH] coreboot: update memory table before handling execution to payload/system
Krystian Hebel
krystian.hebel at 3mdeb.com
Sat Nov 10 20:14:10 CET 2018
> I don't think SeaBIOS should be altering coreboot information. (Doing
> so leads to all sorts of painful debugging problems, for example.)
Well, currently it is marking at least first couple of kilobytes of
memory (4 if I recall correctly) as free to use RAM. There coreboot
tables are located, or at least a pointer to tables in higher memory.
Because of that these tables can get overwritten by SeaBIOS or OS that
starts later.
Having a device marked as an available RAM is even worse - writing
unchecked values to some device registers (e.g. by a coreboot-aware
system which makes use of outdated memory tables) can lead to undefined
behaviour (best case scenario) and even physically damage the platform
or connected devices. Trying to debug this can be even worse, especially
with address space randomisation implemented in most modern operating
systems.
This patch affects not only memtest, it is just clearly and immediately
visible there.
More information about the SeaBIOS
mailing list