I noticed, that both bootloader - and kernel code are able to make BIOS ROM section writable again.
This allows hostile code to make modifications to ROM contents, and then run the modified code.
This may allow malicious code to gain privilege escalation from ring0 to ring -2 if I have not
Care to verify wheter this is an issue or not?
Time to prepare the 1.12.1 stable release for the upcoming qemu 4.0.
These patches went into master since 1.12.0:
# git log --reverse --oneline rel-1.12.0..master
42efebdf1d12 tpm: Check for TPM related ACPI tables before attempting hw probe
628b2e6b0e39 pvscsi: ring_desc do not have to be page aligned
75b428351345 qemu: avoid debug prints if debugcon is not enabled
29ba89e67ff3 output: Avoid thunking to 16bit mode in printf() if no vgabios
d62ca8c9c53f docs: Update mailing list archive links
34fe8660ec42 docs: Fix cut-and-paste error in Mailinglist.md archive link
63d69674666e bootsplash: Added support for 16/24/32bpp in one function
996d3c029713 usb-ehci: Clear pipe token on pipe reallocate
b7dbd200cfe9 tcgbios: Use table to convert hash to buffer size
171fc8979dc7 tcgbios: Implement TPM 2.0 menu item to activate and deactivate PCR banks
42efebdf1d12 is already cherry-picked into the 1.12-stable branch.
996d3c029713 looks like an obvious bugfix to me.
Other requests / candidates?
Seabios freezes (hangs) on "Press ESC for boot menu". Does not respond to
the keyboard and does not boot from the sata disk. Last post code 0x7b.
Console (full) output in putty_atomC3538.log. Coreboot 4.9 cfg in
coreboot.config. Seabios config in seabios.config.
Why BMP? It's a lossless image format which could be LZMA compressed
quite well depending on the image's variety of colours. And finally I
found out how to get a working splash screen - instructions tested on
AMD Lenovo G505S laptop with 1366x768 screen resolution :
1) Install the ImageMagick package, it has a "convert" tool.
2) Find a cool image, preferably in a lossless format like PNG
(certainly not a lossy JPEG!), resize it to your screen resolution -
e.g. to 1366x768 in this particular case - and save it, preferably as
3) Now you could convert this image into BMP format recognizable by SeaBIOS:
convert ./wallpaper.png -alpha set -verbose -depth 32 ./bootsplash.bmp
4) Then add it to your coreboot.rom image, with LZMA compression of
course - because without a compression those BMPs are too large:
./coreboot/build/cbfstool ./coreboot/build/coreboot.rom add -f
~/Downloads/bootsplash.bmp -n bootsplash.bmp.lzma -t raw -c lzma
5) And finally flash the updated image, e.g. at G505S it could be
sudo ./flashrom/flashrom -p
Hope it's helpful!