diff options
author | Leah Rowe <leah@libreboot.org> | 2025-05-05 07:14:38 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2025-05-05 12:19:18 +0100 |
commit | bedc6b8f651c86c6fef720eb669b35f959d4eb64 (patch) | |
tree | 1451bf5a72c93e9693775b7dd2378292d8a0a040 /config/submodule | |
parent | 93fef4734b469bf33d0adf1e7328f8540b191183 (diff) |
GRUB: Mark E820 reserved on coreboot memory
See, coreboot bug report:
https://ticket.coreboot.org/issues/590
We hadn't noticed this for quite a while, since we always
just booted with iomem=relaxed when needing to run cbmem,
since in practise it was always combined with other tasks
that require access to lower memory.
GRUB currently matches coreboot's own mmap for cbmem, but
for example SeaBIOS marks cbmem as E820 reserved. Therefore,
this change replicates the SeaBIOS behaviour.
Without this patch, Linux needs to boot with iomem=relaxed
for cbmem access, for example when running ./cbmem -1
With this patch, cbmem is now accessible regardless. This
patch also prevents Linux from overwriting parts of CBMEM.
Thanks go to Paul Menzel, who wrote this GRUB patch.
Thanks also go to Nicholas Chin, who provided testing, all
the way from Coreboot 25.03 back to Coreboot 4.20. It seems
that this is just something the payloads have to handle.
This means that both SeaBIOS and GRUB no longer have this
bug, in Libreboot; now what remains is to replicate the
test with our U-Boot payload.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'config/submodule')
0 files changed, 0 insertions, 0 deletions