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

broonie@kernel.org posted 13 patches 2 years ago
[PATCH 06/13] arm64/sysreg: Update ID_AA64ISAR2_EL1 defintion for DDI0601 2023-09
Posted by Mark Brown 2 years ago
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 <broonie@kernel.org>
---
 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
Re: [PATCH 06/13] arm64/sysreg: Update ID_AA64ISAR2_EL1 defintion for DDI0601 2023-09
Posted by Fuad Tabba 2 years ago
Hi Mark,

On Sat, Dec 9, 2023 at 1:03 AM Mark Brown <broonie@kernel.org> 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 <broonie@kernel.org>

> ---
>  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 <tabba@google.com>

Cheers,
/fuad


>  EndEnum
>  UnsignedEnum   11:8    GPA3
>         0b0000  NI
>
> --
> 2.39.2
>
Re: [PATCH 06/13] arm64/sysreg: Update ID_AA64ISAR2_EL1 defintion for DDI0601 2023-09
Posted by Will Deacon 2 years ago
On Mon, Dec 11, 2023 at 09:07:25AM +0000, Fuad Tabba wrote:
> On Sat, Dec 9, 2023 at 1:03 AM Mark Brown <broonie@kernel.org> 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 <broonie@kernel.org>
> 
> > ---
> >  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
Re: [PATCH 06/13] arm64/sysreg: Update ID_AA64ISAR2_EL1 defintion for DDI0601 2023-09
Posted by Fuad Tabba 2 years ago
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
Re: [PATCH 06/13] arm64/sysreg: Update ID_AA64ISAR2_EL1 defintion for DDI0601 2023-09
Posted by Mark Brown 2 years ago
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.