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

