When running with a graphical console, no message whatsoever is printed
when the systems hits an unexpected exception and hangs, because even
the minimal 'exception occurred' message is only sent to the serial port.

So let's fix that, by updating DefaultExceptionHandlerLib to take the
availability of a console into account. (#5)

This requires some preparatory decruftication so that we can safely refer
to the system table and console (#1 .. #4).

Changes since v1:
- split off ArmVirtPkg patch (#3)
- always send minimal error message to the serial port before attempting to
  send it to console->stdout as well (which is more likely to fail) (#5)
- add Leif's R-b to the series

Ard Biesheuvel (5):
  ArmPkg/DebugAgentSymbolsBaseLib: remove exception handling
  ArmPkg/DefaultExceptionHandlerLib: declare the permitted usage context
  ArmVirtPkg: drop reference to ArmPkg/DefaultExceptionHandlerLibBase
  ArmPkg/DefaultExceptionHandlerLib: drop BASE variant
  ArmPkg/DefaultExceptionHandlerLib: use console if available

 ArmPkg/ArmPkg.dsc                             |   1 -
 .../AArch64/DebugAgentException.S             |  96 ------
 .../Arm/DebugAgentException.S                 | 277 ------------------
 .../Arm/DebugAgentException.asm               | 273 -----------------
 .../DebugAgentSymbolsBaseLib.c                |   7 -
 .../DebugAgentSymbolsBaseLib.inf              |   9 -
 .../AArch64/DefaultExceptionHandler.c         |  12 +-
 .../Arm/DefaultExceptionHandler.c             |   7 +-
 .../DefaultExceptionHandlerBase.c             |  35 ---
 .../DefaultExceptionHandlerLib.inf            |   5 +-
 .../DefaultExceptionHandlerLibBase.inf        |  45 ---
 ArmVirtPkg/ArmVirt.dsc.inc                    |   1 -
 12 files changed, 19 insertions(+), 749 deletions(-)
 delete mode 100644 
ArmPkg/Library/DebugAgentSymbolsBaseLib/AArch64/DebugAgentException.S
 delete mode 100644 
ArmPkg/Library/DebugAgentSymbolsBaseLib/Arm/DebugAgentException.S
 delete mode 100644 
ArmPkg/Library/DebugAgentSymbolsBaseLib/Arm/DebugAgentException.asm
 delete mode 100644 
ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerBase.c
 delete mode 100644 
ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf

-- 
2.17.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to