Page MenuHomeFreeBSD

amd64 EFI RT: provide fault data on call fault
ClosedPublic

Authored by kib on Dec 24 2024, 2:39 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Jan 19, 1:11 PM
Unknown Object (File)
Tue, Jan 14, 4:42 AM
Unknown Object (File)
Tue, Jan 14, 4:42 AM
Unknown Object (File)
Tue, Jan 14, 4:42 AM
Unknown Object (File)
Tue, Jan 14, 4:42 AM
Unknown Object (File)
Tue, Jan 14, 4:32 AM
Unknown Object (File)
Sat, Jan 11, 6:43 AM
Unknown Object (File)
Tue, Dec 31, 6:57 PM

Details

Summary
amd64: allow trap_fatal() to be not that fatal

amd64: on any fault during call to EFI RT, restore execution and print fault details

The fault info should be useful to see what specifically BIOS tried to
do and why it faulted.  E.g. it might allow to see which EFI memory
segment needs to be mapped in addition to normal runtime segments, to
work around the fault.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kib requested review of this revision.Dec 24 2024, 2:39 AM
sys/amd64/amd64/trap.c
868

It is weird for the function to be called trap_fatal() if it also has a flag determining whether it is fatal.

Maybe keep the trap_fatal() name and panic() call for the common case, and rename the rest of trap_fatal() to trap_diag().

kib marked an inline comment as done.

Use trap_diag()

This revision is now accepted and ready to land.Dec 24 2024, 4:43 PM