]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmPkg: Add helper to read CCIDX status
authorRebecca Cran <rebecca@nuviainc.com>
Mon, 8 Feb 2021 00:52:42 +0000 (17:52 -0700)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Mon, 8 Feb 2021 19:35:23 +0000 (19:35 +0000)
Add a helper function to determine CCIDX support.

Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Leif Lindholm <leif@nuviainc.com>
ArmPkg/Include/Library/ArmLib.h
ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c
ArmPkg/Library/ArmLib/Arm/ArmV7Lib.c

index fd4f06d242743ed6b5a1b7ecf4ac2e08944e19a2..70b9d816b74c0ae47fc5ffa5cfb64d599fd7ac78 100644 (file)
@@ -725,6 +725,17 @@ ArmHasGicSystemRegisters (
   VOID\r
   );\r
 \r
+/** Checks if CCIDX is implemented.\r
+\r
+   @retval TRUE  CCIDX is implemented.\r
+   @retval FALSE CCIDX is not implemented.\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+ArmHasCcidx (\r
+  VOID\r
+  );\r
+\r
 #ifdef MDE_CPU_ARM\r
 ///\r
 /// AArch32-only ID Register Helper functions\r
index 53e593bc994bdf74a0490911f3f3222d1dfaa988..191a5fea31a11af8f132a100d65b5a30887c5393 100644 (file)
@@ -2,7 +2,7 @@
 \r
   Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
   Portions copyright (c) 2011 - 2014, ARM Ltd. All rights reserved.<BR>\r
-  Copyright (c) 2020, NUVIA Inc. All rights reserved.<BR>\r
+  Copyright (c) 2021, NUVIA Inc. All rights reserved.<BR>\r
 \r
   SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
@@ -87,3 +87,20 @@ ArmHasGicSystemRegisters (
 {\r
   return ((ArmReadIdAA64Pfr0 () & AARCH64_PFR0_GIC) != 0);\r
 }\r
+\r
+/** Checks if CCIDX is implemented.\r
+\r
+   @retval TRUE  CCIDX is implemented.\r
+   @retval FALSE CCIDX is not implemented.\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+ArmHasCcidx (\r
+  VOID\r
+  )\r
+{\r
+  UINTN Mmfr2;\r
+\r
+  Mmfr2 = ArmReadIdAA64Mmfr2 ();\r
+  return (((Mmfr2 >> 20) & 0xF) == 1) ? TRUE : FALSE;\r
+}\r
index 9f81a7223732feb00404571ddc39a6079a584165..c5dd3f8b2f1c4c73fa3df03aaa125a2aa3334e6f 100644 (file)
@@ -2,7 +2,7 @@
 \r
   Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
   Copyright (c) 2011 - 2014, ARM Limited. All rights reserved.\r
-  Copyright (c) 2020, NUVIA Inc. All rights reserved.<BR>\r
+  Copyright (c) 2021, NUVIA Inc. All rights reserved.<BR>\r
 \r
   SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
@@ -102,3 +102,20 @@ ArmHasSecurityExtensions (
 {\r
   return ((ArmReadIdPfr1 () & ARM_PFR1_SEC) != 0);\r
 }\r
+\r
+/** Checks if CCIDX is implemented.\r
+\r
+   @retval TRUE  CCIDX is implemented.\r
+   @retval FALSE CCIDX is not implemented.\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+ArmHasCcidx (\r
+  VOID\r
+  )\r
+{\r
+  UINTN Mmfr4;\r
+\r
+  Mmfr4 = ArmReadIdMmfr4 ();\r
+  return (((Mmfr4 >> 24) & 0xF) == 1) ? TRUE : FALSE;\r
+}\r