audk/ArmPkg
Ard Biesheuvel a94081fb26 ArmPkg: add ArmCrashDumpDxe driver
Even though RELEASE builds produce some diagnostics when a crash
occurs, they can be rather unhelpful:

  Synchronous Exception at 0x0000000000000000

and sometimes, it would be useful to get a full register dump from
a production machine without having to modify the firmware.

This can be achieved very easily by incorporating a DEBUG build of
ARM's DefaultExceptionHandlerLib into a DXE driver, and registering
its DefaultExceptionHandler entry point as the synchronous exception
handler, overriding the default one. If we then build this driver
using the UefiDebugLibConOut DebugLib implementation, we end up
with a module than can simply be loaded via the Shell on any system.

Shell> load fs0:ArmCrashDumpDxe.efi

As a bonus, the crash dump will also appear on the graphical display,
not only on the serial port.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-09-06 17:48:03 +01:00
..
Drivers ArmPkg: add ArmCrashDumpDxe driver 2017-09-06 17:48:03 +01:00
Filesystem/SemihostFs
Include ArmPkg: remove UncachedMemoryAllocationLib 2017-08-31 08:59:37 +01:00
Library ArmPkg: remove ArmDmaLib 2017-09-01 12:59:42 +01:00
ArmPkg.dec ArmPkg: remove UncachedMemoryAllocationLib 2017-08-31 08:59:37 +01:00
ArmPkg.dsc ArmPkg: remove ArmDmaLib 2017-09-01 12:59:42 +01:00