public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Tsukasa OI <research_trasio@irq.a4lg.com>
To: Tsukasa OI <research_trasio@irq.a4lg.com>
Cc: binutils@sourceware.org
Subject: [PATCH 6/6] RISC-V: Add 'Sstc' extension and its CSRs
Date: Tue, 11 Jan 2022 19:59:28 +0900	[thread overview]
Message-ID: <35839ba76a084462a79c7a5a46efc93415ac2a61.1641898723.git.research_trasio@irq.a4lg.com> (raw)
In-Reply-To: <cover.1641898723.git.research_trasio@irq.a4lg.com>

This commit adds "stimecmp / vstimecmp" Extension (Sstc) and its CSRs.

bfd/ChangeLog:

	* elfxx-riscv.c (riscv_supported_std_s_ext): Add 'Sstc'
	extension to valid 'S' extension list.

gas/ChangeLog:

	* config/tc-riscv.c (enum riscv_csr_class): Add CSR classes for
	'Sstc' extension. (riscv_csr_address): Add handling for new CSR
	classes.
	* testsuite/gas/riscv/csr-dw-regnums.s: Add new CSRs.
	* testsuite/gas/riscv/csr-dw-regnums.d: Likewise.
	* testsuite/gas/riscv/csr.s: Add new CSRs.
	* testsuite/gas/riscv/csr-version-1p9p1.d: Likewise.
	* testsuite/gas/riscv/csr-version-1p9p1.l: Likewise.
	* testsuite/gas/riscv/csr-version-1p10.d: Likewise.
	* testsuite/gas/riscv/csr-version-1p10.l: Likewise.
	* testsuite/gas/riscv/csr-version-1p11.d: Likewise.
	* testsuite/gas/riscv/csr-version-1p11.l: Likewise.
	* testsuite/gas/riscv/csr-version-1p12.d: Likewise.
	* testsuite/gas/riscv/csr-version-1p12.l: Likewise.

include/ChangeLog:

	* opcode/riscv-opc.h (CSR_STIMECMP, CSR_STIMECMPH,
	CSR_VSTIMECMP, CSR_VSTIMECMPH): New CSR macros.
---
 bfd/elfxx-riscv.c                           |  1 +
 gas/config/tc-riscv.c                       |  8 ++++++++
 gas/testsuite/gas/riscv/csr-dw-regnums.d    |  4 ++++
 gas/testsuite/gas/riscv/csr-dw-regnums.s    |  5 +++++
 gas/testsuite/gas/riscv/csr-version-1p10.d  |  8 ++++++++
 gas/testsuite/gas/riscv/csr-version-1p10.l  | 16 ++++++++++++++++
 gas/testsuite/gas/riscv/csr-version-1p11.d  |  8 ++++++++
 gas/testsuite/gas/riscv/csr-version-1p11.l  | 12 ++++++++++++
 gas/testsuite/gas/riscv/csr-version-1p12.d  |  8 ++++++++
 gas/testsuite/gas/riscv/csr-version-1p12.l  |  8 ++++++++
 gas/testsuite/gas/riscv/csr-version-1p9p1.d |  8 ++++++++
 gas/testsuite/gas/riscv/csr-version-1p9p1.l | 16 ++++++++++++++++
 gas/testsuite/gas/riscv/csr.s               |  6 ++++++
 include/opcode/riscv-opc.h                  | 10 ++++++++++
 14 files changed, 118 insertions(+)

diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
index f8061869047..eeef566586f 100644
--- a/bfd/elfxx-riscv.c
+++ b/bfd/elfxx-riscv.c
@@ -1229,6 +1229,7 @@ static struct riscv_supported_ext riscv_supported_std_s_ext[] =
 {
   {"smstateen",		ISA_SPEC_CLASS_DRAFT,		1, 0, 0 },
   {"sscofpmf",		ISA_SPEC_CLASS_DRAFT,		1, 0, 0 },
+  {"sstc",		ISA_SPEC_CLASS_DRAFT,		1, 0, 0 },
   {"svinval",		ISA_SPEC_CLASS_DRAFT,		1, 0, 0 },
   {NULL, 0, 0, 0, 0}
 };
diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c
index 03389605869..36e527e1b9c 100644
--- a/gas/config/tc-riscv.c
+++ b/gas/config/tc-riscv.c
@@ -69,6 +69,8 @@ enum riscv_csr_class
   CSR_CLASS_SMSTATEEN_32,	/* Smstateen RV32 only */
   CSR_CLASS_SSCOFPMF,		/* Sscofpmf only */
   CSR_CLASS_SSCOFPMF_32,	/* Sscofpmf RV32 only */
+  CSR_CLASS_SSTC,		/* Sstc only */
+  CSR_CLASS_SSTC_32,		/* Sstc RV32 only */
   CSR_CLASS_DEBUG	/* debug CSR */
 };
 
@@ -921,6 +923,12 @@ riscv_csr_address (const char *csr_name,
     case CSR_CLASS_SSCOFPMF_32:
       result = (xlen == 32 && riscv_subset_supports (&riscv_rps_as, "sscofpmf"));
       break;
+    case CSR_CLASS_SSTC:
+      result = riscv_subset_supports (&riscv_rps_as, "sstc");
+      break;
+    case CSR_CLASS_SSTC_32:
+      result = (xlen == 32 && riscv_subset_supports (&riscv_rps_as, "sstc"));
+      break;
     case CSR_CLASS_DEBUG:
       need_check_version = false;
       break;
diff --git a/gas/testsuite/gas/riscv/csr-dw-regnums.d b/gas/testsuite/gas/riscv/csr-dw-regnums.d
index 355272e5327..6c25ad64a0d 100644
--- a/gas/testsuite/gas/riscv/csr-dw-regnums.d
+++ b/gas/testsuite/gas/riscv/csr-dw-regnums.d
@@ -374,6 +374,10 @@ Contents of the .* section:
   DW_CFA_offset_extended_sf: r5949 \(mhpmevent29h\) at cfa\+7412
   DW_CFA_offset_extended_sf: r5950 \(mhpmevent30h\) at cfa\+7416
   DW_CFA_offset_extended_sf: r5951 \(mhpmevent31h\) at cfa\+7420
+  DW_CFA_offset_extended_sf: r4429 \(stimecmp\) at cfa\+1332
+  DW_CFA_offset_extended_sf: r4445 \(stimecmph\) at cfa\+1396
+  DW_CFA_offset_extended_sf: r4685 \(vstimecmp\) at cfa\+2356
+  DW_CFA_offset_extended_sf: r4701 \(vstimecmph\) at cfa\+2420
   DW_CFA_offset_extended_sf: r4163 \(utval\) at cfa\+268
   DW_CFA_offset_extended_sf: r4419 \(stval\) at cfa\+1292
   DW_CFA_offset_extended_sf: r4480 \(satp\) at cfa\+1536
diff --git a/gas/testsuite/gas/riscv/csr-dw-regnums.s b/gas/testsuite/gas/riscv/csr-dw-regnums.s
index 3f7a520c6f2..26c9daeb2ad 100644
--- a/gas/testsuite/gas/riscv/csr-dw-regnums.s
+++ b/gas/testsuite/gas/riscv/csr-dw-regnums.s
@@ -367,6 +367,11 @@ _start:
 	.cfi_offset mhpmevent29h, 7412
 	.cfi_offset mhpmevent30h, 7416
 	.cfi_offset mhpmevent31h, 7420
+	# Sstc extension
+	.cfi_offset stimecmp, 1332
+	.cfi_offset stimecmph, 1396
+	.cfi_offset vstimecmp, 2356
+	.cfi_offset vstimecmph, 2420
 	# dropped aliases
 	.cfi_offset ubadaddr, 268
 	.cfi_offset sbadaddr, 1292
diff --git a/gas/testsuite/gas/riscv/csr-version-1p10.d b/gas/testsuite/gas/riscv/csr-version-1p10.d
index 84cd8c651ce..27efd5c1ea2 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p10.d
+++ b/gas/testsuite/gas/riscv/csr-version-1p10.d
@@ -723,6 +723,14 @@ Disassembly of section .text:
 [ 	]+[0-9a-f]+:[ 	]+73e59073[ 	]+csrw[ 	]+0x73e,a1
 [ 	]+[0-9a-f]+:[ 	]+73f02573[ 	]+csrr[ 	]+a0,0x73f
 [ 	]+[0-9a-f]+:[ 	]+73f59073[ 	]+csrw[ 	]+0x73f,a1
+[ 	]+[0-9a-f]+:[ 	]+14d02573[ 	]+csrr[ 	]+a0,0x14d
+[ 	]+[0-9a-f]+:[ 	]+14d59073[ 	]+csrw[ 	]+0x14d,a1
+[ 	]+[0-9a-f]+:[ 	]+15d02573[ 	]+csrr[ 	]+a0,0x15d
+[ 	]+[0-9a-f]+:[ 	]+15d59073[ 	]+csrw[ 	]+0x15d,a1
+[ 	]+[0-9a-f]+:[ 	]+24d02573[ 	]+csrr[ 	]+a0,0x24d
+[ 	]+[0-9a-f]+:[ 	]+24d59073[ 	]+csrw[ 	]+0x24d,a1
+[ 	]+[0-9a-f]+:[ 	]+25d02573[ 	]+csrr[ 	]+a0,0x25d
+[ 	]+[0-9a-f]+:[ 	]+25d59073[ 	]+csrw[ 	]+0x25d,a1
 [ 	]+[0-9a-f]+:[ 	]+04302573[ 	]+csrr[ 	]+a0,utval
 [ 	]+[0-9a-f]+:[ 	]+04359073[ 	]+csrw[ 	]+utval,a1
 [ 	]+[0-9a-f]+:[ 	]+14302573[ 	]+csrr[ 	]+a0,stval
diff --git a/gas/testsuite/gas/riscv/csr-version-1p10.l b/gas/testsuite/gas/riscv/csr-version-1p10.l
index 264bda20b2a..03a36d24510 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p10.l
+++ b/gas/testsuite/gas/riscv/csr-version-1p10.l
@@ -590,6 +590,22 @@
 .*Warning: invalid CSR `mhpmevent31h' for the privileged spec `1.10'
 .*Warning: invalid CSR `mhpmevent31h' for the current ISA
 .*Warning: invalid CSR `mhpmevent31h' for the privileged spec `1.10'
+.*Warning: invalid CSR `stimecmp' for the current ISA
+.*Warning: invalid CSR `stimecmp' for the privileged spec `1.10'
+.*Warning: invalid CSR `stimecmp' for the current ISA
+.*Warning: invalid CSR `stimecmp' for the privileged spec `1.10'
+.*Warning: invalid CSR `stimecmph' for the current ISA
+.*Warning: invalid CSR `stimecmph' for the privileged spec `1.10'
+.*Warning: invalid CSR `stimecmph' for the current ISA
+.*Warning: invalid CSR `stimecmph' for the privileged spec `1.10'
+.*Warning: invalid CSR `vstimecmp' for the current ISA
+.*Warning: invalid CSR `vstimecmp' for the privileged spec `1.10'
+.*Warning: invalid CSR `vstimecmp' for the current ISA
+.*Warning: invalid CSR `vstimecmp' for the privileged spec `1.10'
+.*Warning: invalid CSR `vstimecmph' for the current ISA
+.*Warning: invalid CSR `vstimecmph' for the privileged spec `1.10'
+.*Warning: invalid CSR `vstimecmph' for the current ISA
+.*Warning: invalid CSR `vstimecmph' for the privileged spec `1.10'
 .*Warning: invalid CSR `ubadaddr' for the privileged spec `1.10'
 .*Warning: invalid CSR `ubadaddr' for the privileged spec `1.10'
 .*Warning: invalid CSR `sbadaddr' for the privileged spec `1.10'
diff --git a/gas/testsuite/gas/riscv/csr-version-1p11.d b/gas/testsuite/gas/riscv/csr-version-1p11.d
index 0a37e88654c..ac81a66f27b 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p11.d
+++ b/gas/testsuite/gas/riscv/csr-version-1p11.d
@@ -723,6 +723,14 @@ Disassembly of section .text:
 [ 	]+[0-9a-f]+:[ 	]+73e59073[ 	]+csrw[ 	]+mhpmevent30h,a1
 [ 	]+[0-9a-f]+:[ 	]+73f02573[ 	]+csrr[ 	]+a0,mhpmevent31h
 [ 	]+[0-9a-f]+:[ 	]+73f59073[ 	]+csrw[ 	]+mhpmevent31h,a1
+[ 	]+[0-9a-f]+:[ 	]+14d02573[ 	]+csrr[ 	]+a0,stimecmp
+[ 	]+[0-9a-f]+:[ 	]+14d59073[ 	]+csrw[ 	]+stimecmp,a1
+[ 	]+[0-9a-f]+:[ 	]+15d02573[ 	]+csrr[ 	]+a0,stimecmph
+[ 	]+[0-9a-f]+:[ 	]+15d59073[ 	]+csrw[ 	]+stimecmph,a1
+[ 	]+[0-9a-f]+:[ 	]+24d02573[ 	]+csrr[ 	]+a0,0x24d
+[ 	]+[0-9a-f]+:[ 	]+24d59073[ 	]+csrw[ 	]+0x24d,a1
+[ 	]+[0-9a-f]+:[ 	]+25d02573[ 	]+csrr[ 	]+a0,0x25d
+[ 	]+[0-9a-f]+:[ 	]+25d59073[ 	]+csrw[ 	]+0x25d,a1
 [ 	]+[0-9a-f]+:[ 	]+04302573[ 	]+csrr[ 	]+a0,utval
 [ 	]+[0-9a-f]+:[ 	]+04359073[ 	]+csrw[ 	]+utval,a1
 [ 	]+[0-9a-f]+:[ 	]+14302573[ 	]+csrr[ 	]+a0,stval
diff --git a/gas/testsuite/gas/riscv/csr-version-1p11.l b/gas/testsuite/gas/riscv/csr-version-1p11.l
index 89e0894c21d..44c73e152f8 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p11.l
+++ b/gas/testsuite/gas/riscv/csr-version-1p11.l
@@ -528,6 +528,18 @@
 .*Warning: invalid CSR `mhpmevent30h' for the current ISA
 .*Warning: invalid CSR `mhpmevent31h' for the current ISA
 .*Warning: invalid CSR `mhpmevent31h' for the current ISA
+.*Warning: invalid CSR `stimecmp' for the current ISA
+.*Warning: invalid CSR `stimecmp' for the current ISA
+.*Warning: invalid CSR `stimecmph' for the current ISA
+.*Warning: invalid CSR `stimecmph' for the current ISA
+.*Warning: invalid CSR `vstimecmp' for the current ISA
+.*Warning: invalid CSR `vstimecmp' for the privileged spec `1.11'
+.*Warning: invalid CSR `vstimecmp' for the current ISA
+.*Warning: invalid CSR `vstimecmp' for the privileged spec `1.11'
+.*Warning: invalid CSR `vstimecmph' for the current ISA
+.*Warning: invalid CSR `vstimecmph' for the privileged spec `1.11'
+.*Warning: invalid CSR `vstimecmph' for the current ISA
+.*Warning: invalid CSR `vstimecmph' for the privileged spec `1.11'
 .*Warning: invalid CSR `ubadaddr' for the privileged spec `1.11'
 .*Warning: invalid CSR `ubadaddr' for the privileged spec `1.11'
 .*Warning: invalid CSR `sbadaddr' for the privileged spec `1.11'
diff --git a/gas/testsuite/gas/riscv/csr-version-1p12.d b/gas/testsuite/gas/riscv/csr-version-1p12.d
index c30f413eccf..0b6fb537b98 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p12.d
+++ b/gas/testsuite/gas/riscv/csr-version-1p12.d
@@ -723,6 +723,14 @@ Disassembly of section .text:
 [ 	]+[0-9a-f]+:[ 	]+73e59073[ 	]+csrw[ 	]+mhpmevent30h,a1
 [ 	]+[0-9a-f]+:[ 	]+73f02573[ 	]+csrr[ 	]+a0,mhpmevent31h
 [ 	]+[0-9a-f]+:[ 	]+73f59073[ 	]+csrw[ 	]+mhpmevent31h,a1
+[ 	]+[0-9a-f]+:[ 	]+14d02573[ 	]+csrr[ 	]+a0,stimecmp
+[ 	]+[0-9a-f]+:[ 	]+14d59073[ 	]+csrw[ 	]+stimecmp,a1
+[ 	]+[0-9a-f]+:[ 	]+15d02573[ 	]+csrr[ 	]+a0,stimecmph
+[ 	]+[0-9a-f]+:[ 	]+15d59073[ 	]+csrw[ 	]+stimecmph,a1
+[ 	]+[0-9a-f]+:[ 	]+24d02573[ 	]+csrr[ 	]+a0,vstimecmp
+[ 	]+[0-9a-f]+:[ 	]+24d59073[ 	]+csrw[ 	]+vstimecmp,a1
+[ 	]+[0-9a-f]+:[ 	]+25d02573[ 	]+csrr[ 	]+a0,vstimecmph
+[ 	]+[0-9a-f]+:[ 	]+25d59073[ 	]+csrw[ 	]+vstimecmph,a1
 [ 	]+[0-9a-f]+:[ 	]+04302573[ 	]+csrr[ 	]+a0,utval
 [ 	]+[0-9a-f]+:[ 	]+04359073[ 	]+csrw[ 	]+utval,a1
 [ 	]+[0-9a-f]+:[ 	]+14302573[ 	]+csrr[ 	]+a0,stval
diff --git a/gas/testsuite/gas/riscv/csr-version-1p12.l b/gas/testsuite/gas/riscv/csr-version-1p12.l
index ce1d689e104..38404de1988 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p12.l
+++ b/gas/testsuite/gas/riscv/csr-version-1p12.l
@@ -322,6 +322,14 @@
 .*Warning: invalid CSR `mhpmevent30h' for the current ISA
 .*Warning: invalid CSR `mhpmevent31h' for the current ISA
 .*Warning: invalid CSR `mhpmevent31h' for the current ISA
+.*Warning: invalid CSR `stimecmp' for the current ISA
+.*Warning: invalid CSR `stimecmp' for the current ISA
+.*Warning: invalid CSR `stimecmph' for the current ISA
+.*Warning: invalid CSR `stimecmph' for the current ISA
+.*Warning: invalid CSR `vstimecmp' for the current ISA
+.*Warning: invalid CSR `vstimecmp' for the current ISA
+.*Warning: invalid CSR `vstimecmph' for the current ISA
+.*Warning: invalid CSR `vstimecmph' for the current ISA
 .*Warning: invalid CSR `ubadaddr' for the privileged spec `1.12'
 .*Warning: invalid CSR `ubadaddr' for the privileged spec `1.12'
 .*Warning: invalid CSR `sbadaddr' for the privileged spec `1.12'
diff --git a/gas/testsuite/gas/riscv/csr-version-1p9p1.d b/gas/testsuite/gas/riscv/csr-version-1p9p1.d
index 294742fefb3..d1075221b34 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p9p1.d
+++ b/gas/testsuite/gas/riscv/csr-version-1p9p1.d
@@ -723,6 +723,14 @@ Disassembly of section .text:
 [ 	]+[0-9a-f]+:[ 	]+73e59073[ 	]+csrw[ 	]+0x73e,a1
 [ 	]+[0-9a-f]+:[ 	]+73f02573[ 	]+csrr[ 	]+a0,0x73f
 [ 	]+[0-9a-f]+:[ 	]+73f59073[ 	]+csrw[ 	]+0x73f,a1
+[ 	]+[0-9a-f]+:[ 	]+14d02573[ 	]+csrr[ 	]+a0,0x14d
+[ 	]+[0-9a-f]+:[ 	]+14d59073[ 	]+csrw[ 	]+0x14d,a1
+[ 	]+[0-9a-f]+:[ 	]+15d02573[ 	]+csrr[ 	]+a0,0x15d
+[ 	]+[0-9a-f]+:[ 	]+15d59073[ 	]+csrw[ 	]+0x15d,a1
+[ 	]+[0-9a-f]+:[ 	]+24d02573[ 	]+csrr[ 	]+a0,0x24d
+[ 	]+[0-9a-f]+:[ 	]+24d59073[ 	]+csrw[ 	]+0x24d,a1
+[ 	]+[0-9a-f]+:[ 	]+25d02573[ 	]+csrr[ 	]+a0,0x25d
+[ 	]+[0-9a-f]+:[ 	]+25d59073[ 	]+csrw[ 	]+0x25d,a1
 [ 	]+[0-9a-f]+:[ 	]+04302573[ 	]+csrr[ 	]+a0,ubadaddr
 [ 	]+[0-9a-f]+:[ 	]+04359073[ 	]+csrw[ 	]+ubadaddr,a1
 [ 	]+[0-9a-f]+:[ 	]+14302573[ 	]+csrr[ 	]+a0,sbadaddr
diff --git a/gas/testsuite/gas/riscv/csr-version-1p9p1.l b/gas/testsuite/gas/riscv/csr-version-1p9p1.l
index 9ff40ef8249..be569a123e6 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p9p1.l
+++ b/gas/testsuite/gas/riscv/csr-version-1p9p1.l
@@ -642,6 +642,22 @@
 .*Warning: invalid CSR `mhpmevent31h' for the privileged spec `1.9.1'
 .*Warning: invalid CSR `mhpmevent31h' for the current ISA
 .*Warning: invalid CSR `mhpmevent31h' for the privileged spec `1.9.1'
+.*Warning: invalid CSR `stimecmp' for the current ISA
+.*Warning: invalid CSR `stimecmp' for the privileged spec `1.9.1'
+.*Warning: invalid CSR `stimecmp' for the current ISA
+.*Warning: invalid CSR `stimecmp' for the privileged spec `1.9.1'
+.*Warning: invalid CSR `stimecmph' for the current ISA
+.*Warning: invalid CSR `stimecmph' for the privileged spec `1.9.1'
+.*Warning: invalid CSR `stimecmph' for the current ISA
+.*Warning: invalid CSR `stimecmph' for the privileged spec `1.9.1'
+.*Warning: invalid CSR `vstimecmp' for the current ISA
+.*Warning: invalid CSR `vstimecmp' for the privileged spec `1.9.1'
+.*Warning: invalid CSR `vstimecmp' for the current ISA
+.*Warning: invalid CSR `vstimecmp' for the privileged spec `1.9.1'
+.*Warning: invalid CSR `vstimecmph' for the current ISA
+.*Warning: invalid CSR `vstimecmph' for the privileged spec `1.9.1'
+.*Warning: invalid CSR `vstimecmph' for the current ISA
+.*Warning: invalid CSR `vstimecmph' for the privileged spec `1.9.1'
 .*Warning: invalid CSR `fflags' for the current ISA
 .*Warning: invalid CSR `fflags' for the current ISA
 .*Warning: invalid CSR `frm' for the current ISA
diff --git a/gas/testsuite/gas/riscv/csr.s b/gas/testsuite/gas/riscv/csr.s
index 38c5015fc94..67e15d4cefc 100644
--- a/gas/testsuite/gas/riscv/csr.s
+++ b/gas/testsuite/gas/riscv/csr.s
@@ -404,6 +404,12 @@
 	csr mhpmevent30h
 	csr mhpmevent31h
 
+	# Sstc extension
+	csr stimecmp
+	csr stimecmph
+	csr vstimecmp
+	csr vstimecmph
+
 	# Supported in previous priv spec, but dropped now
 
 	csr ubadaddr		# 0x043 in 1.9.1, but the value is utval since 1.10
diff --git a/include/opcode/riscv-opc.h b/include/opcode/riscv-opc.h
index d5802d9cc18..39611ef511b 100644
--- a/include/opcode/riscv-opc.h
+++ b/include/opcode/riscv-opc.h
@@ -2398,6 +2398,11 @@
 #define CSR_MHPMEVENT29H 0x73d
 #define CSR_MHPMEVENT30H 0x73e
 #define CSR_MHPMEVENT31H 0x73f
+/* Sstc extension */
+#define CSR_STIMECMP 0x14d
+#define CSR_STIMECMPH 0x15d
+#define CSR_VSTIMECMP 0x24d
+#define CSR_VSTIMECMPH 0x25d
 /* Unprivileged CSR addresses.  */
 #define CSR_FFLAGS 0x1
 #define CSR_FRM 0x2
@@ -3112,6 +3117,11 @@ DECLARE_CSR(mhpmevent28h, CSR_MHPMEVENT28H, CSR_CLASS_SSCOFPMF_32, PRIV_SPEC_CLA
 DECLARE_CSR(mhpmevent29h, CSR_MHPMEVENT29H, CSR_CLASS_SSCOFPMF_32, PRIV_SPEC_CLASS_1P11, PRIV_SPEC_CLASS_DRAFT)
 DECLARE_CSR(mhpmevent30h, CSR_MHPMEVENT30H, CSR_CLASS_SSCOFPMF_32, PRIV_SPEC_CLASS_1P11, PRIV_SPEC_CLASS_DRAFT)
 DECLARE_CSR(mhpmevent31h, CSR_MHPMEVENT31H, CSR_CLASS_SSCOFPMF_32, PRIV_SPEC_CLASS_1P11, PRIV_SPEC_CLASS_DRAFT)
+/* Sstc extension */
+DECLARE_CSR(stimecmp, CSR_STIMECMP, CSR_CLASS_SSTC, PRIV_SPEC_CLASS_1P11, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(stimecmph, CSR_STIMECMPH, CSR_CLASS_SSTC_32, PRIV_SPEC_CLASS_1P11, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(vstimecmp, CSR_VSTIMECMP, CSR_CLASS_SSTC, PRIV_SPEC_CLASS_1P12, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(vstimecmph, CSR_VSTIMECMPH, CSR_CLASS_SSTC_32, PRIV_SPEC_CLASS_1P12, PRIV_SPEC_CLASS_DRAFT)
 /* Dropped CSRs.  */
 DECLARE_CSR(mbase, CSR_MBASE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_1P10)
 DECLARE_CSR(mbound, CSR_MBOUND, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_1P10)
-- 
2.32.0


  parent reply	other threads:[~2022-01-11 11:00 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-11 10:59 [PATCH 0/6] RISC-V: Add Privileged Arch 1.12 and More CSRs Tsukasa OI
2022-01-11 10:59 ` [PATCH 1/6] RISC-V: Reorganize testcases for CFI directives Tsukasa OI
2022-02-23  6:58   ` Nelson Chu
2022-01-11 10:59 ` [PATCH 2/6] RISC-V: Add Privileged Architecture 1.12 CSRs Tsukasa OI
2022-02-23  6:58   ` Nelson Chu
2022-02-24  2:35     ` Tsukasa OI
2022-02-24  6:05       ` Nelson Chu
2022-01-11 10:59 ` [PATCH 3/6] RISC-V: Add Privileged Arch 1.12 CSR testcases Tsukasa OI
2022-02-23  6:58   ` Nelson Chu
2022-01-11 10:59 ` [PATCH 4/6] RISC-V: Add 'Smstateen' extension and its CSRs Tsukasa OI
2022-01-11 10:59 ` [PATCH 5/6] RISC-V: Add 'Sscofpmf' extension with " Tsukasa OI
2022-01-11 10:59 ` Tsukasa OI [this message]
2022-02-24 12:10 ` [PATCH 0/3] RISC-V: Add CSRs for several supervisor extensions Tsukasa OI
2022-02-24 12:10   ` [PATCH 1/3] RISC-V: Add 'Smstateen' extension and its CSRs Tsukasa OI
2022-02-25  6:32     ` Nelson Chu
2022-02-25  6:35       ` Tsukasa OI
2022-02-25 10:51       ` Tsukasa OI
2022-03-02  4:34         ` Nelson Chu
2022-02-24 12:10   ` [PATCH 2/3] RISC-V: Add 'Sscofpmf' extension with " Tsukasa OI
2022-02-24 12:10   ` [PATCH 3/3] RISC-V: Add 'Sstc' extension and " Tsukasa OI
2022-05-24  9:35   ` [PATCH v2 0/3] RISC-V: Add CSRs for several supervisor extensions Tsukasa OI
2022-05-24  9:35     ` [PATCH v2 1/3] RISC-V: Add 'Smstateen' extension and its CSRs Tsukasa OI
2022-05-24  9:35     ` [PATCH v2 2/3] RISC-V: Add 'Sscofpmf' extension with " Tsukasa OI
2022-05-24  9:35     ` [PATCH v2 3/3] RISC-V: Add 'Sstc' extension and " Tsukasa OI
2022-06-24  2:51     ` [PATCH v3 0/4] RISC-V: Add CSRs for several supervisor extensions Tsukasa OI
2022-06-24  2:51       ` [PATCH v3 1/4] RISC-V: Add new CSR feature gate handling (RV32,H) Tsukasa OI
2022-06-24  2:51       ` [PATCH v3 2/4] RISC-V: Add 'Smstateen' extension and its CSRs Tsukasa OI
2022-06-24  2:51       ` [PATCH v3 3/4] RISC-V: Add 'Sscofpmf' extension with " Tsukasa OI
2022-06-24  2:51       ` [PATCH v3 4/4] RISC-V: Add 'Sstc' extension and " Tsukasa OI
2022-06-28  1:40       ` [PATCH v3 0/4] RISC-V: Add CSRs for several supervisor extensions Nelson Chu
2022-06-28  5:33         ` Tsukasa OI
2022-06-28  6:56           ` Nelson Chu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=35839ba76a084462a79c7a5a46efc93415ac2a61.1641898723.git.research_trasio@irq.a4lg.com \
    --to=research_trasio@irq.a4lg.com \
    --cc=binutils@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).