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>
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
\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
{\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
\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
{\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