2023-12-09 01:03:58

by Mark Brown

[permalink] [raw]
Subject: [PATCH 06/13] arm64/sysreg: Update ID_AA64ISAR2_EL1 defintion for DDI0601 2023-09

DDI0601 2023-09 defines some new fields in previously RES0 space in
ID_AA64ISAR2_EL1, together with one new enum value. Update the system
register definition to reflect this.

Signed-off-by: Mark Brown <[email protected]>
---
arch/arm64/tools/sysreg | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg
index c48a3b8d00ad..3f382f8d0f4a 100644
--- a/arch/arm64/tools/sysreg
+++ b/arch/arm64/tools/sysreg
@@ -1365,7 +1365,14 @@ EndEnum
EndSysreg

Sysreg ID_AA64ISAR2_EL1 3 0 0 6 2
-Res0 63:56
+UnsignedEnum 63:60 ATS1A
+ 0b0000 NI
+ 0b0001 IMP
+EndEnum
+UnsignedEnum 59:56 LUT
+ 0b0000 NI
+ 0b0001 IMP
+EndEnum
UnsignedEnum 55:52 CSSC
0b0000 NI
0b0001 IMP
@@ -1374,7 +1381,19 @@ UnsignedEnum 51:48 RPRFM
0b0000 NI
0b0001 IMP
EndEnum
-Res0 47:32
+Res0 47:44
+UnsignedEnum 43:40 PRFMSLC
+ 0b0000 NI
+ 0b0001 IMP
+EndEnum
+UnsignedEnum 39:36 SYSINSTR_128
+ 0b0000 NI
+ 0b0001 IMP
+EndEnum
+UnsignedEnum 35:32 SYSREG_128
+ 0b0000 NI
+ 0b0001 IMP
+EndEnum
UnsignedEnum 31:28 CLRBHB
0b0000 NI
0b0001 IMP
@@ -1398,6 +1417,7 @@ UnsignedEnum 15:12 APA3
0b0011 PAuth2
0b0100 FPAC
0b0101 FPACCOMBINE
+ 0b0110 PAUTH_LR
EndEnum
UnsignedEnum 11:8 GPA3
0b0000 NI

--
2.39.2


2023-12-11 09:08:15

by Fuad Tabba

[permalink] [raw]
Subject: Re: [PATCH 06/13] arm64/sysreg: Update ID_AA64ISAR2_EL1 defintion for DDI0601 2023-09

Hi Mark,

On Sat, Dec 9, 2023 at 1:03 AM Mark Brown <[email protected]> wrote:
>
> DDI0601 2023-09 defines some new fields in previously RES0 space in
> ID_AA64ISAR2_EL1, together with one new enum value. Update the system
> register definition to reflect this.
>
> Signed-off-by: Mark Brown <[email protected]>

> ---
> arch/arm64/tools/sysreg | 24 ++++++++++++++++++++++--
> 1 file changed, 22 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg
> index c48a3b8d00ad..3f382f8d0f4a 100644
> --- a/arch/arm64/tools/sysreg
> +++ b/arch/arm64/tools/sysreg
> @@ -1365,7 +1365,14 @@ EndEnum
> EndSysreg
>
> Sysreg ID_AA64ISAR2_EL1 3 0 0 6 2
> -Res0 63:56
> +UnsignedEnum 63:60 ATS1A
> + 0b0000 NI
> + 0b0001 IMP
> +EndEnum
> +UnsignedEnum 59:56 LUT
> + 0b0000 NI
> + 0b0001 IMP
> +EndEnum
> UnsignedEnum 55:52 CSSC
> 0b0000 NI
> 0b0001 IMP
> @@ -1374,7 +1381,19 @@ UnsignedEnum 51:48 RPRFM
> 0b0000 NI
> 0b0001 IMP
> EndEnum
> -Res0 47:32
> +Res0 47:44
> +UnsignedEnum 43:40 PRFMSLC
> + 0b0000 NI
> + 0b0001 IMP
> +EndEnum
> +UnsignedEnum 39:36 SYSINSTR_128
> + 0b0000 NI
> + 0b0001 IMP
> +EndEnum
> +UnsignedEnum 35:32 SYSREG_128
> + 0b0000 NI
> + 0b0001 IMP
> +EndEnum
> UnsignedEnum 31:28 CLRBHB
> 0b0000 NI
> 0b0001 IMP
> @@ -1398,6 +1417,7 @@ UnsignedEnum 15:12 APA3
> 0b0011 PAuth2
> 0b0100 FPAC
> 0b0101 FPACCOMBINE
> + 0b0110 PAUTH_LR

Nit: PAuth and PAuth2 only have the PA as uppercase in this file,
which matches the spec. Should PAuth_LR be the same?

Otherwise,
Reviewed-by: Fuad Tabba <[email protected]>

Cheers,
/fuad


> EndEnum
> UnsignedEnum 11:8 GPA3
> 0b0000 NI
>
> --
> 2.39.2
>

2023-12-12 09:11:52

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH 06/13] arm64/sysreg: Update ID_AA64ISAR2_EL1 defintion for DDI0601 2023-09

On Mon, Dec 11, 2023 at 09:07:25AM +0000, Fuad Tabba wrote:
> On Sat, Dec 9, 2023 at 1:03 AM Mark Brown <[email protected]> wrote:
> >
> > DDI0601 2023-09 defines some new fields in previously RES0 space in
> > ID_AA64ISAR2_EL1, together with one new enum value. Update the system
> > register definition to reflect this.
> >
> > Signed-off-by: Mark Brown <[email protected]>
>
> > ---
> > arch/arm64/tools/sysreg | 24 ++++++++++++++++++++++--
> > 1 file changed, 22 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg
> > index c48a3b8d00ad..3f382f8d0f4a 100644
> > --- a/arch/arm64/tools/sysreg
> > +++ b/arch/arm64/tools/sysreg
> > @@ -1365,7 +1365,14 @@ EndEnum
> > EndSysreg
> >
> > Sysreg ID_AA64ISAR2_EL1 3 0 0 6 2
> > -Res0 63:56
> > +UnsignedEnum 63:60 ATS1A
> > + 0b0000 NI
> > + 0b0001 IMP
> > +EndEnum
> > +UnsignedEnum 59:56 LUT
> > + 0b0000 NI
> > + 0b0001 IMP
> > +EndEnum
> > UnsignedEnum 55:52 CSSC
> > 0b0000 NI
> > 0b0001 IMP
> > @@ -1374,7 +1381,19 @@ UnsignedEnum 51:48 RPRFM
> > 0b0000 NI
> > 0b0001 IMP
> > EndEnum
> > -Res0 47:32
> > +Res0 47:44
> > +UnsignedEnum 43:40 PRFMSLC
> > + 0b0000 NI
> > + 0b0001 IMP
> > +EndEnum
> > +UnsignedEnum 39:36 SYSINSTR_128
> > + 0b0000 NI
> > + 0b0001 IMP
> > +EndEnum
> > +UnsignedEnum 35:32 SYSREG_128
> > + 0b0000 NI
> > + 0b0001 IMP
> > +EndEnum
> > UnsignedEnum 31:28 CLRBHB
> > 0b0000 NI
> > 0b0001 IMP
> > @@ -1398,6 +1417,7 @@ UnsignedEnum 15:12 APA3
> > 0b0011 PAuth2
> > 0b0100 FPAC
> > 0b0101 FPACCOMBINE
> > + 0b0110 PAUTH_LR
>
> Nit: PAuth and PAuth2 only have the PA as uppercase in this file,
> which matches the spec. Should PAuth_LR be the same?

I renamed it to PAuth_LR following your comment, but it looks like
ID_AA64ISAR1_EL1 is still missing this field entirely for the API and
APA fields.

Will

2023-12-12 10:26:06

by Fuad Tabba

[permalink] [raw]
Subject: Re: [PATCH 06/13] arm64/sysreg: Update ID_AA64ISAR2_EL1 defintion for DDI0601 2023-09

Thank you Will.

...

> I renamed it to PAuth_LR following your comment, but it looks like
> ID_AA64ISAR1_EL1 is still missing this field entirely for the API and
> APA fields.

I noticed that, but thought it's more appropriate to have a separate
patch for that. I have one ready as part of my respin, unless we
accumulate a bunch of sysreg update patches first.

Cheers,
/fuad

> Will

2023-12-12 13:21:26

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH 06/13] arm64/sysreg: Update ID_AA64ISAR2_EL1 defintion for DDI0601 2023-09

On Tue, Dec 12, 2023 at 10:24:46AM +0000, Fuad Tabba wrote:

> > I renamed it to PAuth_LR following your comment, but it looks like
> > ID_AA64ISAR1_EL1 is still missing this field entirely for the API and
> > APA fields.

> I noticed that, but thought it's more appropriate to have a separate
> patch for that. I have one ready as part of my respin, unless we
> accumulate a bunch of sysreg update patches first.

Yes, syncing each register individually should make life easier. It's
definitely painful when there's a multi-register update and one of the
registers has a mistake.


Attachments:
(No filename) (595.00 B)
signature.asc (499.00 B)
Download all attachments