[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