public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH 1/1] ArmPkg: older assemblers may lack ID_AA64ISAR2_EL1
@ 2023-04-20 19:45 Marcin Juszkiewicz
  2023-04-20 19:56 ` [edk2-devel] " Leif Lindholm
  0 siblings, 1 reply; 2+ messages in thread
From: Marcin Juszkiewicz @ 2023-04-20 19:45 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar, Marcin Juszkiewicz

ArmCpuInfo needs to be able to read ID_AA64ISAR2_EL1 system register.
Older toolchains do not know it.

Same solution as one for QEMU:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg929586.html

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
---
 ArmPkg/Include/Chipset/AArch64.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/ArmPkg/Include/Chipset/AArch64.h b/ArmPkg/Include/Chipset/AArch64.h
index bfd2859f5131..690433f68ec8 100644
--- a/ArmPkg/Include/Chipset/AArch64.h
+++ b/ArmPkg/Include/Chipset/AArch64.h
@@ -112,6 +112,10 @@
 #define ARM_VECTOR_LOW_A32_FIQ   0x700
 #define ARM_VECTOR_LOW_A32_SERR  0x780
 
+// The ID_AA64ISAR2_EL1 register is not recognized by older
+// assemblers, we need to define it here.
+#define ID_AA64ISAR2_EL1  S3_0_C0_C6_2
+
 // The ID_AA64MMFR2_EL1 register was added in ARMv8.2. Since we
 // build for ARMv8.0, we need to define the register here.
 #define ID_AA64MMFR2_EL1  S3_0_C0_C7_2
-- 
2.40.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [edk2-devel] [PATCH 1/1] ArmPkg: older assemblers may lack ID_AA64ISAR2_EL1
  2023-04-20 19:45 [PATCH 1/1] ArmPkg: older assemblers may lack ID_AA64ISAR2_EL1 Marcin Juszkiewicz
@ 2023-04-20 19:56 ` Leif Lindholm
  0 siblings, 0 replies; 2+ messages in thread
From: Leif Lindholm @ 2023-04-20 19:56 UTC (permalink / raw)
  To: devel, marcin.juszkiewicz; +Cc: Ard Biesheuvel, Sami Mujawar

On Thu, Apr 20, 2023 at 21:45:32 +0200, Marcin Juszkiewicz wrote:
> ArmCpuInfo needs to be able to read ID_AA64ISAR2_EL1 system register.
> Older toolchains do not know it.
> 
> Same solution as one for QEMU:
> https://www.mail-archive.com/qemu-devel@nongnu.org/msg929586.html
> 
> Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>

Thanks!

Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com>

I will never stop being surprised by ARM not declaring these as RAZ
and existing ahead of time. So we keep ending up with this race
condition (preventing CI on the arch feature app to pass).

/
    Leif

> ---
>  ArmPkg/Include/Chipset/AArch64.h | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/ArmPkg/Include/Chipset/AArch64.h b/ArmPkg/Include/Chipset/AArch64.h
> index bfd2859f5131..690433f68ec8 100644
> --- a/ArmPkg/Include/Chipset/AArch64.h
> +++ b/ArmPkg/Include/Chipset/AArch64.h
> @@ -112,6 +112,10 @@
>  #define ARM_VECTOR_LOW_A32_FIQ   0x700
>  #define ARM_VECTOR_LOW_A32_SERR  0x780
>  
> +// The ID_AA64ISAR2_EL1 register is not recognized by older
> +// assemblers, we need to define it here.
> +#define ID_AA64ISAR2_EL1  S3_0_C0_C6_2
> +
>  // The ID_AA64MMFR2_EL1 register was added in ARMv8.2. Since we
>  // build for ARMv8.0, we need to define the register here.
>  #define ID_AA64MMFR2_EL1  S3_0_C0_C7_2
> -- 
> 2.40.0
> 
> 
> 
> 
> 
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-04-20 19:56 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-20 19:45 [PATCH 1/1] ArmPkg: older assemblers may lack ID_AA64ISAR2_EL1 Marcin Juszkiewicz
2023-04-20 19:56 ` [edk2-devel] " Leif Lindholm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox