[edk2-devel] [PATCH v5 09/23] ArmPkg: Add helper to read CCIDX status

Leif Lindholm leif at nuviainc.com
Sun Jan 10 01:28:58 UTC 2021


On Mon, Jan 04, 2021 at 15:58:16 -0700, Rebecca Cran wrote:
> Add a helper function to determine CCIDX support.
> 
> Signed-off-by: Rebecca Cran <rebecca at nuviainc.com>
> Reviewed-by: Sami Mujawar <sami.mujawar at arm.com>

Reviewed-by: Leif Lindholm <leif at nuviainc.com>

> ---
>  ArmPkg/Include/Library/ArmLib.h            | 11 +++++++++++
>  ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c | 17 +++++++++++++++++
>  ArmPkg/Library/ArmLib/Arm/ArmV7Lib.c       | 17 +++++++++++++++++
>  3 files changed, 45 insertions(+)
> 
> diff --git a/ArmPkg/Include/Library/ArmLib.h b/ArmPkg/Include/Library/ArmLib.h
> index fd4f06d24274..70b9d816b74c 100644
> --- a/ArmPkg/Include/Library/ArmLib.h
> +++ b/ArmPkg/Include/Library/ArmLib.h
> @@ -725,6 +725,17 @@ ArmHasGicSystemRegisters (
>    VOID
>    );
>  
> +/** Checks if CCIDX is implemented.
> +
> +   @retval TRUE  CCIDX is implemented.
> +   @retval FALSE CCIDX is not implemented.
> +**/
> +BOOLEAN
> +EFIAPI
> +ArmHasCcidx (
> +  VOID
> +  );
> +
>  #ifdef MDE_CPU_ARM
>  ///
>  /// AArch32-only ID Register Helper functions
> diff --git a/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c b/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c
> index 53e593bc994b..f0bf897da2a6 100644
> --- a/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c
> +++ b/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c
> @@ -87,3 +87,20 @@ ArmHasGicSystemRegisters (
>  {
>    return ((ArmReadIdAA64Pfr0 () & AARCH64_PFR0_GIC) != 0);
>  }
> +
> +/** Checks if CCIDX is implemented.
> +
> +   @retval TRUE  CCIDX is implemented.
> +   @retval FALSE CCIDX is not implemented.
> +**/
> +BOOLEAN
> +EFIAPI
> +ArmHasCcidx (
> +  VOID
> +  )
> +{
> +  UINTN Mmfr2;
> +
> +  Mmfr2 = ArmReadIdAA64Mmfr2 ();
> +  return (((Mmfr2 >> 20) & 0xF) == 1) ? TRUE : FALSE;
> +}
> diff --git a/ArmPkg/Library/ArmLib/Arm/ArmV7Lib.c b/ArmPkg/Library/ArmLib/Arm/ArmV7Lib.c
> index 9f81a7223732..f5f1939c8fa4 100644
> --- a/ArmPkg/Library/ArmLib/Arm/ArmV7Lib.c
> +++ b/ArmPkg/Library/ArmLib/Arm/ArmV7Lib.c
> @@ -102,3 +102,20 @@ ArmHasSecurityExtensions (
>  {
>    return ((ArmReadIdPfr1 () & ARM_PFR1_SEC) != 0);
>  }
> +
> +/** Checks if CCIDX is implemented.
> +
> +   @retval TRUE  CCIDX is implemented.
> +   @retval FALSE CCIDX is not implemented.
> +**/
> +BOOLEAN
> +EFIAPI
> +ArmHasCcidx (
> +  VOID
> +  )
> +{
> +  UINTN Mmfr4;
> +
> +  Mmfr4 = ArmReadIdMmfr4 ();
> +  return (((Mmfr4 >> 24) & 0xF) == 1) ? TRUE : FALSE;
> +}
> -- 
> 2.26.2
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#70081): https://edk2.groups.io/g/devel/message/70081
Mute This Topic: https://groups.io/mt/79438411/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