On 2022/12/18 20:23, Marc Zyngier wrote:
On Sun, 18 Dec 2022 05:14:06 +0000,
Akihiko Odaki <akihiko.od...@daynix.com> 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.od...@daynix.com>
---
  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@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to