diff --git a/MdePkg/Include/AArch64/AArch64.h b/MdePkg/Include/AArch64/AArch64.h index 9650608e7b..4e5830c375 100644 --- a/MdePkg/Include/AArch64/AArch64.h +++ b/MdePkg/Include/AArch64/AArch64.h @@ -130,6 +130,10 @@ // build for ARMv8.0, we need to define the register here. #define ID_AA64MMFR2_EL1 S3_0_C0_C7_2 +// The RNDR register is not recognized by older assemblers, +// so we need to define it here +#define RNDR S3_3_C2_C4_0 + #define VECTOR_BASE(tbl) \ .section .text.##tbl##,"ax"; \ .align 11; \ diff --git a/MdePkg/Library/BaseRngLib/AArch64/ArmRng.S b/MdePkg/Library/BaseRngLib/AArch64/ArmRng.S index 27a847b996..98087b51ff 100644 --- a/MdePkg/Library/BaseRngLib/AArch64/ArmRng.S +++ b/MdePkg/Library/BaseRngLib/AArch64/ArmRng.S @@ -8,7 +8,7 @@ # #------------------------------------------------------------------------------ -#include "BaseRngLibInternals.h" +#include "ArmRng.h" .text .p2align 2 diff --git a/MdePkg/Library/BaseRngLib/AArch64/ArmRng.asm b/MdePkg/Library/BaseRngLib/AArch64/ArmRng.asm index 33144196cb..255b9054a1 100644 --- a/MdePkg/Library/BaseRngLib/AArch64/ArmRng.asm +++ b/MdePkg/Library/BaseRngLib/AArch64/ArmRng.asm @@ -8,7 +8,7 @@ ; ;------------------------------------------------------------------------------ -#include "BaseRngLibInternals.h" +#include "ArmRng.h" EXPORT ArmRndr AREA BaseLib_LowLevel, CODE, READONLY diff --git a/MdePkg/Library/BaseRngLib/AArch64/ArmRng.h b/MdePkg/Library/BaseRngLib/AArch64/ArmRng.h index b4b3c97071..eae1fa9b7e 100644 --- a/MdePkg/Library/BaseRngLib/AArch64/ArmRng.h +++ b/MdePkg/Library/BaseRngLib/AArch64/ArmRng.h @@ -11,6 +11,8 @@ #ifndef ARM_RNG_H_ #define ARM_RNG_H_ +#include + /** Generates a random number using RNDR. Returns TRUE on success; FALSE on failure. diff --git a/MdePkg/Library/BaseRngLib/BaseRngLibInternals.h b/MdePkg/Library/BaseRngLib/BaseRngLibInternals.h index d0abcc3452..c913f18858 100644 --- a/MdePkg/Library/BaseRngLib/BaseRngLibInternals.h +++ b/MdePkg/Library/BaseRngLib/BaseRngLibInternals.h @@ -69,11 +69,4 @@ ArchIsRngSupported ( VOID ); -#if defined (MDE_CPU_AARCH64) - -// RNDR, Random Number -#define RNDR S3_3_C2_C4_0 - -#endif - #endif // BASE_RNGLIB_INTERNALS_H_