[edk2-devel] [PATCH v4 07/11] ArmPkg: Fix the return type of the ReadCCSIDR function

Rebecca Cran rebecca at nuviainc.com
Tue Dec 1 00:33:54 UTC 2020


When CCIDX is supported, the Current Cache Size ID Register contains
data above 32 bits: namely the number of sets. Avoid truncating this
by returning a UINTN instead of UINT32. On AARCH32, the expanded
number of sets data can be read via the CCSIDR2 register.

Signed-off-by: Rebecca Cran <rebecca at nuviainc.com>
---
 ArmPkg/Library/ArmLib/ArmLibPrivate.h           | 2 +-
 ArmPkg/Library/ArmLib/AArch64/ArmLibSupportV8.S | 2 +-
 ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/ArmPkg/Library/ArmLib/ArmLibPrivate.h b/ArmPkg/Library/ArmLib/ArmLibPrivate.h
index 2e90739eb858..5eecbc0e1c43 100644
--- a/ArmPkg/Library/ArmLib/ArmLibPrivate.h
+++ b/ArmPkg/Library/ArmLib/ArmLibPrivate.h
@@ -61,7 +61,7 @@ CPSRRead (
   VOID
   );
 
-UINT32
+UINTN
 ReadCCSIDR (
   IN UINT32 CSSELR
   );
diff --git a/ArmPkg/Library/ArmLib/AArch64/ArmLibSupportV8.S b/ArmPkg/Library/ArmLib/AArch64/ArmLibSupportV8.S
index 0e8d21e2264f..0ae75e4cb9f9 100644
--- a/ArmPkg/Library/ArmLib/AArch64/ArmLibSupportV8.S
+++ b/ArmPkg/Library/ArmLib/AArch64/ArmLibSupportV8.S
@@ -84,7 +84,7 @@ ASM_FUNC(ArmDisableAllExceptions)
   ret
 
 
-// UINT32
+// UINTN
 // ReadCCSIDR (
 //   IN UINT32 CSSELR
 //   )
diff --git a/ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm b/ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm
index 1679b09b797a..81f3cb79994c 100644
--- a/ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm
+++ b/ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm
@@ -68,7 +68,7 @@
   mrc    p15,0,r0,c0,c2,6     ; Read ID_MMFR4 Register
   bx     LR
 
-// UINT32
+// UINTN
 // ReadCCSIDR (
 //   IN UINT32 CSSELR
 //   )
-- 
2.26.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#68102): https://edk2.groups.io/g/devel/message/68102
Mute This Topic: https://groups.io/mt/78622922/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list