On 2022/12/18 20:23, Marc Zyngier wrote:
On Sun, 18 Dec 2022 05:14:06 +0000,
Akihiko Odaki <akihiko.odaki@xxxxxxxxxx> wrote:
Convert CCSIDR_EL1 to automatic generation as per DDI0487I.a. The field
definition is for case when FEAT_CCIDX is not implemented. Fields WT,
WB, RA and WA are defined as per A.j since they are now reserved and
may have UNKNOWN values in I.a, which the file format cannot represent.
Signed-off-by: Akihiko Odaki <akihiko.odaki@xxxxxxxxxx>
---
arch/arm64/include/asm/sysreg.h | 1 -
arch/arm64/tools/sysreg | 11 +++++++++++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h
index 7d301700d1a9..910e960661d3 100644
--- a/arch/arm64/include/asm/sysreg.h
+++ b/arch/arm64/include/asm/sysreg.h
@@ -425,7 +425,6 @@
#define SYS_CNTKCTL_EL1 sys_reg(3, 0, 14, 1, 0)
-#define SYS_CCSIDR_EL1 sys_reg(3, 1, 0, 0, 0)
#define SYS_AIDR_EL1 sys_reg(3, 1, 0, 0, 7)
#define SYS_RNDR_EL0 sys_reg(3, 3, 2, 4, 0)
diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg
index 384757a7eda9..acc79b5ccf92 100644
--- a/arch/arm64/tools/sysreg
+++ b/arch/arm64/tools/sysreg
@@ -871,6 +871,17 @@ Sysreg SCXTNUM_EL1 3 0 13 0 7
Field 63:0 SoftwareContextNumber
EndSysreg
+Sysreg CCSIDR_EL1 3 1 0 0 0
+Res0 63:32
+Field 31:31 WT
+Field 30:30 WB
+Field 29:29 RA
+Field 28:28 WA
For fields described as a single bit, the tool supports simply
indicating the bit number (28 rather than 28:28).
However, I strongly recommend against describing fields that have been
dropped from the architecture. This only happens when these fields
are never used by any implementation, so describing them is at best
useless.
arch/arm64/tools/gen-sysreg.awk does not allow a hole and requires all
bits are described hence these descriptions. If you have an alternative
idea I'd like to hear.
+Field 27:13 NumSets
+Field 12:3 Associavity
+Field 2:0 LineSize
+EndSysreg
+
I don't think we have a good solution for overlapping fields that
depend on other factors, either contextual (such as a mode that
changes the layout of a sysreg), or architecture warts such as
FEAT_CCIDX (which changes the layout of a well-known sysreg).
At least, put a comment here that indicates the context of the
description.
Sounds good. I'll do so with the next version.
Regards,
Akihiko Odaki
Thanks,
M.
_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm