X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ArmPkg%2FInclude%2FLibrary%2FArmLib.h;h=611622e1a8e72bba47fe921f63bf8e6cb6d647a2;hb=168d724568ff1525517b1d0b00361419ca564310;hp=4550ea6ba0a3763e07d92656e1b920d7b16b7de8;hpb=47585ed568ebcda8718928c254b9669fd6ee923e;p=mirror_edk2.git diff --git a/ArmPkg/Include/Library/ArmLib.h b/ArmPkg/Include/Library/ArmLib.h index 4550ea6ba0..611622e1a8 100644 --- a/ArmPkg/Include/Library/ArmLib.h +++ b/ArmPkg/Include/Library/ArmLib.h @@ -18,10 +18,16 @@ #include -#ifdef ARM_CPU_ARMv6 -#include +#ifdef MDE_CPU_ARM + #ifdef ARM_CPU_ARMv6 + #include + #else + #include + #endif +#elif defined(MDE_CPU_AARCH64) + #include #else -#include + #error "Unknown chipset." #endif typedef enum { @@ -112,11 +118,11 @@ typedef enum { // // ARM MP Core IDs // -#define IS_PRIMARY_CORE(MpId) (((MpId) & PcdGet32(PcdArmPrimaryCoreMask)) == PcdGet32(PcdArmPrimaryCore)) #define ARM_CORE_MASK 0xFF #define ARM_CLUSTER_MASK (0xFF << 8) #define GET_CORE_ID(MpId) ((MpId) & ARM_CORE_MASK) #define GET_CLUSTER_ID(MpId) (((MpId) & ARM_CLUSTER_MASK) >> 8) +#define GET_MPID(ClusterId, CoreId) (((ClusterId) << 8) | (CoreId)) // Get the position of the core for the Stack Offset (4 Core per Cluster) // Position = (ClusterId * 4) + CoreId #define GET_CORE_POS(MpId) ((((MpId) & ARM_CLUSTER_MASK) >> 6) + ((MpId) & ARM_CORE_MASK)) @@ -187,7 +193,25 @@ EFIAPI ArmInstructionCacheLineLength ( VOID ); - + +UINTN +EFIAPI +ArmIsArchTimerImplemented ( + VOID + ); + +UINTN +EFIAPI +ArmReadIdPfr0 ( + VOID + ); + +UINTN +EFIAPI +ArmReadIdPfr1 ( + VOID + ); + UINT32 EFIAPI Cp15IdCode ( @@ -382,11 +406,11 @@ ArmGetTTBR0BaseAddress ( VOID ); -VOID +RETURN_STATUS EFIAPI ArmConfigureMmu ( IN ARM_MEMORY_REGION_DESCRIPTOR *MemoryTable, - OUT VOID **TranslationTableBase OPTIONAL, + OUT VOID **TranslationTableBase OPTIONAL, OUT UINTN *TranslationTableSize OPTIONAL ); @@ -501,6 +525,7 @@ ArmCallWFE ( VOID EFIAPI ArmCallWFI ( + VOID ); @@ -528,18 +553,6 @@ ArmEnableVFP ( VOID ); -UINT32 -EFIAPI -ArmReadNsacr ( - VOID - ); - -VOID -EFIAPI -ArmWriteNsacr ( - IN UINT32 SetWayFormat - ); - UINT32 EFIAPI ArmReadScr ( @@ -570,4 +583,16 @@ ArmReadSctlr ( VOID ); +UINTN +EFIAPI +ArmReadHVBar ( + VOID + ); + +VOID +EFIAPI +ArmWriteHVBar ( + IN UINTN HypModeVectorBase + ); + #endif // __ARM_LIB__