Dear ArmPkg maintainers,

As I've been working towards an ARM implementation of SMM, I ran into an issue 
with the organization of exception handling code in edk2.  Today we have 
exception handlers in the CpuDxe driver and another set in 
DebugAgentSymbolsBaseLib which is pulled in by SEC.  Since SMM/EL3 will require 
yet another set of exception handlers I didn't want to create more duplication 
and instead refactored exception handling into a single library that can be 
used by all phases.

The ArmExceptionLib holds the exception handlers (Arm and AArch64, migrated out 
of the CpuDxe package) and pulls in the DefaultExceptionHandlerLib.  It 
presents an interface for registering handler functions for each exception 
number.  It is intended be used by any module that is responsible for owning 
the exception vectors at the given privilege level SEC/EL3, DXE/EL2, or SMM/EL3.

The code builds for Arm and AArch64 but it still needs testing.  I wanted to 
send an early heads-up and get a review going on the code structure before 
finalizing it.

https://github.com/tianocore/edk2/pull/13/files

(Apologies in advance to Olivier who will get hit with this when he gets back 
from holiday!)


Contributed-under: TianoCore Contribution Agreement 1.0

Eugene

------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to