Attention is currently required from: Arthur Heymans, Jérémy Compostella, Maximilian Brune, Patrick Rudolph, Paul Menzel.
Hello Arthur Heymans, Jérémy Compostella, Maximilian Brune, Paul Menzel, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/85789?usp=email
to look at the new patch set (#3).
The following approvals got outdated and were removed: Code-Review+1 by Paul Menzel, Code-Review+2 by Maximilian Brune, Verified+1 by build bot (Jenkins)
Change subject: cpu/x86/64bit/mode_switch: Work around FSP bug ......................................................................
cpu/x86/64bit/mode_switch: Work around FSP bug
FSP, that is build against EDK2 2018 or newer, is able to back up and restore the bootloader IDT on entry/exit. Even though it sets up its own IDT, FSP checks the bootloader IDT size and deadloops without warning if it's too big.
On x86_64 coreboot the IDT is naturally bigger than on x86_32 and thus x86_32 FSP might die on entry. Work around this issue by:
* Back up and restore the IDT in protected_mode_call_wrapper * Load zero IDT in protected mode before jumping to function
TEST: Can boot on SPR FSP (x86_32) using x86_64 coreboot with exceptions in romstage enabled.
Change-Id: I56367d8153aa10a9b1bcaa5ffde8ebe202e8c00c Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com --- M src/cpu/x86/64bit/mode_switch.S 1 file changed, 18 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/89/85789/3