[5/5] arm64/sysreg: Convert OSLAR_EL1 to automatic generation

Message ID 20230419-arm64-syreg-gen-v1-5-936cd769cb9e@kernel.org
State New
Headers
Series b4/sysreg: More conversions to automatic generation |

Commit Message

Mark Brown May 22, 2023, 4:22 p.m. UTC
  Convert OSLAR_EL1 to automatic generation as per DDI0601 2023-03. No
functional change.

Signed-off-by: Mark Brown <broonie@kernel.org>
---
 arch/arm64/include/asm/sysreg.h | 3 ---
 arch/arm64/tools/sysreg         | 5 +++++
 2 files changed, 5 insertions(+), 3 deletions(-)
  

Comments

Oliver Upton May 23, 2023, 8:13 a.m. UTC | #1
On Mon, May 22, 2023 at 05:22:44PM +0100, Mark Brown wrote:
> Convert OSLAR_EL1 to automatic generation as per DDI0601 2023-03. No
> functional change.
> 
> Signed-off-by: Mark Brown <broonie@kernel.org>
> ---
>  arch/arm64/include/asm/sysreg.h | 3 ---
>  arch/arm64/tools/sysreg         | 5 +++++
>  2 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h
> index 09de958e79ed..3b51e532caa9 100644
> --- a/arch/arm64/include/asm/sysreg.h
> +++ b/arch/arm64/include/asm/sysreg.h
> @@ -140,9 +140,6 @@
>  #define SYS_DBGWCRn_EL1(n)		sys_reg(2, 0, 0, n, 7)
>  #define SYS_MDRAR_EL1			sys_reg(2, 0, 1, 0, 0)
>  
> -#define SYS_OSLAR_EL1			sys_reg(2, 0, 1, 0, 4)
> -#define OSLAR_EL1_OSLK			BIT(0)
> -
>  #define SYS_OSLSR_EL1			sys_reg(2, 0, 1, 1, 4)
>  #define OSLSR_EL1_OSLM_MASK		(BIT(3) | BIT(0))
>  #define OSLSR_EL1_OSLM_NI		0

Should the OSLSR_EL1 definitions be rolled over to the generated scheme
as well?

> diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg
> index a5ae0e19fc9f..84df0b7feb45 100644
> --- a/arch/arm64/tools/sysreg
> +++ b/arch/arm64/tools/sysreg
> @@ -83,6 +83,11 @@ Res0	5:1
>  Field	0	SS
>  EndSysreg
>  
> +Sysreg	OSLAR_EL1	2	0	1	0	4
> +Res0	63:1
> +Field	0	OSLK
> +EndSysreg
> +
>  Sysreg ID_PFR0_EL1	3	0	0	1	0
>  Res0	63:32
>  UnsignedEnum	31:28	RAS
> 
> -- 
> 2.30.2
>
  
Anshuman Khandual May 23, 2023, 8:21 a.m. UTC | #2
On 5/23/23 13:43, Oliver Upton wrote:
> On Mon, May 22, 2023 at 05:22:44PM +0100, Mark Brown wrote:
>> Convert OSLAR_EL1 to automatic generation as per DDI0601 2023-03. No
>> functional change.
>>
>> Signed-off-by: Mark Brown <broonie@kernel.org>
>> ---
>>  arch/arm64/include/asm/sysreg.h | 3 ---
>>  arch/arm64/tools/sysreg         | 5 +++++
>>  2 files changed, 5 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h
>> index 09de958e79ed..3b51e532caa9 100644
>> --- a/arch/arm64/include/asm/sysreg.h
>> +++ b/arch/arm64/include/asm/sysreg.h
>> @@ -140,9 +140,6 @@
>>  #define SYS_DBGWCRn_EL1(n)		sys_reg(2, 0, 0, n, 7)
>>  #define SYS_MDRAR_EL1			sys_reg(2, 0, 1, 0, 0)
>>  
>> -#define SYS_OSLAR_EL1			sys_reg(2, 0, 1, 0, 4)
>> -#define OSLAR_EL1_OSLK			BIT(0)
>> -
>>  #define SYS_OSLSR_EL1			sys_reg(2, 0, 1, 1, 4)
>>  #define OSLSR_EL1_OSLM_MASK		(BIT(3) | BIT(0))
>>  #define OSLSR_EL1_OSLM_NI		0
> 
> Should the OSLSR_EL1 definitions be rolled over to the generated scheme
> as well?

Agreed, was about to ask the same question :) Any reason it got skipped ?

