audk/ArmPkg/Drivers
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
..
ArmCrashDumpDxe ArmPkg: add ArmCrashDumpDxe driver 2017-09-06 17:48:03 +01:00
ArmGic ArmPkg/ArmGicLib: use correct loop variable 2016-09-09 16:56:38 +01:00
ArmPciCpuIo2Dxe ArmPkg: implement CpuIo2 protocol driver specific for PCI 2016-04-29 18:04:25 +02:00
CpuDxe ArmPkg/CpuDxe: handle implied attributes in EfiAttributeToArmAttribute 2017-03-08 15:40:20 +01:00
CpuPei ArmPkg: Rectify file modes 2016-01-30 12:25:59 +00:00
GenericWatchdogDxe ArmPkg/GenericWatchdogDxe: Declare MMIO PCDs as UINT64 2017-02-07 08:37:30 +00:00
TimerDxe ArmPkg/ArmLib: remove indirection layer from timer register accessors 2017-01-20 15:51:34 +00:00