* [PATCH for-10.0 0/9] target/riscv: add 'sha' support
@ 2024-11-13 17:17 Daniel Henrique Barboza
2024-11-13 17:17 ` [PATCH for-10.0 1/9] target/riscv/tcg: hide warn for named feats when disabling via priv_ver Daniel Henrique Barboza
` (9 more replies)
0 siblings, 10 replies; 23+ messages in thread
From: Daniel Henrique Barboza @ 2024-11-13 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-riscv, alistair.francis, bmeng, liwei1518, zhiwei_liu,
palmer, Daniel Henrique Barboza
Hi,
'sha' is defined in RVA22 as "augmented hypervisor extension" and
consists of a set of named features that must be enabled.
RVA23 makes 'sha' mandatory, so let's add official support for it in
preparation to support RVA23 later.
Most of the named features added here are always implemented by TCG.
Only 'ssstateen' has a runtime dependency.
Daniel Henrique Barboza (9):
target/riscv/tcg: hide warn for named feats when disabling via
priv_ver
target/riscv: add ssstateen
target/riscv: add shcounterenw
target/riscv: add shvstvala
target/riscv: add shtvala
target/riscv: add shvstvecd
target/riscv: add shvsatpa
target/riscv: add shgatpa
target/riscv/tcg: add sha
target/riscv/cpu.c | 10 ++++++++++
target/riscv/cpu_cfg.h | 2 ++
target/riscv/tcg/tcg-cpu.c | 30 ++++++++++++++++++++++++++----
3 files changed, 38 insertions(+), 4 deletions(-)
--
2.47.0
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH for-10.0 1/9] target/riscv/tcg: hide warn for named feats when disabling via priv_ver
2024-11-13 17:17 [PATCH for-10.0 0/9] target/riscv: add 'sha' support Daniel Henrique Barboza
@ 2024-11-13 17:17 ` Daniel Henrique Barboza
2024-11-25 4:36 ` Alistair Francis
2024-11-13 17:17 ` [PATCH for-10.0 2/9] target/riscv: add ssstateen Daniel Henrique Barboza
` (8 subsequent siblings)
9 siblings, 1 reply; 23+ messages in thread
From: Daniel Henrique Barboza @ 2024-11-13 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-riscv, alistair.francis, bmeng, liwei1518, zhiwei_liu,
palmer, Daniel Henrique Barboza
Commit 68c9e54bea handled a situation where a warning was being shown
when using the 'sifive_e' cpu when disabling the named extension zic64b.
It makes little sense to show user warnings for named extensions that
users can't control, and the solution taken was to disable zic64b
manually in riscv_cpu_update_named_features().
This solution won't scale well when adding more named features, and can
eventually end up repeating riscv_cpu_disable_priv_spec_isa_exts().
Change riscv_cpu_disable_priv_spec_isa_exts() to not show warnings when
disabling a named feature. This will accomplish the same thing we're
doing today while avoiding having two points where we're disabling
exts via priv_ver mismatch.
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
target/riscv/tcg/tcg-cpu.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c
index c62c221696..cd83968166 100644
--- a/target/riscv/tcg/tcg-cpu.c
+++ b/target/riscv/tcg/tcg-cpu.c
@@ -304,6 +304,15 @@ static void riscv_cpu_disable_priv_spec_isa_exts(RISCVCPU *cpu)
}
isa_ext_update_enabled(cpu, edata->ext_enable_offset, false);
+
+ /*
+ * Do not show user warnings for named features that users
+ * can't enable/disable in the command line. See commit
+ * 68c9e54bea for more info.
+ */
+ if (cpu_cfg_offset_is_named_feat(edata->ext_enable_offset)) {
+ continue;
+ }
#ifndef CONFIG_USER_ONLY
warn_report("disabling %s extension for hart 0x" TARGET_FMT_lx
" because privilege spec version does not match",
@@ -331,11 +340,9 @@ static void riscv_cpu_update_named_features(RISCVCPU *cpu)
cpu->cfg.has_priv_1_13 = true;
}
- /* zic64b is 1.12 or later */
cpu->cfg.ext_zic64b = cpu->cfg.cbom_blocksize == 64 &&
cpu->cfg.cbop_blocksize == 64 &&
- cpu->cfg.cboz_blocksize == 64 &&
- cpu->cfg.has_priv_1_12;
+ cpu->cfg.cboz_blocksize == 64;
}
static void riscv_cpu_validate_g(RISCVCPU *cpu)
--
2.47.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH for-10.0 2/9] target/riscv: add ssstateen
2024-11-13 17:17 [PATCH for-10.0 0/9] target/riscv: add 'sha' support Daniel Henrique Barboza
2024-11-13 17:17 ` [PATCH for-10.0 1/9] target/riscv/tcg: hide warn for named feats when disabling via priv_ver Daniel Henrique Barboza
@ 2024-11-13 17:17 ` Daniel Henrique Barboza
2024-12-03 13:29 ` Andrew Jones
2024-12-04 3:43 ` Alistair Francis
2024-11-13 17:17 ` [PATCH for-10.0 3/9] target/riscv: add shcounterenw Daniel Henrique Barboza
` (7 subsequent siblings)
9 siblings, 2 replies; 23+ messages in thread
From: Daniel Henrique Barboza @ 2024-11-13 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-riscv, alistair.francis, bmeng, liwei1518, zhiwei_liu,
palmer, Daniel Henrique Barboza
ssstateen is defined in RVA22 as:
"Supervisor-mode view of the state-enable extension. The supervisor-mode
(sstateen0-3) and hypervisor-mode (hstateen0-3) state-enable registers
must be provided."
Add ssstateen as a named feature that is available if we also have
smstateen.
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
target/riscv/cpu.c | 2 ++
target/riscv/cpu_cfg.h | 1 +
target/riscv/tcg/tcg-cpu.c | 9 ++++++++-
3 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index f219f0c3b5..4ad91722a0 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -191,6 +191,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
ISA_EXT_DATA_ENTRY(ssccptr, PRIV_VERSION_1_11_0, has_priv_1_11),
ISA_EXT_DATA_ENTRY(sscofpmf, PRIV_VERSION_1_12_0, ext_sscofpmf),
ISA_EXT_DATA_ENTRY(sscounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
+ ISA_EXT_DATA_ENTRY(ssstateen, PRIV_VERSION_1_12_0, ext_ssstateen),
ISA_EXT_DATA_ENTRY(sstc, PRIV_VERSION_1_12_0, ext_sstc),
ISA_EXT_DATA_ENTRY(sstvala, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(sstvecd, PRIV_VERSION_1_12_0, has_priv_1_12),
@@ -1607,6 +1608,7 @@ const RISCVCPUMultiExtConfig riscv_cpu_experimental_exts[] = {
*/
const RISCVCPUMultiExtConfig riscv_cpu_named_features[] = {
MULTI_EXT_CFG_BOOL("zic64b", ext_zic64b, true),
+ MULTI_EXT_CFG_BOOL("ssstateen", ext_ssstateen, true),
DEFINE_PROP_END_OF_LIST(),
};
diff --git a/target/riscv/cpu_cfg.h b/target/riscv/cpu_cfg.h
index 59d6fc445d..c7bf455614 100644
--- a/target/riscv/cpu_cfg.h
+++ b/target/riscv/cpu_cfg.h
@@ -139,6 +139,7 @@ struct RISCVCPUConfig {
/* Named features */
bool ext_svade;
bool ext_zic64b;
+ bool ext_ssstateen;
/*
* Always 'true' booleans for named features
diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c
index cd83968166..0b9be2b0d3 100644
--- a/target/riscv/tcg/tcg-cpu.c
+++ b/target/riscv/tcg/tcg-cpu.c
@@ -204,10 +204,15 @@ static void riscv_cpu_enable_named_feat(RISCVCPU *cpu, uint32_t feat_offset)
* All other named features are already enabled
* in riscv_tcg_cpu_instance_init().
*/
- if (feat_offset == CPU_CFG_OFFSET(ext_zic64b)) {
+ switch (feat_offset) {
+ case CPU_CFG_OFFSET(ext_zic64b):
cpu->cfg.cbom_blocksize = 64;
cpu->cfg.cbop_blocksize = 64;
cpu->cfg.cboz_blocksize = 64;
+ break;
+ case CPU_CFG_OFFSET(ext_ssstateen):
+ cpu->cfg.ext_smstateen = true;
+ break;
}
}
@@ -343,6 +348,8 @@ static void riscv_cpu_update_named_features(RISCVCPU *cpu)
cpu->cfg.ext_zic64b = cpu->cfg.cbom_blocksize == 64 &&
cpu->cfg.cbop_blocksize == 64 &&
cpu->cfg.cboz_blocksize == 64;
+
+ cpu->cfg.ext_ssstateen = cpu->cfg.ext_smstateen;
}
static void riscv_cpu_validate_g(RISCVCPU *cpu)
--
2.47.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH for-10.0 3/9] target/riscv: add shcounterenw
2024-11-13 17:17 [PATCH for-10.0 0/9] target/riscv: add 'sha' support Daniel Henrique Barboza
2024-11-13 17:17 ` [PATCH for-10.0 1/9] target/riscv/tcg: hide warn for named feats when disabling via priv_ver Daniel Henrique Barboza
2024-11-13 17:17 ` [PATCH for-10.0 2/9] target/riscv: add ssstateen Daniel Henrique Barboza
@ 2024-11-13 17:17 ` Daniel Henrique Barboza
2024-12-04 3:45 ` Alistair Francis
2024-12-18 0:34 ` Alistair Francis
2024-11-13 17:17 ` [PATCH for-10.0 4/9] target/riscv: add shvstvala Daniel Henrique Barboza
` (6 subsequent siblings)
9 siblings, 2 replies; 23+ messages in thread
From: Daniel Henrique Barboza @ 2024-11-13 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-riscv, alistair.francis, bmeng, liwei1518, zhiwei_liu,
palmer, Daniel Henrique Barboza
shcounterenw is defined in RVA22 as:
"For any hpmcounter that is not read-only zero, the corresponding bit in
hcounteren must be writable."
This is always true in TCG so let's claim support for it.
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
target/riscv/cpu.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index 4ad91722a0..6bfb1b1530 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -183,6 +183,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
ISA_EXT_DATA_ENTRY(zvkt, PRIV_VERSION_1_12_0, ext_zvkt),
ISA_EXT_DATA_ENTRY(zhinx, PRIV_VERSION_1_12_0, ext_zhinx),
ISA_EXT_DATA_ENTRY(zhinxmin, PRIV_VERSION_1_12_0, ext_zhinxmin),
+ ISA_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(smaia, PRIV_VERSION_1_12_0, ext_smaia),
ISA_EXT_DATA_ENTRY(smcntrpmf, PRIV_VERSION_1_12_0, ext_smcntrpmf),
ISA_EXT_DATA_ENTRY(smepmp, PRIV_VERSION_1_12_0, ext_smepmp),
--
2.47.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH for-10.0 4/9] target/riscv: add shvstvala
2024-11-13 17:17 [PATCH for-10.0 0/9] target/riscv: add 'sha' support Daniel Henrique Barboza
` (2 preceding siblings ...)
2024-11-13 17:17 ` [PATCH for-10.0 3/9] target/riscv: add shcounterenw Daniel Henrique Barboza
@ 2024-11-13 17:17 ` Daniel Henrique Barboza
2024-12-04 3:49 ` Alistair Francis
2024-11-13 17:17 ` [PATCH for-10.0 5/9] target/riscv: add shtvala Daniel Henrique Barboza
` (5 subsequent siblings)
9 siblings, 1 reply; 23+ messages in thread
From: Daniel Henrique Barboza @ 2024-11-13 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-riscv, alistair.francis, bmeng, liwei1518, zhiwei_liu,
palmer, Daniel Henrique Barboza
shvstvala is defined in RVA22 as:
"vstval must be written in all cases described above for stval."
By "cases describe above" the doc refer to the description of sstvala:
"stval must be written with the faulting virtual address for load,
store, and instruction page-fault, access-fault, and misaligned
exceptions, and for breakpoint exceptions other than those caused by
execution of the EBREAK or C.EBREAK instructions. For
virtual-instruction and illegal-instruction exceptions, stval must be
written with the faulting instruction."
We already have sstvala, and our vstval follows the same rules as stval,
so we can claim to support shvstvala too.
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
target/riscv/cpu.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index 6bfb1b1530..11a0d2d04a 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -184,6 +184,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
ISA_EXT_DATA_ENTRY(zhinx, PRIV_VERSION_1_12_0, ext_zhinx),
ISA_EXT_DATA_ENTRY(zhinxmin, PRIV_VERSION_1_12_0, ext_zhinxmin),
ISA_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
+ ISA_EXT_DATA_ENTRY(shvstvala, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(smaia, PRIV_VERSION_1_12_0, ext_smaia),
ISA_EXT_DATA_ENTRY(smcntrpmf, PRIV_VERSION_1_12_0, ext_smcntrpmf),
ISA_EXT_DATA_ENTRY(smepmp, PRIV_VERSION_1_12_0, ext_smepmp),
--
2.47.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH for-10.0 5/9] target/riscv: add shtvala
2024-11-13 17:17 [PATCH for-10.0 0/9] target/riscv: add 'sha' support Daniel Henrique Barboza
` (3 preceding siblings ...)
2024-11-13 17:17 ` [PATCH for-10.0 4/9] target/riscv: add shvstvala Daniel Henrique Barboza
@ 2024-11-13 17:17 ` Daniel Henrique Barboza
2024-12-04 3:50 ` Alistair Francis
2024-11-13 17:17 ` [PATCH for-10.0 6/9] target/riscv: add shvstvecd Daniel Henrique Barboza
` (4 subsequent siblings)
9 siblings, 1 reply; 23+ messages in thread
From: Daniel Henrique Barboza @ 2024-11-13 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-riscv, alistair.francis, bmeng, liwei1518, zhiwei_liu,
palmer, Daniel Henrique Barboza
shtvala is described in RVA22 as:
"htval must be written with the faulting guest physical address
in all circumstances permitted by the ISA."
This is the case since commit 3067553993, so claim support for shtvala.
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
target/riscv/cpu.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index 11a0d2d04a..7b54c50794 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -184,6 +184,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
ISA_EXT_DATA_ENTRY(zhinx, PRIV_VERSION_1_12_0, ext_zhinx),
ISA_EXT_DATA_ENTRY(zhinxmin, PRIV_VERSION_1_12_0, ext_zhinxmin),
ISA_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
+ ISA_EXT_DATA_ENTRY(shtvala, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(shvstvala, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(smaia, PRIV_VERSION_1_12_0, ext_smaia),
ISA_EXT_DATA_ENTRY(smcntrpmf, PRIV_VERSION_1_12_0, ext_smcntrpmf),
--
2.47.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH for-10.0 6/9] target/riscv: add shvstvecd
2024-11-13 17:17 [PATCH for-10.0 0/9] target/riscv: add 'sha' support Daniel Henrique Barboza
` (4 preceding siblings ...)
2024-11-13 17:17 ` [PATCH for-10.0 5/9] target/riscv: add shtvala Daniel Henrique Barboza
@ 2024-11-13 17:17 ` Daniel Henrique Barboza
2024-12-04 3:52 ` Alistair Francis
2024-11-13 17:17 ` [PATCH for-10.0 7/9] target/riscv: add shvsatpa Daniel Henrique Barboza
` (3 subsequent siblings)
9 siblings, 1 reply; 23+ messages in thread
From: Daniel Henrique Barboza @ 2024-11-13 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-riscv, alistair.francis, bmeng, liwei1518, zhiwei_liu,
palmer, Daniel Henrique Barboza
shvstvecd is defined in RVA22 as:
"vstvec.MODE must be capable of holding the value 0 (Direct).
When vstvec.MODE=Direct, vstvec.BASE must be capable of holding any
valid four-byte-aligned address."
This is always true for TCG so let's claim support for it.
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
target/riscv/cpu.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index 7b54c50794..ae5676976b 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -186,6 +186,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
ISA_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(shtvala, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(shvstvala, PRIV_VERSION_1_12_0, has_priv_1_12),
+ ISA_EXT_DATA_ENTRY(shvstvecd, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(smaia, PRIV_VERSION_1_12_0, ext_smaia),
ISA_EXT_DATA_ENTRY(smcntrpmf, PRIV_VERSION_1_12_0, ext_smcntrpmf),
ISA_EXT_DATA_ENTRY(smepmp, PRIV_VERSION_1_12_0, ext_smepmp),
--
2.47.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH for-10.0 7/9] target/riscv: add shvsatpa
2024-11-13 17:17 [PATCH for-10.0 0/9] target/riscv: add 'sha' support Daniel Henrique Barboza
` (5 preceding siblings ...)
2024-11-13 17:17 ` [PATCH for-10.0 6/9] target/riscv: add shvstvecd Daniel Henrique Barboza
@ 2024-11-13 17:17 ` Daniel Henrique Barboza
2024-12-04 3:53 ` Alistair Francis
2024-11-13 17:17 ` [PATCH for-10.0 8/9] target/riscv: add shgatpa Daniel Henrique Barboza
` (2 subsequent siblings)
9 siblings, 1 reply; 23+ messages in thread
From: Daniel Henrique Barboza @ 2024-11-13 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-riscv, alistair.francis, bmeng, liwei1518, zhiwei_liu,
palmer, Daniel Henrique Barboza
shvsatpa is defined in RVA22 as:
"All translation modes supported in satp must be supported in vsatp."
This is always true in TCG so let's claim support for it.
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
target/riscv/cpu.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index ae5676976b..068b019564 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -185,6 +185,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
ISA_EXT_DATA_ENTRY(zhinxmin, PRIV_VERSION_1_12_0, ext_zhinxmin),
ISA_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(shtvala, PRIV_VERSION_1_12_0, has_priv_1_12),
+ ISA_EXT_DATA_ENTRY(shvsatpa, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(shvstvala, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(shvstvecd, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(smaia, PRIV_VERSION_1_12_0, ext_smaia),
--
2.47.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH for-10.0 8/9] target/riscv: add shgatpa
2024-11-13 17:17 [PATCH for-10.0 0/9] target/riscv: add 'sha' support Daniel Henrique Barboza
` (6 preceding siblings ...)
2024-11-13 17:17 ` [PATCH for-10.0 7/9] target/riscv: add shvsatpa Daniel Henrique Barboza
@ 2024-11-13 17:17 ` Daniel Henrique Barboza
2024-12-04 3:54 ` Alistair Francis
2024-11-13 17:17 ` [PATCH for-10.0 9/9] target/riscv/tcg: add sha Daniel Henrique Barboza
2024-12-04 4:42 ` [PATCH for-10.0 0/9] target/riscv: add 'sha' support Alistair Francis
9 siblings, 1 reply; 23+ messages in thread
From: Daniel Henrique Barboza @ 2024-11-13 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-riscv, alistair.francis, bmeng, liwei1518, zhiwei_liu,
palmer, Daniel Henrique Barboza
shgatpa is defined in RVA22 as:
"For each supported virtual memory scheme SvNN supported in satp, the
corresponding hgatp SvNNx4 mode must be supported. The hgatp mode Bare
must also be supported."
Claim support for shgatpa since this is always true for TCG.
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
target/riscv/cpu.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index 068b019564..fff7010647 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -184,6 +184,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
ISA_EXT_DATA_ENTRY(zhinx, PRIV_VERSION_1_12_0, ext_zhinx),
ISA_EXT_DATA_ENTRY(zhinxmin, PRIV_VERSION_1_12_0, ext_zhinxmin),
ISA_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
+ ISA_EXT_DATA_ENTRY(shgatpa, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(shtvala, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(shvsatpa, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(shvstvala, PRIV_VERSION_1_12_0, has_priv_1_12),
--
2.47.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH for-10.0 9/9] target/riscv/tcg: add sha
2024-11-13 17:17 [PATCH for-10.0 0/9] target/riscv: add 'sha' support Daniel Henrique Barboza
` (7 preceding siblings ...)
2024-11-13 17:17 ` [PATCH for-10.0 8/9] target/riscv: add shgatpa Daniel Henrique Barboza
@ 2024-11-13 17:17 ` Daniel Henrique Barboza
2024-12-04 3:57 ` Alistair Francis
2024-12-04 4:42 ` [PATCH for-10.0 0/9] target/riscv: add 'sha' support Alistair Francis
9 siblings, 1 reply; 23+ messages in thread
From: Daniel Henrique Barboza @ 2024-11-13 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-riscv, alistair.francis, bmeng, liwei1518, zhiwei_liu,
palmer, Daniel Henrique Barboza
'sha' is the augmented hypervisor extension, defined in RVA22 as a set of
the following extensions:
- RVH
- Ssstateen
- Shcounterenw (always present)
- Shvstvala (always present)
- Shtvala (always present)
- Shvstvecd (always present)
- Shvsatpa (always present)
- Shgatpa (always present)
We can claim support for 'sha' by checking if we have RVH and ssstateen.
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
target/riscv/cpu.c | 2 ++
target/riscv/cpu_cfg.h | 1 +
target/riscv/tcg/tcg-cpu.c | 8 ++++++++
3 files changed, 11 insertions(+)
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index fff7010647..a8b8c9e775 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -184,6 +184,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
ISA_EXT_DATA_ENTRY(zhinx, PRIV_VERSION_1_12_0, ext_zhinx),
ISA_EXT_DATA_ENTRY(zhinxmin, PRIV_VERSION_1_12_0, ext_zhinxmin),
ISA_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
+ ISA_EXT_DATA_ENTRY(sha, PRIV_VERSION_1_12_0, ext_sha),
ISA_EXT_DATA_ENTRY(shgatpa, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(shtvala, PRIV_VERSION_1_12_0, has_priv_1_12),
ISA_EXT_DATA_ENTRY(shvsatpa, PRIV_VERSION_1_12_0, has_priv_1_12),
@@ -1615,6 +1616,7 @@ const RISCVCPUMultiExtConfig riscv_cpu_experimental_exts[] = {
const RISCVCPUMultiExtConfig riscv_cpu_named_features[] = {
MULTI_EXT_CFG_BOOL("zic64b", ext_zic64b, true),
MULTI_EXT_CFG_BOOL("ssstateen", ext_ssstateen, true),
+ MULTI_EXT_CFG_BOOL("sha", ext_sha, true),
DEFINE_PROP_END_OF_LIST(),
};
diff --git a/target/riscv/cpu_cfg.h b/target/riscv/cpu_cfg.h
index c7bf455614..7c60a5becb 100644
--- a/target/riscv/cpu_cfg.h
+++ b/target/riscv/cpu_cfg.h
@@ -140,6 +140,7 @@ struct RISCVCPUConfig {
bool ext_svade;
bool ext_zic64b;
bool ext_ssstateen;
+ bool ext_sha;
/*
* Always 'true' booleans for named features
diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c
index 0b9be2b0d3..b06638cca4 100644
--- a/target/riscv/tcg/tcg-cpu.c
+++ b/target/riscv/tcg/tcg-cpu.c
@@ -210,6 +210,11 @@ static void riscv_cpu_enable_named_feat(RISCVCPU *cpu, uint32_t feat_offset)
cpu->cfg.cbop_blocksize = 64;
cpu->cfg.cboz_blocksize = 64;
break;
+ case CPU_CFG_OFFSET(ext_sha):
+ if (!cpu_misa_ext_is_user_set(RVH)) {
+ riscv_cpu_write_misa_bit(cpu, RVH, true);
+ }
+ /* fallthrough */
case CPU_CFG_OFFSET(ext_ssstateen):
cpu->cfg.ext_smstateen = true;
break;
@@ -350,6 +355,9 @@ static void riscv_cpu_update_named_features(RISCVCPU *cpu)
cpu->cfg.cboz_blocksize == 64;
cpu->cfg.ext_ssstateen = cpu->cfg.ext_smstateen;
+
+ cpu->cfg.ext_sha = riscv_has_ext(&cpu->env, RVH) &&
+ cpu->cfg.ext_ssstateen;
}
static void riscv_cpu_validate_g(RISCVCPU *cpu)
--
2.47.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH for-10.0 1/9] target/riscv/tcg: hide warn for named feats when disabling via priv_ver
2024-11-13 17:17 ` [PATCH for-10.0 1/9] target/riscv/tcg: hide warn for named feats when disabling via priv_ver Daniel Henrique Barboza
@ 2024-11-25 4:36 ` Alistair Francis
0 siblings, 0 replies; 23+ messages in thread
From: Alistair Francis @ 2024-11-25 4:36 UTC (permalink / raw)
To: Daniel Henrique Barboza
Cc: qemu-devel, qemu-riscv, alistair.francis, bmeng, liwei1518,
zhiwei_liu, palmer
On Thu, Nov 14, 2024 at 3:20 AM Daniel Henrique Barboza
<dbarboza@ventanamicro.com> wrote:
>
> Commit 68c9e54bea handled a situation where a warning was being shown
> when using the 'sifive_e' cpu when disabling the named extension zic64b.
> It makes little sense to show user warnings for named extensions that
> users can't control, and the solution taken was to disable zic64b
> manually in riscv_cpu_update_named_features().
>
> This solution won't scale well when adding more named features, and can
> eventually end up repeating riscv_cpu_disable_priv_spec_isa_exts().
>
> Change riscv_cpu_disable_priv_spec_isa_exts() to not show warnings when
> disabling a named feature. This will accomplish the same thing we're
> doing today while avoiding having two points where we're disabling
> exts via priv_ver mismatch.
>
> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> target/riscv/tcg/tcg-cpu.c | 13 ++++++++++---
> 1 file changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c
> index c62c221696..cd83968166 100644
> --- a/target/riscv/tcg/tcg-cpu.c
> +++ b/target/riscv/tcg/tcg-cpu.c
> @@ -304,6 +304,15 @@ static void riscv_cpu_disable_priv_spec_isa_exts(RISCVCPU *cpu)
> }
>
> isa_ext_update_enabled(cpu, edata->ext_enable_offset, false);
> +
> + /*
> + * Do not show user warnings for named features that users
> + * can't enable/disable in the command line. See commit
> + * 68c9e54bea for more info.
> + */
> + if (cpu_cfg_offset_is_named_feat(edata->ext_enable_offset)) {
> + continue;
> + }
> #ifndef CONFIG_USER_ONLY
> warn_report("disabling %s extension for hart 0x" TARGET_FMT_lx
> " because privilege spec version does not match",
> @@ -331,11 +340,9 @@ static void riscv_cpu_update_named_features(RISCVCPU *cpu)
> cpu->cfg.has_priv_1_13 = true;
> }
>
> - /* zic64b is 1.12 or later */
> cpu->cfg.ext_zic64b = cpu->cfg.cbom_blocksize == 64 &&
> cpu->cfg.cbop_blocksize == 64 &&
> - cpu->cfg.cboz_blocksize == 64 &&
> - cpu->cfg.has_priv_1_12;
> + cpu->cfg.cboz_blocksize == 64;
> }
>
> static void riscv_cpu_validate_g(RISCVCPU *cpu)
> --
> 2.47.0
>
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH for-10.0 2/9] target/riscv: add ssstateen
2024-11-13 17:17 ` [PATCH for-10.0 2/9] target/riscv: add ssstateen Daniel Henrique Barboza
@ 2024-12-03 13:29 ` Andrew Jones
2024-12-04 3:43 ` Alistair Francis
1 sibling, 0 replies; 23+ messages in thread
From: Andrew Jones @ 2024-12-03 13:29 UTC (permalink / raw)
To: Daniel Henrique Barboza
Cc: qemu-devel, qemu-riscv, alistair.francis, bmeng, liwei1518,
zhiwei_liu, palmer
On Wed, Nov 13, 2024 at 02:17:48PM -0300, Daniel Henrique Barboza wrote:
> ssstateen is defined in RVA22 as:
>
> "Supervisor-mode view of the state-enable extension. The supervisor-mode
> (sstateen0-3) and hypervisor-mode (hstateen0-3) state-enable registers
> must be provided."
>
> Add ssstateen as a named feature that is available if we also have
> smstateen.
While I can't find justification for adding the 'ssstateen' name
(afaict there's no ambiguous behavior or CSR definitions with
'smstateen', so Sha requiring smstateen should be sufficient), it's
already ratified, so into the alphabet soup it must go.
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Thanks,
drew
>
> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
> ---
> target/riscv/cpu.c | 2 ++
> target/riscv/cpu_cfg.h | 1 +
> target/riscv/tcg/tcg-cpu.c | 9 ++++++++-
> 3 files changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
> index f219f0c3b5..4ad91722a0 100644
> --- a/target/riscv/cpu.c
> +++ b/target/riscv/cpu.c
> @@ -191,6 +191,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
> ISA_EXT_DATA_ENTRY(ssccptr, PRIV_VERSION_1_11_0, has_priv_1_11),
> ISA_EXT_DATA_ENTRY(sscofpmf, PRIV_VERSION_1_12_0, ext_sscofpmf),
> ISA_EXT_DATA_ENTRY(sscounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
> + ISA_EXT_DATA_ENTRY(ssstateen, PRIV_VERSION_1_12_0, ext_ssstateen),
> ISA_EXT_DATA_ENTRY(sstc, PRIV_VERSION_1_12_0, ext_sstc),
> ISA_EXT_DATA_ENTRY(sstvala, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(sstvecd, PRIV_VERSION_1_12_0, has_priv_1_12),
> @@ -1607,6 +1608,7 @@ const RISCVCPUMultiExtConfig riscv_cpu_experimental_exts[] = {
> */
> const RISCVCPUMultiExtConfig riscv_cpu_named_features[] = {
> MULTI_EXT_CFG_BOOL("zic64b", ext_zic64b, true),
> + MULTI_EXT_CFG_BOOL("ssstateen", ext_ssstateen, true),
>
> DEFINE_PROP_END_OF_LIST(),
> };
> diff --git a/target/riscv/cpu_cfg.h b/target/riscv/cpu_cfg.h
> index 59d6fc445d..c7bf455614 100644
> --- a/target/riscv/cpu_cfg.h
> +++ b/target/riscv/cpu_cfg.h
> @@ -139,6 +139,7 @@ struct RISCVCPUConfig {
> /* Named features */
> bool ext_svade;
> bool ext_zic64b;
> + bool ext_ssstateen;
>
> /*
> * Always 'true' booleans for named features
> diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c
> index cd83968166..0b9be2b0d3 100644
> --- a/target/riscv/tcg/tcg-cpu.c
> +++ b/target/riscv/tcg/tcg-cpu.c
> @@ -204,10 +204,15 @@ static void riscv_cpu_enable_named_feat(RISCVCPU *cpu, uint32_t feat_offset)
> * All other named features are already enabled
> * in riscv_tcg_cpu_instance_init().
> */
> - if (feat_offset == CPU_CFG_OFFSET(ext_zic64b)) {
> + switch (feat_offset) {
> + case CPU_CFG_OFFSET(ext_zic64b):
> cpu->cfg.cbom_blocksize = 64;
> cpu->cfg.cbop_blocksize = 64;
> cpu->cfg.cboz_blocksize = 64;
> + break;
> + case CPU_CFG_OFFSET(ext_ssstateen):
> + cpu->cfg.ext_smstateen = true;
> + break;
> }
> }
>
> @@ -343,6 +348,8 @@ static void riscv_cpu_update_named_features(RISCVCPU *cpu)
> cpu->cfg.ext_zic64b = cpu->cfg.cbom_blocksize == 64 &&
> cpu->cfg.cbop_blocksize == 64 &&
> cpu->cfg.cboz_blocksize == 64;
> +
> + cpu->cfg.ext_ssstateen = cpu->cfg.ext_smstateen;
> }
>
> static void riscv_cpu_validate_g(RISCVCPU *cpu)
> --
> 2.47.0
>
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH for-10.0 2/9] target/riscv: add ssstateen
2024-11-13 17:17 ` [PATCH for-10.0 2/9] target/riscv: add ssstateen Daniel Henrique Barboza
2024-12-03 13:29 ` Andrew Jones
@ 2024-12-04 3:43 ` Alistair Francis
1 sibling, 0 replies; 23+ messages in thread
From: Alistair Francis @ 2024-12-04 3:43 UTC (permalink / raw)
To: Daniel Henrique Barboza
Cc: qemu-devel, qemu-riscv, alistair.francis, bmeng, liwei1518,
zhiwei_liu, palmer
On Thu, Nov 14, 2024 at 2:20 AM Daniel Henrique Barboza
<dbarboza@ventanamicro.com> wrote:
>
> ssstateen is defined in RVA22 as:
>
> "Supervisor-mode view of the state-enable extension. The supervisor-mode
> (sstateen0-3) and hypervisor-mode (hstateen0-3) state-enable registers
> must be provided."
>
> Add ssstateen as a named feature that is available if we also have
> smstateen.
>
> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> target/riscv/cpu.c | 2 ++
> target/riscv/cpu_cfg.h | 1 +
> target/riscv/tcg/tcg-cpu.c | 9 ++++++++-
> 3 files changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
> index f219f0c3b5..4ad91722a0 100644
> --- a/target/riscv/cpu.c
> +++ b/target/riscv/cpu.c
> @@ -191,6 +191,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
> ISA_EXT_DATA_ENTRY(ssccptr, PRIV_VERSION_1_11_0, has_priv_1_11),
> ISA_EXT_DATA_ENTRY(sscofpmf, PRIV_VERSION_1_12_0, ext_sscofpmf),
> ISA_EXT_DATA_ENTRY(sscounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
> + ISA_EXT_DATA_ENTRY(ssstateen, PRIV_VERSION_1_12_0, ext_ssstateen),
> ISA_EXT_DATA_ENTRY(sstc, PRIV_VERSION_1_12_0, ext_sstc),
> ISA_EXT_DATA_ENTRY(sstvala, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(sstvecd, PRIV_VERSION_1_12_0, has_priv_1_12),
> @@ -1607,6 +1608,7 @@ const RISCVCPUMultiExtConfig riscv_cpu_experimental_exts[] = {
> */
> const RISCVCPUMultiExtConfig riscv_cpu_named_features[] = {
> MULTI_EXT_CFG_BOOL("zic64b", ext_zic64b, true),
> + MULTI_EXT_CFG_BOOL("ssstateen", ext_ssstateen, true),
>
> DEFINE_PROP_END_OF_LIST(),
> };
> diff --git a/target/riscv/cpu_cfg.h b/target/riscv/cpu_cfg.h
> index 59d6fc445d..c7bf455614 100644
> --- a/target/riscv/cpu_cfg.h
> +++ b/target/riscv/cpu_cfg.h
> @@ -139,6 +139,7 @@ struct RISCVCPUConfig {
> /* Named features */
> bool ext_svade;
> bool ext_zic64b;
> + bool ext_ssstateen;
>
> /*
> * Always 'true' booleans for named features
> diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c
> index cd83968166..0b9be2b0d3 100644
> --- a/target/riscv/tcg/tcg-cpu.c
> +++ b/target/riscv/tcg/tcg-cpu.c
> @@ -204,10 +204,15 @@ static void riscv_cpu_enable_named_feat(RISCVCPU *cpu, uint32_t feat_offset)
> * All other named features are already enabled
> * in riscv_tcg_cpu_instance_init().
> */
> - if (feat_offset == CPU_CFG_OFFSET(ext_zic64b)) {
> + switch (feat_offset) {
> + case CPU_CFG_OFFSET(ext_zic64b):
> cpu->cfg.cbom_blocksize = 64;
> cpu->cfg.cbop_blocksize = 64;
> cpu->cfg.cboz_blocksize = 64;
> + break;
> + case CPU_CFG_OFFSET(ext_ssstateen):
> + cpu->cfg.ext_smstateen = true;
> + break;
> }
> }
>
> @@ -343,6 +348,8 @@ static void riscv_cpu_update_named_features(RISCVCPU *cpu)
> cpu->cfg.ext_zic64b = cpu->cfg.cbom_blocksize == 64 &&
> cpu->cfg.cbop_blocksize == 64 &&
> cpu->cfg.cboz_blocksize == 64;
> +
> + cpu->cfg.ext_ssstateen = cpu->cfg.ext_smstateen;
> }
>
> static void riscv_cpu_validate_g(RISCVCPU *cpu)
> --
> 2.47.0
>
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH for-10.0 3/9] target/riscv: add shcounterenw
2024-11-13 17:17 ` [PATCH for-10.0 3/9] target/riscv: add shcounterenw Daniel Henrique Barboza
@ 2024-12-04 3:45 ` Alistair Francis
2024-12-18 0:34 ` Alistair Francis
1 sibling, 0 replies; 23+ messages in thread
From: Alistair Francis @ 2024-12-04 3:45 UTC (permalink / raw)
To: Daniel Henrique Barboza
Cc: qemu-devel, qemu-riscv, alistair.francis, bmeng, liwei1518,
zhiwei_liu, palmer
On Thu, Nov 14, 2024 at 2:20 AM Daniel Henrique Barboza
<dbarboza@ventanamicro.com> wrote:
>
> shcounterenw is defined in RVA22 as:
>
> "For any hpmcounter that is not read-only zero, the corresponding bit in
> hcounteren must be writable."
>
> This is always true in TCG so let's claim support for it.
>
> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> target/riscv/cpu.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
> index 4ad91722a0..6bfb1b1530 100644
> --- a/target/riscv/cpu.c
> +++ b/target/riscv/cpu.c
> @@ -183,6 +183,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
> ISA_EXT_DATA_ENTRY(zvkt, PRIV_VERSION_1_12_0, ext_zvkt),
> ISA_EXT_DATA_ENTRY(zhinx, PRIV_VERSION_1_12_0, ext_zhinx),
> ISA_EXT_DATA_ENTRY(zhinxmin, PRIV_VERSION_1_12_0, ext_zhinxmin),
> + ISA_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(smaia, PRIV_VERSION_1_12_0, ext_smaia),
> ISA_EXT_DATA_ENTRY(smcntrpmf, PRIV_VERSION_1_12_0, ext_smcntrpmf),
> ISA_EXT_DATA_ENTRY(smepmp, PRIV_VERSION_1_12_0, ext_smepmp),
> --
> 2.47.0
>
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH for-10.0 4/9] target/riscv: add shvstvala
2024-11-13 17:17 ` [PATCH for-10.0 4/9] target/riscv: add shvstvala Daniel Henrique Barboza
@ 2024-12-04 3:49 ` Alistair Francis
0 siblings, 0 replies; 23+ messages in thread
From: Alistair Francis @ 2024-12-04 3:49 UTC (permalink / raw)
To: Daniel Henrique Barboza
Cc: qemu-devel, qemu-riscv, alistair.francis, bmeng, liwei1518,
zhiwei_liu, palmer
On Thu, Nov 14, 2024 at 2:20 AM Daniel Henrique Barboza
<dbarboza@ventanamicro.com> wrote:
>
> shvstvala is defined in RVA22 as:
>
> "vstval must be written in all cases described above for stval."
>
> By "cases describe above" the doc refer to the description of sstvala:
>
> "stval must be written with the faulting virtual address for load,
> store, and instruction page-fault, access-fault, and misaligned
> exceptions, and for breakpoint exceptions other than those caused by
> execution of the EBREAK or C.EBREAK instructions. For
> virtual-instruction and illegal-instruction exceptions, stval must be
> written with the faulting instruction."
>
> We already have sstvala, and our vstval follows the same rules as stval,
> so we can claim to support shvstvala too.
>
> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> target/riscv/cpu.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
> index 6bfb1b1530..11a0d2d04a 100644
> --- a/target/riscv/cpu.c
> +++ b/target/riscv/cpu.c
> @@ -184,6 +184,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
> ISA_EXT_DATA_ENTRY(zhinx, PRIV_VERSION_1_12_0, ext_zhinx),
> ISA_EXT_DATA_ENTRY(zhinxmin, PRIV_VERSION_1_12_0, ext_zhinxmin),
> ISA_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
> + ISA_EXT_DATA_ENTRY(shvstvala, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(smaia, PRIV_VERSION_1_12_0, ext_smaia),
> ISA_EXT_DATA_ENTRY(smcntrpmf, PRIV_VERSION_1_12_0, ext_smcntrpmf),
> ISA_EXT_DATA_ENTRY(smepmp, PRIV_VERSION_1_12_0, ext_smepmp),
> --
> 2.47.0
>
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH for-10.0 5/9] target/riscv: add shtvala
2024-11-13 17:17 ` [PATCH for-10.0 5/9] target/riscv: add shtvala Daniel Henrique Barboza
@ 2024-12-04 3:50 ` Alistair Francis
0 siblings, 0 replies; 23+ messages in thread
From: Alistair Francis @ 2024-12-04 3:50 UTC (permalink / raw)
To: Daniel Henrique Barboza
Cc: qemu-devel, qemu-riscv, alistair.francis, bmeng, liwei1518,
zhiwei_liu, palmer
On Thu, Nov 14, 2024 at 2:20 AM Daniel Henrique Barboza
<dbarboza@ventanamicro.com> wrote:
>
> shtvala is described in RVA22 as:
>
> "htval must be written with the faulting guest physical address
> in all circumstances permitted by the ISA."
>
> This is the case since commit 3067553993, so claim support for shtvala.
>
> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> target/riscv/cpu.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
> index 11a0d2d04a..7b54c50794 100644
> --- a/target/riscv/cpu.c
> +++ b/target/riscv/cpu.c
> @@ -184,6 +184,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
> ISA_EXT_DATA_ENTRY(zhinx, PRIV_VERSION_1_12_0, ext_zhinx),
> ISA_EXT_DATA_ENTRY(zhinxmin, PRIV_VERSION_1_12_0, ext_zhinxmin),
> ISA_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
> + ISA_EXT_DATA_ENTRY(shtvala, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(shvstvala, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(smaia, PRIV_VERSION_1_12_0, ext_smaia),
> ISA_EXT_DATA_ENTRY(smcntrpmf, PRIV_VERSION_1_12_0, ext_smcntrpmf),
> --
> 2.47.0
>
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH for-10.0 6/9] target/riscv: add shvstvecd
2024-11-13 17:17 ` [PATCH for-10.0 6/9] target/riscv: add shvstvecd Daniel Henrique Barboza
@ 2024-12-04 3:52 ` Alistair Francis
0 siblings, 0 replies; 23+ messages in thread
From: Alistair Francis @ 2024-12-04 3:52 UTC (permalink / raw)
To: Daniel Henrique Barboza
Cc: qemu-devel, qemu-riscv, alistair.francis, bmeng, liwei1518,
zhiwei_liu, palmer
On Thu, Nov 14, 2024 at 2:20 AM Daniel Henrique Barboza
<dbarboza@ventanamicro.com> wrote:
>
> shvstvecd is defined in RVA22 as:
>
> "vstvec.MODE must be capable of holding the value 0 (Direct).
> When vstvec.MODE=Direct, vstvec.BASE must be capable of holding any
> valid four-byte-aligned address."
>
> This is always true for TCG so let's claim support for it.
>
> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> target/riscv/cpu.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
> index 7b54c50794..ae5676976b 100644
> --- a/target/riscv/cpu.c
> +++ b/target/riscv/cpu.c
> @@ -186,6 +186,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
> ISA_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(shtvala, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(shvstvala, PRIV_VERSION_1_12_0, has_priv_1_12),
> + ISA_EXT_DATA_ENTRY(shvstvecd, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(smaia, PRIV_VERSION_1_12_0, ext_smaia),
> ISA_EXT_DATA_ENTRY(smcntrpmf, PRIV_VERSION_1_12_0, ext_smcntrpmf),
> ISA_EXT_DATA_ENTRY(smepmp, PRIV_VERSION_1_12_0, ext_smepmp),
> --
> 2.47.0
>
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH for-10.0 7/9] target/riscv: add shvsatpa
2024-11-13 17:17 ` [PATCH for-10.0 7/9] target/riscv: add shvsatpa Daniel Henrique Barboza
@ 2024-12-04 3:53 ` Alistair Francis
0 siblings, 0 replies; 23+ messages in thread
From: Alistair Francis @ 2024-12-04 3:53 UTC (permalink / raw)
To: Daniel Henrique Barboza
Cc: qemu-devel, qemu-riscv, alistair.francis, bmeng, liwei1518,
zhiwei_liu, palmer
On Thu, Nov 14, 2024 at 2:20 AM Daniel Henrique Barboza
<dbarboza@ventanamicro.com> wrote:
>
> shvsatpa is defined in RVA22 as:
>
> "All translation modes supported in satp must be supported in vsatp."
>
> This is always true in TCG so let's claim support for it.
>
> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> target/riscv/cpu.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
> index ae5676976b..068b019564 100644
> --- a/target/riscv/cpu.c
> +++ b/target/riscv/cpu.c
> @@ -185,6 +185,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
> ISA_EXT_DATA_ENTRY(zhinxmin, PRIV_VERSION_1_12_0, ext_zhinxmin),
> ISA_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(shtvala, PRIV_VERSION_1_12_0, has_priv_1_12),
> + ISA_EXT_DATA_ENTRY(shvsatpa, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(shvstvala, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(shvstvecd, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(smaia, PRIV_VERSION_1_12_0, ext_smaia),
> --
> 2.47.0
>
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH for-10.0 8/9] target/riscv: add shgatpa
2024-11-13 17:17 ` [PATCH for-10.0 8/9] target/riscv: add shgatpa Daniel Henrique Barboza
@ 2024-12-04 3:54 ` Alistair Francis
0 siblings, 0 replies; 23+ messages in thread
From: Alistair Francis @ 2024-12-04 3:54 UTC (permalink / raw)
To: Daniel Henrique Barboza
Cc: qemu-devel, qemu-riscv, alistair.francis, bmeng, liwei1518,
zhiwei_liu, palmer
On Thu, Nov 14, 2024 at 2:20 AM Daniel Henrique Barboza
<dbarboza@ventanamicro.com> wrote:
>
> shgatpa is defined in RVA22 as:
>
> "For each supported virtual memory scheme SvNN supported in satp, the
> corresponding hgatp SvNNx4 mode must be supported. The hgatp mode Bare
> must also be supported."
>
> Claim support for shgatpa since this is always true for TCG.
>
> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> target/riscv/cpu.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
> index 068b019564..fff7010647 100644
> --- a/target/riscv/cpu.c
> +++ b/target/riscv/cpu.c
> @@ -184,6 +184,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
> ISA_EXT_DATA_ENTRY(zhinx, PRIV_VERSION_1_12_0, ext_zhinx),
> ISA_EXT_DATA_ENTRY(zhinxmin, PRIV_VERSION_1_12_0, ext_zhinxmin),
> ISA_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
> + ISA_EXT_DATA_ENTRY(shgatpa, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(shtvala, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(shvsatpa, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(shvstvala, PRIV_VERSION_1_12_0, has_priv_1_12),
> --
> 2.47.0
>
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH for-10.0 9/9] target/riscv/tcg: add sha
2024-11-13 17:17 ` [PATCH for-10.0 9/9] target/riscv/tcg: add sha Daniel Henrique Barboza
@ 2024-12-04 3:57 ` Alistair Francis
0 siblings, 0 replies; 23+ messages in thread
From: Alistair Francis @ 2024-12-04 3:57 UTC (permalink / raw)
To: Daniel Henrique Barboza
Cc: qemu-devel, qemu-riscv, alistair.francis, bmeng, liwei1518,
zhiwei_liu, palmer
On Thu, Nov 14, 2024 at 2:19 AM Daniel Henrique Barboza
<dbarboza@ventanamicro.com> wrote:
>
> 'sha' is the augmented hypervisor extension, defined in RVA22 as a set of
> the following extensions:
>
> - RVH
> - Ssstateen
> - Shcounterenw (always present)
> - Shvstvala (always present)
> - Shtvala (always present)
> - Shvstvecd (always present)
> - Shvsatpa (always present)
> - Shgatpa (always present)
>
> We can claim support for 'sha' by checking if we have RVH and ssstateen.
>
> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> target/riscv/cpu.c | 2 ++
> target/riscv/cpu_cfg.h | 1 +
> target/riscv/tcg/tcg-cpu.c | 8 ++++++++
> 3 files changed, 11 insertions(+)
>
> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
> index fff7010647..a8b8c9e775 100644
> --- a/target/riscv/cpu.c
> +++ b/target/riscv/cpu.c
> @@ -184,6 +184,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
> ISA_EXT_DATA_ENTRY(zhinx, PRIV_VERSION_1_12_0, ext_zhinx),
> ISA_EXT_DATA_ENTRY(zhinxmin, PRIV_VERSION_1_12_0, ext_zhinxmin),
> ISA_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
> + ISA_EXT_DATA_ENTRY(sha, PRIV_VERSION_1_12_0, ext_sha),
> ISA_EXT_DATA_ENTRY(shgatpa, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(shtvala, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(shvsatpa, PRIV_VERSION_1_12_0, has_priv_1_12),
> @@ -1615,6 +1616,7 @@ const RISCVCPUMultiExtConfig riscv_cpu_experimental_exts[] = {
> const RISCVCPUMultiExtConfig riscv_cpu_named_features[] = {
> MULTI_EXT_CFG_BOOL("zic64b", ext_zic64b, true),
> MULTI_EXT_CFG_BOOL("ssstateen", ext_ssstateen, true),
> + MULTI_EXT_CFG_BOOL("sha", ext_sha, true),
>
> DEFINE_PROP_END_OF_LIST(),
> };
> diff --git a/target/riscv/cpu_cfg.h b/target/riscv/cpu_cfg.h
> index c7bf455614..7c60a5becb 100644
> --- a/target/riscv/cpu_cfg.h
> +++ b/target/riscv/cpu_cfg.h
> @@ -140,6 +140,7 @@ struct RISCVCPUConfig {
> bool ext_svade;
> bool ext_zic64b;
> bool ext_ssstateen;
> + bool ext_sha;
>
> /*
> * Always 'true' booleans for named features
> diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c
> index 0b9be2b0d3..b06638cca4 100644
> --- a/target/riscv/tcg/tcg-cpu.c
> +++ b/target/riscv/tcg/tcg-cpu.c
> @@ -210,6 +210,11 @@ static void riscv_cpu_enable_named_feat(RISCVCPU *cpu, uint32_t feat_offset)
> cpu->cfg.cbop_blocksize = 64;
> cpu->cfg.cboz_blocksize = 64;
> break;
> + case CPU_CFG_OFFSET(ext_sha):
> + if (!cpu_misa_ext_is_user_set(RVH)) {
> + riscv_cpu_write_misa_bit(cpu, RVH, true);
> + }
> + /* fallthrough */
> case CPU_CFG_OFFSET(ext_ssstateen):
> cpu->cfg.ext_smstateen = true;
> break;
> @@ -350,6 +355,9 @@ static void riscv_cpu_update_named_features(RISCVCPU *cpu)
> cpu->cfg.cboz_blocksize == 64;
>
> cpu->cfg.ext_ssstateen = cpu->cfg.ext_smstateen;
> +
> + cpu->cfg.ext_sha = riscv_has_ext(&cpu->env, RVH) &&
> + cpu->cfg.ext_ssstateen;
> }
>
> static void riscv_cpu_validate_g(RISCVCPU *cpu)
> --
> 2.47.0
>
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH for-10.0 0/9] target/riscv: add 'sha' support
2024-11-13 17:17 [PATCH for-10.0 0/9] target/riscv: add 'sha' support Daniel Henrique Barboza
` (8 preceding siblings ...)
2024-11-13 17:17 ` [PATCH for-10.0 9/9] target/riscv/tcg: add sha Daniel Henrique Barboza
@ 2024-12-04 4:42 ` Alistair Francis
9 siblings, 0 replies; 23+ messages in thread
From: Alistair Francis @ 2024-12-04 4:42 UTC (permalink / raw)
To: Daniel Henrique Barboza
Cc: qemu-devel, qemu-riscv, alistair.francis, bmeng, liwei1518,
zhiwei_liu, palmer
On Thu, Nov 14, 2024 at 2:19 AM Daniel Henrique Barboza
<dbarboza@ventanamicro.com> wrote:
>
> Hi,
>
> 'sha' is defined in RVA22 as "augmented hypervisor extension" and
> consists of a set of named features that must be enabled.
>
> RVA23 makes 'sha' mandatory, so let's add official support for it in
> preparation to support RVA23 later.
>
> Most of the named features added here are always implemented by TCG.
> Only 'ssstateen' has a runtime dependency.
>
>
> Daniel Henrique Barboza (9):
> target/riscv/tcg: hide warn for named feats when disabling via
> priv_ver
> target/riscv: add ssstateen
> target/riscv: add shcounterenw
> target/riscv: add shvstvala
> target/riscv: add shtvala
> target/riscv: add shvstvecd
> target/riscv: add shvsatpa
> target/riscv: add shgatpa
> target/riscv/tcg: add sha
Thanks!
Applied to riscv-to-apply.next
Alistair
>
> target/riscv/cpu.c | 10 ++++++++++
> target/riscv/cpu_cfg.h | 2 ++
> target/riscv/tcg/tcg-cpu.c | 30 ++++++++++++++++++++++++++----
> 3 files changed, 38 insertions(+), 4 deletions(-)
>
> --
> 2.47.0
>
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH for-10.0 3/9] target/riscv: add shcounterenw
2024-11-13 17:17 ` [PATCH for-10.0 3/9] target/riscv: add shcounterenw Daniel Henrique Barboza
2024-12-04 3:45 ` Alistair Francis
@ 2024-12-18 0:34 ` Alistair Francis
2024-12-18 11:03 ` Daniel Henrique Barboza
1 sibling, 1 reply; 23+ messages in thread
From: Alistair Francis @ 2024-12-18 0:34 UTC (permalink / raw)
To: Daniel Henrique Barboza
Cc: qemu-devel, qemu-riscv, alistair.francis, bmeng, liwei1518,
zhiwei_liu, palmer
On Thu, Nov 14, 2024 at 3:20 AM Daniel Henrique Barboza
<dbarboza@ventanamicro.com> wrote:
>
> shcounterenw is defined in RVA22 as:
>
> "For any hpmcounter that is not read-only zero, the corresponding bit in
> hcounteren must be writable."
>
> This is always true in TCG so let's claim support for it.
>
> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
This seems to break `make check`, specifically the
`qtest-riscv64/bios-tables-test` test
Alistair
> ---
> target/riscv/cpu.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
> index 4ad91722a0..6bfb1b1530 100644
> --- a/target/riscv/cpu.c
> +++ b/target/riscv/cpu.c
> @@ -183,6 +183,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
> ISA_EXT_DATA_ENTRY(zvkt, PRIV_VERSION_1_12_0, ext_zvkt),
> ISA_EXT_DATA_ENTRY(zhinx, PRIV_VERSION_1_12_0, ext_zhinx),
> ISA_EXT_DATA_ENTRY(zhinxmin, PRIV_VERSION_1_12_0, ext_zhinxmin),
> + ISA_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
> ISA_EXT_DATA_ENTRY(smaia, PRIV_VERSION_1_12_0, ext_smaia),
> ISA_EXT_DATA_ENTRY(smcntrpmf, PRIV_VERSION_1_12_0, ext_smcntrpmf),
> ISA_EXT_DATA_ENTRY(smepmp, PRIV_VERSION_1_12_0, ext_smepmp),
> --
> 2.47.0
>
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH for-10.0 3/9] target/riscv: add shcounterenw
2024-12-18 0:34 ` Alistair Francis
@ 2024-12-18 11:03 ` Daniel Henrique Barboza
0 siblings, 0 replies; 23+ messages in thread
From: Daniel Henrique Barboza @ 2024-12-18 11:03 UTC (permalink / raw)
To: Alistair Francis
Cc: qemu-devel, qemu-riscv, alistair.francis, bmeng, liwei1518,
zhiwei_liu, palmer
On 12/17/24 9:34 PM, Alistair Francis wrote:
> On Thu, Nov 14, 2024 at 3:20 AM Daniel Henrique Barboza
> <dbarboza@ventanamicro.com> wrote:
>>
>> shcounterenw is defined in RVA22 as:
>>
>> "For any hpmcounter that is not read-only zero, the corresponding bit in
>> hcounteren must be writable."
>>
>> This is always true in TCG so let's claim support for it.
>>
>> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
>
> This seems to break `make check`, specifically the
> `qtest-riscv64/bios-tables-test` test
In fact every patch that ended up adding a new riscv,isa that is always
enabled in rv64 will trigger a change in bios-tables-test. Figures.
I`ll re-send. Thanks,
Daniel
>
> Alistair
>
>> ---
>> target/riscv/cpu.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
>> index 4ad91722a0..6bfb1b1530 100644
>> --- a/target/riscv/cpu.c
>> +++ b/target/riscv/cpu.c
>> @@ -183,6 +183,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
>> ISA_EXT_DATA_ENTRY(zvkt, PRIV_VERSION_1_12_0, ext_zvkt),
>> ISA_EXT_DATA_ENTRY(zhinx, PRIV_VERSION_1_12_0, ext_zhinx),
>> ISA_EXT_DATA_ENTRY(zhinxmin, PRIV_VERSION_1_12_0, ext_zhinxmin),
>> + ISA_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12),
>> ISA_EXT_DATA_ENTRY(smaia, PRIV_VERSION_1_12_0, ext_smaia),
>> ISA_EXT_DATA_ENTRY(smcntrpmf, PRIV_VERSION_1_12_0, ext_smcntrpmf),
>> ISA_EXT_DATA_ENTRY(smepmp, PRIV_VERSION_1_12_0, ext_smepmp),
>> --
>> 2.47.0
>>
>>
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2024-12-18 11:05 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-13 17:17 [PATCH for-10.0 0/9] target/riscv: add 'sha' support Daniel Henrique Barboza
2024-11-13 17:17 ` [PATCH for-10.0 1/9] target/riscv/tcg: hide warn for named feats when disabling via priv_ver Daniel Henrique Barboza
2024-11-25 4:36 ` Alistair Francis
2024-11-13 17:17 ` [PATCH for-10.0 2/9] target/riscv: add ssstateen Daniel Henrique Barboza
2024-12-03 13:29 ` Andrew Jones
2024-12-04 3:43 ` Alistair Francis
2024-11-13 17:17 ` [PATCH for-10.0 3/9] target/riscv: add shcounterenw Daniel Henrique Barboza
2024-12-04 3:45 ` Alistair Francis
2024-12-18 0:34 ` Alistair Francis
2024-12-18 11:03 ` Daniel Henrique Barboza
2024-11-13 17:17 ` [PATCH for-10.0 4/9] target/riscv: add shvstvala Daniel Henrique Barboza
2024-12-04 3:49 ` Alistair Francis
2024-11-13 17:17 ` [PATCH for-10.0 5/9] target/riscv: add shtvala Daniel Henrique Barboza
2024-12-04 3:50 ` Alistair Francis
2024-11-13 17:17 ` [PATCH for-10.0 6/9] target/riscv: add shvstvecd Daniel Henrique Barboza
2024-12-04 3:52 ` Alistair Francis
2024-11-13 17:17 ` [PATCH for-10.0 7/9] target/riscv: add shvsatpa Daniel Henrique Barboza
2024-12-04 3:53 ` Alistair Francis
2024-11-13 17:17 ` [PATCH for-10.0 8/9] target/riscv: add shgatpa Daniel Henrique Barboza
2024-12-04 3:54 ` Alistair Francis
2024-11-13 17:17 ` [PATCH for-10.0 9/9] target/riscv/tcg: add sha Daniel Henrique Barboza
2024-12-04 3:57 ` Alistair Francis
2024-12-04 4:42 ` [PATCH for-10.0 0/9] target/riscv: add 'sha' support Alistair Francis
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).