Ring3: Fixed ArmPkg and ArmVirtPkg compilation.

This commit is contained in:
Mikhail Krichanov 2024-09-02 19:50:25 +03:00
parent cd64c7e0a6
commit 7f308c22c5
10 changed files with 46 additions and 88 deletions

View File

@ -29,6 +29,6 @@ ArmCrashDumpDxeInitialize (
return mCpu->RegisterInterruptHandler (
mCpu,
EXCEPT_AARCH64_SYNCHRONOUS_EXCEPTIONS,
&DefaultExceptionHandler
(EFI_CPU_INTERRUPT_HANDLER)&DefaultExceptionHandler
);
}

View File

@ -398,4 +398,14 @@ ASM_FUNC(ArmReadIdAA64Pfr1)
mrs x0, ID_AA64PFR1_EL1
ret
.cpu cortex-a76
ASM_FUNC(ArmSetPan)
msr pan, #1
ret
ASM_FUNC(ArmClearPan)
msr pan, #0
ret
ASM_FUNCTION_REMOVE_IF_UNREFERENCED

View File

@ -150,4 +150,14 @@ ASM_FUNC (ArmGetPhysicalAddressBits)
movge r0, #40 // 40 bits if LPAE
bx lr
.arch armv8.1-a
ASM_FUNC(ArmSetPan)
setpan #1
bx LR
ASM_FUNC(ArmClearPan)
setpan #0
bx LR
ASM_FUNCTION_REMOVE_IF_UNREFERENCED

View File

@ -11,6 +11,7 @@
#include <Chipset/AArch64.h>
#include <Uefi.h>
#include <Library/ArmLib.h>
#include <Library/UefiLib.h>
#include <Library/BaseLib.h>
#include <Library/DebugLib.h>
@ -46,12 +47,6 @@ GetImageName (
OUT UINTN *DebugBase
);
VOID
EFIAPI
ArmClearPan (
VOID
);
STATIC
VOID
DescribeInstructionOrDataAbort (

View File

@ -36,6 +36,7 @@
DebugLib
SerialPortLib
UefiBootServicesTableLib
ArmLib
[Guids]
gEfiDebugImageInfoTableGuid

View File

@ -145,25 +145,3 @@ ASM_FUNC(ReturnToCore)
msr daifclr, #0xf
isb
ret
//------------------------------------------------------------------------------
// VOID
// EFIAPI
// ArmSetPan (
// VOID
// );
//------------------------------------------------------------------------------
ASM_FUNC(ArmSetPan)
msr pan, #1
ret
//------------------------------------------------------------------------------
// VOID
// EFIAPI
// ArmClearPan (
// VOID
// );
//------------------------------------------------------------------------------
ASM_FUNC(ArmClearPan)
msr pan, #0
ret

View File

@ -32,18 +32,6 @@ ReturnToCore (
IN UINTN CoreSp
);
VOID
EFIAPI
ArmSetPan (
VOID
);
VOID
EFIAPI
ArmClearPan (
VOID
);
STATIC
EFI_STATUS
EFIAPI

View File

@ -7,8 +7,6 @@
#include <AsmMacroIoLib.h>
.arch armv8.1a
//------------------------------------------------------------------------------
// EFI_STATUS
// EFIAPI
@ -124,25 +122,3 @@ ASM_FUNC(ReturnToCore)
isb
bx LR
//------------------------------------------------------------------------------
// VOID
// EFIAPI
// ArmSetPan (
// VOID
// );
//------------------------------------------------------------------------------
ASM_FUNC(ArmSetPan)
setpan #1
bx LR
//------------------------------------------------------------------------------
// VOID
// EFIAPI
// ArmClearPan (
// VOID
// );
//------------------------------------------------------------------------------
ASM_FUNC(ArmClearPan)
setpan #0
bx LR

View File

@ -29,18 +29,6 @@ ReturnToCore (
IN UINTN CoreSp
);
VOID
EFIAPI
ArmSetPan (
VOID
);
VOID
EFIAPI
ArmClearPan (
VOID
);
STATIC
EFI_STATUS
EFIAPI

View File

@ -710,17 +710,29 @@ ArmHasCcidx (
VOID
);
/**
Checks whether the CPU implements the Privileged Access Never.
@retval TRUE FEAT_PAN is implemented.
@retval FALSE FEAT_PAN is not mplemented.
**/
BOOLEAN
EFIAPI
ArmHasPan (
VOID
);
/**
Checks whether the CPU implements the Privileged Access Never.
@retval TRUE FEAT_PAN is implemented.
@retval FALSE FEAT_PAN is not mplemented.
**/
BOOLEAN
EFIAPI
ArmHasPan (
VOID
);
VOID
EFIAPI
ArmSetPan (
VOID
);
VOID
EFIAPI
ArmClearPan (
VOID
);
#ifdef MDE_CPU_AARCH64
///