]> git.proxmox.com Git - mirror_edk2.git/commit
ArmPkg: add ArmCrashDumpDxe driver
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Tue, 5 Sep 2017 18:14:41 +0000 (19:14 +0100)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 6 Sep 2017 16:48:03 +0000 (17:48 +0100)
commita94081fb266bd71d94f4fd28d131ba82663307ae
tree471c21728c9be2b2d3d64c33ebdd4b152f3f2a9f
parentb80a4097393c90d041b299ef628e6104612a2586
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>
ArmPkg/Drivers/ArmCrashDumpDxe/ArmCrashDumpDxe.c [new file with mode: 0644]
ArmPkg/Drivers/ArmCrashDumpDxe/ArmCrashDumpDxe.dsc [new file with mode: 0644]
ArmPkg/Drivers/ArmCrashDumpDxe/ArmCrashDumpDxe.inf [new file with mode: 0644]