summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRebecca Cran <rebecca@nuviainc.com>2021-02-07 17:52:38 -0700
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2021-02-08 19:35:23 +0000
commit827a71cc9efb2d10733cfa59590b4d205ba97abe (patch)
treebf901bd01a6920ab3a61eee71605a8ce033156fb
parentb69566afae852a947f0df344f7751b92d5d0994b (diff)
downloadedk2-827a71cc9efb2d10733cfa59590b4d205ba97abe.tar.gz
edk2-827a71cc9efb2d10733cfa59590b4d205ba97abe.tar.bz2
edk2-827a71cc9efb2d10733cfa59590b4d205ba97abe.zip
ArmPkg: Add helper function to read the Memory Model Feature Register 4
In AARCH32, CCIDX support is indicated in the MMFR4 register - unlike under AARCH64 where it's in MMFR2. Add a helper function to read it. Signed-off-by: Rebecca Cran <rebecca@nuviainc.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Leif Lindholm <leif@nuviainc.com>
-rw-r--r--ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.S4
-rw-r--r--ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm4
-rw-r--r--ArmPkg/Library/ArmLib/Arm/ArmV7Lib.h8
3 files changed, 14 insertions, 2 deletions
diff --git a/ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.S b/ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.S
index 01c91b10fc..a60a2f6341 100644
--- a/ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.S
+++ b/ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.S
@@ -60,6 +60,10 @@ ASM_FUNC(ArmDisableInterrupts)
isb
bx LR
+ASM_FUNC(ArmReadIdMmfr4)
+ mrc p15,0,r0,c0,c2,6 @ Read ID_MMFR4 Register
+ bx lr
+
// UINT32
// ReadCCSIDR (
// IN UINT32 CSSELR
diff --git a/ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm b/ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm
index 26ffa331b9..1679b09b79 100644
--- a/ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm
+++ b/ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm
@@ -64,6 +64,10 @@
isb
bx LR
+ RVCT_ASM_EXPORT ArmReadIdMmfr4
+ mrc p15,0,r0,c0,c2,6 ; Read ID_MMFR4 Register
+ bx LR
+
// UINT32
// ReadCCSIDR (
// IN UINT32 CSSELR
diff --git a/ArmPkg/Library/ArmLib/Arm/ArmV7Lib.h b/ArmPkg/Library/ArmLib/Arm/ArmV7Lib.h
index bb7bda0a3a..dcf6723b80 100644
--- a/ArmPkg/Library/ArmLib/Arm/ArmV7Lib.h
+++ b/ArmPkg/Library/ArmLib/Arm/ArmV7Lib.h
@@ -48,9 +48,13 @@ ArmCleanInvalidateDataCacheEntryBySetWay (
IN UINTN SetWayFormat
);
-UINTN
+/** Reads the ID_MMFR4 register.
+
+ @return The contents of the ID_MMFR4 register.
+**/
+UINT32
EFIAPI
-ArmReadIdPfr0 (
+ArmReadIdMmfr4 (
VOID
);