> 
>> diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg
>> index a5ae0e19fc9f..84df0b7feb45 100644
>> --- a/arch/arm64/tools/sysreg
>> +++ b/arch/arm64/tools/sysreg
>> @@ -83,6 +83,11 @@ Res0	5:1
>>  Field	0	SS
>>  EndSysreg
>>  
>> +Sysreg	OSLAR_EL1	2	0	1	0	4
>> +Res0	63:1
>> +Field	0	OSLK
>> +EndSysreg
>> +
>>  Sysreg ID_PFR0_EL1	3	0	0	1	0
>>  Res0	63:32
>>  UnsignedEnum	31:28	RAS
>>
>> -- 
>> 2.30.2
>>
>
  
Mark Brown May 23, 2023, 8:39 a.m. UTC | #3
On Tue, May 23, 2023 at 08:13:01AM +0000, Oliver Upton wrote:
> On Mon, May 22, 2023 at 05:22:44PM +0100, Mark Brown wrote:

> > -#define SYS_OSLAR_EL1			sys_reg(2, 0, 1, 0, 4)
> > -#define OSLAR_EL1_OSLK			BIT(0)
> > -
> >  #define SYS_OSLSR_EL1			sys_reg(2, 0, 1, 1, 4)
> >  #define OSLSR_EL1_OSLM_MASK		(BIT(3) | BIT(0))
> >  #define OSLSR_EL1_OSLM_NI		0

> Should the OSLSR_EL1 definitions be rolled over to the generated scheme
> as well?

It should at some point but it has a field with non-contiguous bits
which the tool doesn't understand yet so it can wait.
  
Shaoqin Huang May 23, 2023, 11:53 a.m. UTC | #4
On 5/23/23 00:22, Mark Brown wrote:
> Convert OSLAR_EL1 to automatic generation as per DDI0601 2023-03. No
> functional change.
> 
> Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Shaoqin Huang <shahuang@redhat.com>
> ---
>   arch/arm64/include/asm/sysreg.h | 3 ---
>   arch/arm64/tools/sysreg         | 5 +++++
>   2 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h
> index 09de958e79ed..3b51e532caa9 100644
> --- a/arch/arm64/include/asm/sysreg.h
> +++ b/arch/arm64/include/asm/sysreg.h
> @@ -140,9 +140,6 @@
>   #define SYS_DBGWCRn_EL1(n)		sys_reg(2, 0, 0, n, 7)
>   #define SYS_MDRAR_EL1			sys_reg(2, 0, 1, 0, 0)
>   
> -#define SYS_OSLAR_EL1			sys_reg(2, 0, 1, 0, 4)
> -#define OSLAR_EL1_OSLK			BIT(0)
> -
>   #define SYS_OSLSR_EL1			sys_reg(2, 0, 1, 1, 4)
>   #define OSLSR_EL1_OSLM_MASK		(BIT(3) | BIT(0))
>   #define OSLSR_EL1_OSLM_NI		0
> diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg
> index a5ae0e19fc9f..84df0b7feb45 100644
> --- a/arch/arm64/tools/sysreg
> +++ b/arch/arm64/tools/sysreg
> @@ -83,6 +83,11 @@ Res0	5:1
>   Field	0	SS
>   EndSysreg
>   
> +Sysreg	OSLAR_EL1	2	0	1	0	4
> +Res0	63:1
> +Field	0	OSLK
> +EndSysreg
> +
>   Sysreg ID_PFR0_EL1	3	0	0	1	0
>   Res0	63:32
>   UnsignedEnum	31:28	RAS
>
  

Patch

diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h
index 09de958e79ed..3b51e532caa9 100644
--- a/arch/arm64/include/asm/sysreg.h
+++ b/arch/arm64/include/asm/sysreg.h
@@ -140,9 +140,6 @@ 
 #define SYS_DBGWCRn_EL1(n)		sys_reg(2, 0, 0, n, 7)
 #define SYS_MDRAR_EL1			sys_reg(2, 0, 1, 0, 0)
 
-#define SYS_OSLAR_EL1			sys_reg(2, 0, 1, 0, 4)
-#define OSLAR_EL1_OSLK			BIT(0)
-
 #define SYS_OSLSR_EL1			sys_reg(2, 0, 1, 1, 4)
 #define OSLSR_EL1_OSLM_MASK		(BIT(3) | BIT(0))
 #define OSLSR_EL1_OSLM_NI		0
diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg
index a5ae0e19fc9f..84df0b7feb45 100644
--- a/arch/arm64/tools/sysreg
+++ b/arch/arm64/tools/sysreg
@@ -83,6 +83,11 @@  Res0	5:1
 Field	0	SS
 EndSysreg
 
+Sysreg	OSLAR_EL1	2	0	1	0	4
+Res0	63:1
+Field	0	OSLK
+EndSysreg
+
 Sysreg ID_PFR0_EL1	3	0	0	1	0
 Res0	63:32
 UnsignedEnum	31:28	RAS