Here's the second revision of the patch series with these changes:

1. Remove the unnecessary patching of the CommonExceptionEntry since the linker 
already does it
2. Remove a duplicate write to VBAR in the case where exception handlers are 
relocated

Both of these only affect Patch 2/3, 1 and 3 remain unchanged.

Eugene

> -----Original Message-----
> From: Cohen, Eugene
> Sent: Thursday, March 03, 2016 4:05 PM
> To: [email protected]; 'Ard Biesheuvel'
> <[email protected]>; Leif Lindholm <[email protected]>
> Subject: [PATCH 0/3] Implement ARM/AArch64 instance of
> CpuExceptionHandlerLib
> 
> This patch series refactors the exception handling in ArmPkg CpuDxe
> to a base library implementing the existing CpuExceptionHandlerLib
> interface.  This interface allows for exception handling in any phase of
> execution so we can get exception handlers in place early for effective
> debugging.
> 
> The issue raised earlier around EL2 taking over exception/interrupt
> handling (old subject was "ArmPkg: AArch64 exception handling init
> configures HCR in EL2") is now handled in this patchset across patches 1
> and 2.
> 
> These changes have been tested on AArch64 and ARM platforms.
> Testing consisted of inducing exceptions at SEC and DxeMain (after the
> CpuExceptionHandlerLib is initialized and before CpuDxe is loaded), as
> well as ensuring correct timer tick / IRQ interrupts delivery.
> 
> Read the patchset description of patch 2 about why there are two
> instances of the ArmExceptionLib.  The short answer is that it offers a
> choice between self-contained exception handlers (ArmExceptionLib)
> and optimizing for code size (ArmRelocateExceptionLib).
> 
> 
> NOTE:  Platforms that use the ArmPkg CpuDxe will need their DSC files
> updated to include a non-null instance of the CpuExceptionHandlerLib.
> For DXE phase components which are not as size sensitive the self-
> contained variant should suffice:
> 
> 
> CpuExceptionHandlerLib|ArmPkg/Library/ArmExceptionLib/ArmExcep
> tionLib.inf
> 
> The following platforms will need their DSC files updated with this
> instance for the build to succeed since they use ArmPkg CpuDxe:
> 
> edk2: ArmVirtQemu, ArmVirtQemuKernel, ArmVirtXen, and
> BeagleBoardPkg
> OpenPlatformPkg: ArmJuno, ArmVExpress-CTA15-A7, ArmVExpress-
> FVP-AArch64.dsc, and BeagleBoardPkg
> 
> [please excuse me not generating patches for each of these platforms,
> I hope you understand]
> 
> 
> Thanks,
> 
> Eugene

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to