* [PATCH v3 0/3] arm64: sysreg: Fix sysreg field definitions and generation script @ 2025-08-29 9:51 Fuad Tabba 2025-08-29 9:51 ` [PATCH v3 1/3] arm64: sysreg: Fix and tidy up sysreg field definitions Fuad Tabba ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Fuad Tabba @ 2025-08-29 9:51 UTC (permalink / raw) To: kvmarm, linux-arm-kernel Cc: maz, oliver.upton, will, joey.gouly, suzuki.poulose, yuzenghui, catalin.marinas, vdonnefort, qperret, sebastianene, keirf, smostafa, tabba The sysreg definitions file has a few errors. In Enum Security, NSACR_RFR is set to 0b0001 instead of the spec value of 0b0010. Additionaly, the sign of the Enums DoubleLock and EIESB are wrong (should be Signed and Unsigned, respectively). Moreover, the file has some redundant definitions, e.g., RCWSMASK_EL1. While these redundant definitions are not wrong per se, they add unnecessary code into the generated header file and could be a source of future bugs. Fix the Enums and remove the redundant Sysreg definitions. To reduce the chance of this happening in the future, add validation to the sysreg header generation script. I didn't want to go overboard with validation, so I only added validation that would catch most of the errors that I've seen, which also are errors that wouldn't generate a build error later on. Changes since v2 [1]: - Added patch that fixes field sign definitions for DoubleLock and EIESB - Removed whitespace fixes from first patch, since there are more inconsistent whitespace use in the file, and fixing it all would lead to too much churn. - Collected Reviews/Acks - Rebased on 6.17-rc3 Cheers, /fuad [1] https://lore.kernel.org/all/20250813164506.1203851-1-tabba@google.com/ Fuad Tabba (3): arm64: sysreg: Fix and tidy up sysreg field definitions arm64: sysreg: Correct sign definitions for EIESB and DoubleLock arm64: sysreg: Add validation checks to sysreg header generation script arch/arm64/tools/gen-sysreg.awk | 20 ++++++++++++++++++++ arch/arm64/tools/sysreg | 18 +++++------------- 2 files changed, 25 insertions(+), 13 deletions(-) base-commit: 1b237f190eb3d36f52dffe07a40b5eb210280e00 -- 2.51.0.338.gd7d06c2dae-goog ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 1/3] arm64: sysreg: Fix and tidy up sysreg field definitions 2025-08-29 9:51 [PATCH v3 0/3] arm64: sysreg: Fix sysreg field definitions and generation script Fuad Tabba @ 2025-08-29 9:51 ` Fuad Tabba 2025-08-29 10:07 ` Mark Rutland 2025-08-29 9:51 ` [PATCH v3 2/3] arm64: sysreg: Correct sign definitions for EIESB and DoubleLock Fuad Tabba 2025-08-29 9:51 ` [PATCH v3 3/3] arm64: sysreg: Add validation checks to sysreg header generation script Fuad Tabba 2 siblings, 1 reply; 7+ messages in thread From: Fuad Tabba @ 2025-08-29 9:51 UTC (permalink / raw) To: kvmarm, linux-arm-kernel Cc: maz, oliver.upton, will, joey.gouly, suzuki.poulose, yuzenghui, catalin.marinas, vdonnefort, qperret, sebastianene, keirf, smostafa, tabba Fix the value of ID_PFR1_EL1.Security NSACR_RFR to be 0b0010, as per DDI0601/2025-06, which wasn't correctly set when introduced in commit 1224308075f1 ("arm64/sysreg: Convert ID_PFR1_EL1 to automatic generation"). While at it, remove redundant definitions of CPACR_EL12 and RCWSMASK_EL1 and fix some typos. Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com> Acked-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Fuad Tabba <tabba@google.com> --- Note that NSACR_RFR isn't used in the kernel as far as I could tell, so I didn't add a 'Fixes' tag. --- arch/arm64/tools/sysreg | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg index 696ab1f32a67..f1a012ee0db6 100644 --- a/arch/arm64/tools/sysreg +++ b/arch/arm64/tools/sysreg @@ -31,7 +31,7 @@ # Mapping <name_EL1> # EndSysreg -# Where multiple system regsiters are not VHE aliases but share a +# Where multiple system registers are not VHE aliases but share a # common layout, a SysregFields block can be used to describe the # shared layout: @@ -54,7 +54,7 @@ # # In general it is recommended that new enumeration items be named for the # feature that introduces them (eg, FEAT_LS64_ACCDATA introduces enumeration -# item ACCDATA) though it may be more taseful to do something else. +# item ACCDATA) though it may be more tasteful to do something else. Sysreg OSDTRRX_EL1 2 0 0 0 2 Res0 63:32 @@ -474,7 +474,7 @@ EndEnum Enum 7:4 Security 0b0000 NI 0b0001 EL3 - 0b0001 NSACR_RFR + 0b0010 NSACR_RFR EndEnum UnsignedEnum 3:0 ProgMod 0b0000 NI @@ -2528,10 +2528,6 @@ Field 17:16 ZEN Res0 15:0 EndSysreg -Sysreg CPACR_EL12 3 5 1 0 2 -Mapping CPACR_EL1 -EndSysreg - Sysreg CPACRALIAS_EL1 3 0 1 4 4 Mapping CPACR_EL1 EndSysreg @@ -2576,10 +2572,6 @@ Sysreg PFAR_EL12 3 5 6 0 5 Mapping PFAR_EL1 EndSysreg -Sysreg RCWSMASK_EL1 3 0 13 0 3 -Field 63:0 RCWSMASK -EndSysreg - Sysreg SCTLR2_EL1 3 0 1 0 3 Res0 63:13 Field 12 CPTM0 -- 2.51.0.338.gd7d06c2dae-goog ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/3] arm64: sysreg: Fix and tidy up sysreg field definitions 2025-08-29 9:51 ` [PATCH v3 1/3] arm64: sysreg: Fix and tidy up sysreg field definitions Fuad Tabba @ 2025-08-29 10:07 ` Mark Rutland 0 siblings, 0 replies; 7+ messages in thread From: Mark Rutland @ 2025-08-29 10:07 UTC (permalink / raw) To: Fuad Tabba Cc: kvmarm, linux-arm-kernel, maz, oliver.upton, will, joey.gouly, suzuki.poulose, yuzenghui, catalin.marinas, vdonnefort, qperret, sebastianene, keirf, smostafa On Fri, Aug 29, 2025 at 10:51:41AM +0100, Fuad Tabba wrote: > Fix the value of ID_PFR1_EL1.Security NSACR_RFR to be 0b0010, as per > DDI0601/2025-06, which wasn't correctly set when introduced in commit > 1224308075f1 ("arm64/sysreg: Convert ID_PFR1_EL1 to automatic generation"). > > While at it, remove redundant definitions of CPACR_EL12 and > RCWSMASK_EL1 and fix some typos. > > Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com> > Acked-by: Marc Zyngier <maz@kernel.org> > Signed-off-by: Fuad Tabba <tabba@google.com> > --- > Note that NSACR_RFR isn't used in the kernel as far as I could tell, so > I didn't add a 'Fixes' tag. Since this is all cleanup, I think that's fine, but were that necessary, it would be nicer to have the NSACR_RFR fix separate from the other cleanups. FWIW, as this stands: Acked-by: Mark Rutland <mark.rutland@arm.com> Mark. > --- > arch/arm64/tools/sysreg | 14 +++----------- > 1 file changed, 3 insertions(+), 11 deletions(-) > > diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg > index 696ab1f32a67..f1a012ee0db6 100644 > --- a/arch/arm64/tools/sysreg > +++ b/arch/arm64/tools/sysreg > @@ -31,7 +31,7 @@ > # Mapping <name_EL1> > # EndSysreg > > -# Where multiple system regsiters are not VHE aliases but share a > +# Where multiple system registers are not VHE aliases but share a > # common layout, a SysregFields block can be used to describe the > # shared layout: > > @@ -54,7 +54,7 @@ > # > # In general it is recommended that new enumeration items be named for the > # feature that introduces them (eg, FEAT_LS64_ACCDATA introduces enumeration > -# item ACCDATA) though it may be more taseful to do something else. > +# item ACCDATA) though it may be more tasteful to do something else. > > Sysreg OSDTRRX_EL1 2 0 0 0 2 > Res0 63:32 > @@ -474,7 +474,7 @@ EndEnum > Enum 7:4 Security > 0b0000 NI > 0b0001 EL3 > - 0b0001 NSACR_RFR > + 0b0010 NSACR_RFR > EndEnum > UnsignedEnum 3:0 ProgMod > 0b0000 NI > @@ -2528,10 +2528,6 @@ Field 17:16 ZEN > Res0 15:0 > EndSysreg > > -Sysreg CPACR_EL12 3 5 1 0 2 > -Mapping CPACR_EL1 > -EndSysreg > - > Sysreg CPACRALIAS_EL1 3 0 1 4 4 > Mapping CPACR_EL1 > EndSysreg > @@ -2576,10 +2572,6 @@ Sysreg PFAR_EL12 3 5 6 0 5 > Mapping PFAR_EL1 > EndSysreg > > -Sysreg RCWSMASK_EL1 3 0 13 0 3 > -Field 63:0 RCWSMASK > -EndSysreg > - > Sysreg SCTLR2_EL1 3 0 1 0 3 > Res0 63:13 > Field 12 CPTM0 > -- > 2.51.0.338.gd7d06c2dae-goog > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 2/3] arm64: sysreg: Correct sign definitions for EIESB and DoubleLock 2025-08-29 9:51 [PATCH v3 0/3] arm64: sysreg: Fix sysreg field definitions and generation script Fuad Tabba 2025-08-29 9:51 ` [PATCH v3 1/3] arm64: sysreg: Fix and tidy up sysreg field definitions Fuad Tabba @ 2025-08-29 9:51 ` Fuad Tabba 2025-08-29 10:10 ` Mark Rutland 2025-08-29 9:51 ` [PATCH v3 3/3] arm64: sysreg: Add validation checks to sysreg header generation script Fuad Tabba 2 siblings, 1 reply; 7+ messages in thread From: Fuad Tabba @ 2025-08-29 9:51 UTC (permalink / raw) To: kvmarm, linux-arm-kernel Cc: maz, oliver.upton, will, joey.gouly, suzuki.poulose, yuzenghui, catalin.marinas, vdonnefort, qperret, sebastianene, keirf, smostafa, tabba The `ID_AA64MMFR4_EL1.EIESB` field, is an unsigned enumeration, but was incorrectly defined as a `SignedEnum` when introduced in commit cfc680bb04c5 ("arm64: sysreg: Add layout for ID_AA64MMFR4_EL1"). This is corrected to `UnsignedEnum`. Conversely, the `ID_AA64DFR0_EL1.DoubleLock` field, is a signed enumeration, but was incorrectly defined as an `UnsignedEnum`. This is corrected to `SignedEnum`, which wasn't correctly set when annotated as such in commit ad16d4cf0b4f ("arm64/sysreg: Initial unsigned annotations for ID registers"). Signed-off-by: Fuad Tabba <tabba@google.com> --- Note: No active users in the kernel for these two fields yet. pKVM checks DoubleLock, but only for protected VMs, which aren't enabled upstream yet. Hence no Fixes tag. --- arch/arm64/tools/sysreg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg index f1a012ee0db6..d396fa587ec1 100644 --- a/arch/arm64/tools/sysreg +++ b/arch/arm64/tools/sysreg @@ -1693,7 +1693,7 @@ UnsignedEnum 43:40 TraceFilt 0b0000 NI 0b0001 IMP EndEnum -UnsignedEnum 39:36 DoubleLock +SignedEnum 39:36 DoubleLock 0b0000 IMP 0b1111 NI EndEnum @@ -2409,7 +2409,7 @@ UnsignedEnum 11:8 ASID2 0b0000 NI 0b0001 IMP EndEnum -SignedEnum 7:4 EIESB +UnsignedEnum 7:4 EIESB 0b0000 NI 0b0001 ToEL3 0b0010 ToELx -- 2.51.0.338.gd7d06c2dae-goog ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v3 2/3] arm64: sysreg: Correct sign definitions for EIESB and DoubleLock 2025-08-29 9:51 ` [PATCH v3 2/3] arm64: sysreg: Correct sign definitions for EIESB and DoubleLock Fuad Tabba @ 2025-08-29 10:10 ` Mark Rutland 0 siblings, 0 replies; 7+ messages in thread From: Mark Rutland @ 2025-08-29 10:10 UTC (permalink / raw) To: Fuad Tabba Cc: kvmarm, linux-arm-kernel, maz, oliver.upton, will, joey.gouly, suzuki.poulose, yuzenghui, catalin.marinas, vdonnefort, qperret, sebastianene, keirf, smostafa On Fri, Aug 29, 2025 at 10:51:42AM +0100, Fuad Tabba wrote: > The `ID_AA64MMFR4_EL1.EIESB` field, is an unsigned enumeration, but was > incorrectly defined as a `SignedEnum` when introduced in commit > cfc680bb04c5 ("arm64: sysreg: Add layout for ID_AA64MMFR4_EL1"). This is > corrected to `UnsignedEnum`. > > Conversely, the `ID_AA64DFR0_EL1.DoubleLock` field, is a signed > enumeration, but was incorrectly defined as an `UnsignedEnum`. This is > corrected to `SignedEnum`, which wasn't correctly set when annotated as > such in commit ad16d4cf0b4f ("arm64/sysreg: Initial unsigned annotations > for ID registers"). > > Signed-off-by: Fuad Tabba <tabba@google.com> > --- > Note: No active users in the kernel for these two fields yet. pKVM > checks DoubleLock, but only for protected VMs, which aren't enabled > upstream yet. Hence no Fixes tag. I have no strong feelings either way on that, so FWIW: Acked-by: Mark Rutland <mark.rutland@arm.com> Mark. > --- > arch/arm64/tools/sysreg | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg > index f1a012ee0db6..d396fa587ec1 100644 > --- a/arch/arm64/tools/sysreg > +++ b/arch/arm64/tools/sysreg > @@ -1693,7 +1693,7 @@ UnsignedEnum 43:40 TraceFilt > 0b0000 NI > 0b0001 IMP > EndEnum > -UnsignedEnum 39:36 DoubleLock > +SignedEnum 39:36 DoubleLock > 0b0000 IMP > 0b1111 NI > EndEnum > @@ -2409,7 +2409,7 @@ UnsignedEnum 11:8 ASID2 > 0b0000 NI > 0b0001 IMP > EndEnum > -SignedEnum 7:4 EIESB > +UnsignedEnum 7:4 EIESB > 0b0000 NI > 0b0001 ToEL3 > 0b0010 ToELx > -- > 2.51.0.338.gd7d06c2dae-goog > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 3/3] arm64: sysreg: Add validation checks to sysreg header generation script 2025-08-29 9:51 [PATCH v3 0/3] arm64: sysreg: Fix sysreg field definitions and generation script Fuad Tabba 2025-08-29 9:51 ` [PATCH v3 1/3] arm64: sysreg: Fix and tidy up sysreg field definitions Fuad Tabba 2025-08-29 9:51 ` [PATCH v3 2/3] arm64: sysreg: Correct sign definitions for EIESB and DoubleLock Fuad Tabba @ 2025-08-29 9:51 ` Fuad Tabba 2025-08-29 10:14 ` Mark Rutland 2 siblings, 1 reply; 7+ messages in thread From: Fuad Tabba @ 2025-08-29 9:51 UTC (permalink / raw) To: kvmarm, linux-arm-kernel Cc: maz, oliver.upton, will, joey.gouly, suzuki.poulose, yuzenghui, catalin.marinas, vdonnefort, qperret, sebastianene, keirf, smostafa, tabba The gen_sysreg.awk script processes the system register specification in the sysreg text file to generate C macro definitions. The current script will silently accept certain errors in the specification file, leading to incorrect header generation. For example, a Sysreg or SysregFields can be accidentally duplicated, causing its macros to be emitted twice. An Enum can contain duplicate values for different items, which is architecturally incorrect. Add checks to catch these errors at build time. The script now tracks all seen Sysreg and SysregFields definitions and checks for duplicates. It also tracks values within each Enum block to ensure entries are unique. Acked-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Fuad Tabba <tabba@google.com> --- arch/arm64/tools/gen-sysreg.awk | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/arch/arm64/tools/gen-sysreg.awk b/arch/arm64/tools/gen-sysreg.awk index f2a1732cb1f6..bbbb812603e8 100755 --- a/arch/arm64/tools/gen-sysreg.awk +++ b/arch/arm64/tools/gen-sysreg.awk @@ -122,6 +122,10 @@ $1 == "SysregFields" && block_current() == "Root" { res1 = "UL(0)" unkn = "UL(0)" + if (reg in defined_fields) + fatal("Duplicate SysregFields definition for " reg) + defined_fields[reg] = 1 + next_bit = 63 next @@ -162,6 +166,10 @@ $1 == "Sysreg" && block_current() == "Root" { res1 = "UL(0)" unkn = "UL(0)" + if (reg in defined_regs) + fatal("Duplicate Sysreg definition for " reg) + defined_regs[reg] = 1 + define("REG_" reg, "S" op0 "_" op1 "_C" crn "_C" crm "_" op2) define("SYS_" reg, "sys_reg(" op0 ", " op1 ", " crn ", " crm ", " op2 ")") @@ -284,6 +292,8 @@ $1 == "SignedEnum" && (block_current() == "Sysreg" || block_current() == "Sysreg define_field(reg, field, msb, lsb) define_field_sign(reg, field, "true") + delete seen_enum_vals + next } @@ -297,6 +307,8 @@ $1 == "UnsignedEnum" && (block_current() == "Sysreg" || block_current() == "Sysr define_field(reg, field, msb, lsb) define_field_sign(reg, field, "false") + delete seen_enum_vals + next } @@ -309,6 +321,8 @@ $1 == "Enum" && (block_current() == "Sysreg" || block_current() == "SysregFields define_field(reg, field, msb, lsb) + delete seen_enum_vals + next } @@ -320,6 +334,8 @@ $1 == "EndEnum" && block_current() == "Enum" { lsb = null print "" + delete seen_enum_vals + block_pop() next } @@ -329,6 +345,10 @@ $1 == "EndEnum" && block_current() == "Enum" { val = $1 name = $2 + if (val in seen_enum_vals) + fatal("Duplicate Enum value " val " for " name) + seen_enum_vals[val] = 1 + define(reg "_" field "_" name, "UL(" val ")") next } -- 2.51.0.338.gd7d06c2dae-goog ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v3 3/3] arm64: sysreg: Add validation checks to sysreg header generation script 2025-08-29 9:51 ` [PATCH v3 3/3] arm64: sysreg: Add validation checks to sysreg header generation script Fuad Tabba @ 2025-08-29 10:14 ` Mark Rutland 0 siblings, 0 replies; 7+ messages in thread From: Mark Rutland @ 2025-08-29 10:14 UTC (permalink / raw) To: Fuad Tabba Cc: kvmarm, linux-arm-kernel, maz, oliver.upton, will, joey.gouly, suzuki.poulose, yuzenghui, catalin.marinas, vdonnefort, qperret, sebastianene, keirf, smostafa On Fri, Aug 29, 2025 at 10:51:43AM +0100, Fuad Tabba wrote: > The gen_sysreg.awk script processes the system register specification in > the sysreg text file to generate C macro definitions. The current script > will silently accept certain errors in the specification file, leading > to incorrect header generation. > > For example, a Sysreg or SysregFields can be accidentally duplicated, > causing its macros to be emitted twice. An Enum can contain duplicate > values for different items, which is architecturally incorrect. > > Add checks to catch these errors at build time. The script now tracks > all seen Sysreg and SysregFields definitions and checks for duplicates. > It also tracks values within each Enum block to ensure entries are > unique. > > Acked-by: Marc Zyngier <maz@kernel.org> > Signed-off-by: Fuad Tabba <tabba@google.com> I wonder if it would make sense to treat SysregFields and Sysregs as one group (both using defined_regs), so that we can catch: Sysreg FOO_EL1 ... ... EndSysreg SysregFields FOO_EL1 ... EndSysregFields I have no strong feelings either way, so for this as-is OR for using `defined_regs` for both: Acked-by: Mark Rutland <mark.rutland@arm.com> Mark. > --- > arch/arm64/tools/gen-sysreg.awk | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/arch/arm64/tools/gen-sysreg.awk b/arch/arm64/tools/gen-sysreg.awk > index f2a1732cb1f6..bbbb812603e8 100755 > --- a/arch/arm64/tools/gen-sysreg.awk > +++ b/arch/arm64/tools/gen-sysreg.awk > @@ -122,6 +122,10 @@ $1 == "SysregFields" && block_current() == "Root" { > res1 = "UL(0)" > unkn = "UL(0)" > > + if (reg in defined_fields) > + fatal("Duplicate SysregFields definition for " reg) > + defined_fields[reg] = 1 > + > next_bit = 63 > > next > @@ -162,6 +166,10 @@ $1 == "Sysreg" && block_current() == "Root" { > res1 = "UL(0)" > unkn = "UL(0)" > > + if (reg in defined_regs) > + fatal("Duplicate Sysreg definition for " reg) > + defined_regs[reg] = 1 > + > define("REG_" reg, "S" op0 "_" op1 "_C" crn "_C" crm "_" op2) > define("SYS_" reg, "sys_reg(" op0 ", " op1 ", " crn ", " crm ", " op2 ")") > > @@ -284,6 +292,8 @@ $1 == "SignedEnum" && (block_current() == "Sysreg" || block_current() == "Sysreg > define_field(reg, field, msb, lsb) > define_field_sign(reg, field, "true") > > + delete seen_enum_vals > + > next > } > > @@ -297,6 +307,8 @@ $1 == "UnsignedEnum" && (block_current() == "Sysreg" || block_current() == "Sysr > define_field(reg, field, msb, lsb) > define_field_sign(reg, field, "false") > > + delete seen_enum_vals > + > next > } > > @@ -309,6 +321,8 @@ $1 == "Enum" && (block_current() == "Sysreg" || block_current() == "SysregFields > > define_field(reg, field, msb, lsb) > > + delete seen_enum_vals > + > next > } > > @@ -320,6 +334,8 @@ $1 == "EndEnum" && block_current() == "Enum" { > lsb = null > print "" > > + delete seen_enum_vals > + > block_pop() > next > } > @@ -329,6 +345,10 @@ $1 == "EndEnum" && block_current() == "Enum" { > val = $1 > name = $2 > > + if (val in seen_enum_vals) > + fatal("Duplicate Enum value " val " for " name) > + seen_enum_vals[val] = 1 > + > define(reg "_" field "_" name, "UL(" val ")") > next > } > -- > 2.51.0.338.gd7d06c2dae-goog > > ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-08-29 14:49 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-08-29 9:51 [PATCH v3 0/3] arm64: sysreg: Fix sysreg field definitions and generation script Fuad Tabba 2025-08-29 9:51 ` [PATCH v3 1/3] arm64: sysreg: Fix and tidy up sysreg field definitions Fuad Tabba 2025-08-29 10:07 ` Mark Rutland 2025-08-29 9:51 ` [PATCH v3 2/3] arm64: sysreg: Correct sign definitions for EIESB and DoubleLock Fuad Tabba 2025-08-29 10:10 ` Mark Rutland 2025-08-29 9:51 ` [PATCH v3 3/3] arm64: sysreg: Add validation checks to sysreg header generation script Fuad Tabba 2025-08-29 10:14 ` Mark Rutland
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).