* [PATCH v3 0/3] target/riscv: Support Zve32x and Zve64x extensions
@ 2024-03-28 2:23 Jason Chien
2024-03-28 2:23 ` [PATCH v3 1/3] target/riscv: Add support for Zve32x extension Jason Chien
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: Jason Chien @ 2024-03-28 2:23 UTC (permalink / raw)
To: qemu-devel, qemu-riscv; +Cc: Jason Chien
This patch series adds the support for Zve32x and Zvx64x and makes vector
registers visible in GDB if any of the V/Zve*/Zvk* extensions is enabled.
v2:
Rebase onto riscv-to-apply.next (commit 385e575).
v3:
Spuash patch 2 into patch 1.
Spuash patch 4 into patch 3.
Jason Chien (3):
target/riscv: Add support for Zve32x extension
target/riscv: Add support for Zve64x extension
target/riscv: Relax vector register check in RISCV gdbstub
target/riscv/cpu.c | 4 +++
target/riscv/cpu_cfg.h | 2 ++
target/riscv/cpu_helper.c | 2 +-
target/riscv/csr.c | 2 +-
target/riscv/gdbstub.c | 2 +-
target/riscv/insn_trans/trans_rvv.c.inc | 4 +--
target/riscv/tcg/tcg-cpu.c | 33 ++++++++++++++-----------
7 files changed, 30 insertions(+), 19 deletions(-)
--
2.43.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 1/3] target/riscv: Add support for Zve32x extension
2024-03-28 2:23 [PATCH v3 0/3] target/riscv: Support Zve32x and Zve64x extensions Jason Chien
@ 2024-03-28 2:23 ` Jason Chien
2024-03-28 2:23 ` [PATCH v3 2/3] target/riscv: Add support for Zve64x extension Jason Chien
` (3 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Jason Chien @ 2024-03-28 2:23 UTC (permalink / raw)
To: qemu-devel, qemu-riscv
Cc: Jason Chien, Frank Chang, Max Chou, Daniel Henrique Barboza,
Palmer Dabbelt, Alistair Francis, Bin Meng, Weiwei Li, Liu Zhiwei,
Richard Henderson, Andrew Jones
Add support for Zve32x extension and replace some checks for Zve32f with
Zve32x, since Zve32f depends on Zve32x.
Signed-off-by: Jason Chien <jason.chien@sifive.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Max Chou <max.chou@sifive.com>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
target/riscv/cpu.c | 2 ++
target/riscv/cpu_cfg.h | 1 +
target/riscv/cpu_helper.c | 2 +-
target/riscv/csr.c | 2 +-
target/riscv/insn_trans/trans_rvv.c.inc | 4 ++--
target/riscv/tcg/tcg-cpu.c | 16 ++++++++--------
6 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index 36e3e5fdaf..6bd8798bb5 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -153,6 +153,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
ISA_EXT_DATA_ENTRY(zvbb, PRIV_VERSION_1_12_0, ext_zvbb),
ISA_EXT_DATA_ENTRY(zvbc, PRIV_VERSION_1_12_0, ext_zvbc),
ISA_EXT_DATA_ENTRY(zve32f, PRIV_VERSION_1_10_0, ext_zve32f),
+ ISA_EXT_DATA_ENTRY(zve32x, PRIV_VERSION_1_10_0, ext_zve32x),
ISA_EXT_DATA_ENTRY(zve64f, PRIV_VERSION_1_10_0, ext_zve64f),
ISA_EXT_DATA_ENTRY(zve64d, PRIV_VERSION_1_10_0, ext_zve64d),
ISA_EXT_DATA_ENTRY(zvfbfmin, PRIV_VERSION_1_12_0, ext_zvfbfmin),
@@ -1472,6 +1473,7 @@ const RISCVCPUMultiExtConfig riscv_cpu_extensions[] = {
MULTI_EXT_CFG_BOOL("zfh", ext_zfh, false),
MULTI_EXT_CFG_BOOL("zfhmin", ext_zfhmin, false),
MULTI_EXT_CFG_BOOL("zve32f", ext_zve32f, false),
+ MULTI_EXT_CFG_BOOL("zve32x", ext_zve32x, false),
MULTI_EXT_CFG_BOOL("zve64f", ext_zve64f, false),
MULTI_EXT_CFG_BOOL("zve64d", ext_zve64d, false),
MULTI_EXT_CFG_BOOL("zvfbfmin", ext_zvfbfmin, false),
diff --git a/target/riscv/cpu_cfg.h b/target/riscv/cpu_cfg.h
index cb750154bd..dce49050c0 100644
--- a/target/riscv/cpu_cfg.h
+++ b/target/riscv/cpu_cfg.h
@@ -91,6 +91,7 @@ struct RISCVCPUConfig {
bool ext_zhinx;
bool ext_zhinxmin;
bool ext_zve32f;
+ bool ext_zve32x;
bool ext_zve64f;
bool ext_zve64d;
bool ext_zvbb;
diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c
index fc090d729a..b13a50a665 100644
--- a/target/riscv/cpu_helper.c
+++ b/target/riscv/cpu_helper.c
@@ -72,7 +72,7 @@ void cpu_get_tb_cpu_state(CPURISCVState *env, vaddr *pc,
*pc = env->xl == MXL_RV32 ? env->pc & UINT32_MAX : env->pc;
*cs_base = 0;
- if (cpu->cfg.ext_zve32f) {
+ if (cpu->cfg.ext_zve32x) {
/*
* If env->vl equals to VLMAX, we can use generic vector operation
* expanders (GVEC) to accerlate the vector operations.
diff --git a/target/riscv/csr.c b/target/riscv/csr.c
index 726096444f..d96feea5d3 100644
--- a/target/riscv/csr.c
+++ b/target/riscv/csr.c
@@ -93,7 +93,7 @@ static RISCVException fs(CPURISCVState *env, int csrno)
static RISCVException vs(CPURISCVState *env, int csrno)
{
- if (riscv_cpu_cfg(env)->ext_zve32f) {
+ if (riscv_cpu_cfg(env)->ext_zve32x) {
#if !defined(CONFIG_USER_ONLY)
if (!env->debugger && !riscv_cpu_vector_enabled(env)) {
return RISCV_EXCP_ILLEGAL_INST;
diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc
index 7d84e7d812..eec2939e23 100644
--- a/target/riscv/insn_trans/trans_rvv.c.inc
+++ b/target/riscv/insn_trans/trans_rvv.c.inc
@@ -149,7 +149,7 @@ static bool do_vsetvl(DisasContext *s, int rd, int rs1, TCGv s2)
{
TCGv s1, dst;
- if (!require_rvv(s) || !s->cfg_ptr->ext_zve32f) {
+ if (!require_rvv(s) || !s->cfg_ptr->ext_zve32x) {
return false;
}
@@ -179,7 +179,7 @@ static bool do_vsetivli(DisasContext *s, int rd, TCGv s1, TCGv s2)
{
TCGv dst;
- if (!require_rvv(s) || !s->cfg_ptr->ext_zve32f) {
+ if (!require_rvv(s) || !s->cfg_ptr->ext_zve32x) {
return false;
}
diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c
index b5b95e052d..ff0d485e7f 100644
--- a/target/riscv/tcg/tcg-cpu.c
+++ b/target/riscv/tcg/tcg-cpu.c
@@ -511,9 +511,13 @@ void riscv_cpu_validate_set_extensions(RISCVCPU *cpu, Error **errp)
return;
}
- if (cpu->cfg.ext_zve32f && !riscv_has_ext(env, RVF)) {
- error_setg(errp, "Zve32f/Zve64f extensions require F extension");
- return;
+ /* The Zve32f extension depends on the Zve32x extension */
+ if (cpu->cfg.ext_zve32f) {
+ if (!riscv_has_ext(env, RVF)) {
+ error_setg(errp, "Zve32f/Zve64f extensions require F extension");
+ return;
+ }
+ cpu_cfg_ext_auto_update(cpu, CPU_CFG_OFFSET(ext_zve32x), true);
}
if (cpu->cfg.ext_zvfh) {
@@ -658,13 +662,9 @@ void riscv_cpu_validate_set_extensions(RISCVCPU *cpu, Error **errp)
cpu_cfg_ext_auto_update(cpu, CPU_CFG_OFFSET(ext_zvbc), true);
}
- /*
- * In principle Zve*x would also suffice here, were they supported
- * in qemu
- */
if ((cpu->cfg.ext_zvbb || cpu->cfg.ext_zvkb || cpu->cfg.ext_zvkg ||
cpu->cfg.ext_zvkned || cpu->cfg.ext_zvknha || cpu->cfg.ext_zvksed ||
- cpu->cfg.ext_zvksh) && !cpu->cfg.ext_zve32f) {
+ cpu->cfg.ext_zvksh) && !cpu->cfg.ext_zve32x) {
error_setg(errp,
"Vector crypto extensions require V or Zve* extensions");
return;
--
2.43.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 2/3] target/riscv: Add support for Zve64x extension
2024-03-28 2:23 [PATCH v3 0/3] target/riscv: Support Zve32x and Zve64x extensions Jason Chien
2024-03-28 2:23 ` [PATCH v3 1/3] target/riscv: Add support for Zve32x extension Jason Chien
@ 2024-03-28 2:23 ` Jason Chien
2024-03-28 2:23 ` [PATCH v3 3/3] target/riscv: Relax vector register check in RISCV gdbstub Jason Chien
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Jason Chien @ 2024-03-28 2:23 UTC (permalink / raw)
To: qemu-devel, qemu-riscv
Cc: Jason Chien, Frank Chang, Max Chou, Daniel Henrique Barboza,
Palmer Dabbelt, Alistair Francis, Bin Meng, Weiwei Li, Liu Zhiwei,
Andrew Jones
Add support for Zve64x extension. Enabling Zve64f enables Zve64x and
enabling Zve64x enables Zve32x according to their dependency.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2107
Signed-off-by: Jason Chien <jason.chien@sifive.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Max Chou <max.chou@sifive.com>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
target/riscv/cpu.c | 2 ++
target/riscv/cpu_cfg.h | 1 +
target/riscv/tcg/tcg-cpu.c | 17 +++++++++++------
3 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index 6bd8798bb5..18e1ae66f4 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -156,6 +156,7 @@ const RISCVIsaExtData isa_edata_arr[] = {
ISA_EXT_DATA_ENTRY(zve32x, PRIV_VERSION_1_10_0, ext_zve32x),
ISA_EXT_DATA_ENTRY(zve64f, PRIV_VERSION_1_10_0, ext_zve64f),
ISA_EXT_DATA_ENTRY(zve64d, PRIV_VERSION_1_10_0, ext_zve64d),
+ ISA_EXT_DATA_ENTRY(zve64x, PRIV_VERSION_1_10_0, ext_zve64x),
ISA_EXT_DATA_ENTRY(zvfbfmin, PRIV_VERSION_1_12_0, ext_zvfbfmin),
ISA_EXT_DATA_ENTRY(zvfbfwma, PRIV_VERSION_1_12_0, ext_zvfbfwma),
ISA_EXT_DATA_ENTRY(zvfh, PRIV_VERSION_1_12_0, ext_zvfh),
@@ -1476,6 +1477,7 @@ const RISCVCPUMultiExtConfig riscv_cpu_extensions[] = {
MULTI_EXT_CFG_BOOL("zve32x", ext_zve32x, false),
MULTI_EXT_CFG_BOOL("zve64f", ext_zve64f, false),
MULTI_EXT_CFG_BOOL("zve64d", ext_zve64d, false),
+ MULTI_EXT_CFG_BOOL("zve64x", ext_zve64x, false),
MULTI_EXT_CFG_BOOL("zvfbfmin", ext_zvfbfmin, false),
MULTI_EXT_CFG_BOOL("zvfbfwma", ext_zvfbfwma, false),
MULTI_EXT_CFG_BOOL("zvfh", ext_zvfh, false),
diff --git a/target/riscv/cpu_cfg.h b/target/riscv/cpu_cfg.h
index dce49050c0..e1e4f32698 100644
--- a/target/riscv/cpu_cfg.h
+++ b/target/riscv/cpu_cfg.h
@@ -94,6 +94,7 @@ struct RISCVCPUConfig {
bool ext_zve32x;
bool ext_zve64f;
bool ext_zve64d;
+ bool ext_zve64x;
bool ext_zvbb;
bool ext_zvbc;
bool ext_zvkb;
diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c
index ff0d485e7f..4ebebebe09 100644
--- a/target/riscv/tcg/tcg-cpu.c
+++ b/target/riscv/tcg/tcg-cpu.c
@@ -498,17 +498,22 @@ void riscv_cpu_validate_set_extensions(RISCVCPU *cpu, Error **errp)
/* The Zve64d extension depends on the Zve64f extension */
if (cpu->cfg.ext_zve64d) {
+ if (!riscv_has_ext(env, RVD)) {
+ error_setg(errp, "Zve64d/V extensions require D extension");
+ return;
+ }
cpu_cfg_ext_auto_update(cpu, CPU_CFG_OFFSET(ext_zve64f), true);
}
- /* The Zve64f extension depends on the Zve32f extension */
+ /* The Zve64f extension depends on the Zve64x and Zve32f extensions */
if (cpu->cfg.ext_zve64f) {
+ cpu_cfg_ext_auto_update(cpu, CPU_CFG_OFFSET(ext_zve64x), true);
cpu_cfg_ext_auto_update(cpu, CPU_CFG_OFFSET(ext_zve32f), true);
}
- if (cpu->cfg.ext_zve64d && !riscv_has_ext(env, RVD)) {
- error_setg(errp, "Zve64d/V extensions require D extension");
- return;
+ /* The Zve64x extension depends on the Zve32x extension */
+ if (cpu->cfg.ext_zve64x) {
+ cpu_cfg_ext_auto_update(cpu, CPU_CFG_OFFSET(ext_zve32x), true);
}
/* The Zve32f extension depends on the Zve32x extension */
@@ -670,10 +675,10 @@ void riscv_cpu_validate_set_extensions(RISCVCPU *cpu, Error **errp)
return;
}
- if ((cpu->cfg.ext_zvbc || cpu->cfg.ext_zvknhb) && !cpu->cfg.ext_zve64f) {
+ if ((cpu->cfg.ext_zvbc || cpu->cfg.ext_zvknhb) && !cpu->cfg.ext_zve64x) {
error_setg(
errp,
- "Zvbc and Zvknhb extensions require V or Zve64{f,d} extensions");
+ "Zvbc and Zvknhb extensions require V or Zve64x extensions");
return;
}
--
2.43.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 3/3] target/riscv: Relax vector register check in RISCV gdbstub
2024-03-28 2:23 [PATCH v3 0/3] target/riscv: Support Zve32x and Zve64x extensions Jason Chien
2024-03-28 2:23 ` [PATCH v3 1/3] target/riscv: Add support for Zve32x extension Jason Chien
2024-03-28 2:23 ` [PATCH v3 2/3] target/riscv: Add support for Zve64x extension Jason Chien
@ 2024-03-28 2:23 ` Jason Chien
2024-04-09 6:29 ` Jason Chien
2024-04-09 6:29 ` [PATCH v3 0/3] target/riscv: Support Zve32x and Zve64x extensions Jason Chien
2024-04-29 3:36 ` Alistair Francis
4 siblings, 1 reply; 8+ messages in thread
From: Jason Chien @ 2024-03-28 2:23 UTC (permalink / raw)
To: qemu-devel, qemu-riscv
Cc: Jason Chien, Frank Chang, Max Chou, Palmer Dabbelt,
Alistair Francis, Bin Meng, Weiwei Li, Daniel Henrique Barboza,
Liu Zhiwei
In current implementation, the gdbstub allows reading vector registers
only if V extension is supported. However, all vector extensions and
vector crypto extensions have the vector registers and they all depend
on Zve32x. The gdbstub should check for Zve32x instead.
Signed-off-by: Jason Chien <jason.chien@sifive.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Max Chou <max.chou@sifive.com>
---
target/riscv/gdbstub.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/riscv/gdbstub.c b/target/riscv/gdbstub.c
index be7a02cd90..d0cc5762c2 100644
--- a/target/riscv/gdbstub.c
+++ b/target/riscv/gdbstub.c
@@ -338,7 +338,7 @@ void riscv_cpu_register_gdb_regs_for_features(CPUState *cs)
gdb_find_static_feature("riscv-32bit-fpu.xml"),
0);
}
- if (env->misa_ext & RVV) {
+ if (cpu->cfg.ext_zve32x) {
gdb_register_coprocessor(cs, riscv_gdb_get_vector,
riscv_gdb_set_vector,
ricsv_gen_dynamic_vector_feature(cs, cs->gdb_num_regs),
--
2.43.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3 0/3] target/riscv: Support Zve32x and Zve64x extensions
2024-03-28 2:23 [PATCH v3 0/3] target/riscv: Support Zve32x and Zve64x extensions Jason Chien
` (2 preceding siblings ...)
2024-03-28 2:23 ` [PATCH v3 3/3] target/riscv: Relax vector register check in RISCV gdbstub Jason Chien
@ 2024-04-09 6:29 ` Jason Chien
2024-04-09 9:43 ` Daniel Henrique Barboza
2024-04-29 3:36 ` Alistair Francis
4 siblings, 1 reply; 8+ messages in thread
From: Jason Chien @ 2024-04-09 6:29 UTC (permalink / raw)
To: qemu-devel, qemu-riscv
[-- Attachment #1: Type: text/plain, Size: 1061 bytes --]
Ping.
Jason Chien <jason.chien@sifive.com> 於 2024年3月28日 週四 上午10:23寫道:
> This patch series adds the support for Zve32x and Zvx64x and makes vector
> registers visible in GDB if any of the V/Zve*/Zvk* extensions is enabled.
>
> v2:
> Rebase onto riscv-to-apply.next (commit 385e575).
> v3:
> Spuash patch 2 into patch 1.
> Spuash patch 4 into patch 3.
>
> Jason Chien (3):
> target/riscv: Add support for Zve32x extension
> target/riscv: Add support for Zve64x extension
> target/riscv: Relax vector register check in RISCV gdbstub
>
> target/riscv/cpu.c | 4 +++
> target/riscv/cpu_cfg.h | 2 ++
> target/riscv/cpu_helper.c | 2 +-
> target/riscv/csr.c | 2 +-
> target/riscv/gdbstub.c | 2 +-
> target/riscv/insn_trans/trans_rvv.c.inc | 4 +--
> target/riscv/tcg/tcg-cpu.c | 33 ++++++++++++++-----------
> 7 files changed, 30 insertions(+), 19 deletions(-)
>
> --
> 2.43.2
>
>
[-- Attachment #2: Type: text/html, Size: 1492 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 3/3] target/riscv: Relax vector register check in RISCV gdbstub
2024-03-28 2:23 ` [PATCH v3 3/3] target/riscv: Relax vector register check in RISCV gdbstub Jason Chien
@ 2024-04-09 6:29 ` Jason Chien
0 siblings, 0 replies; 8+ messages in thread
From: Jason Chien @ 2024-04-09 6:29 UTC (permalink / raw)
To: qemu-devel, qemu-riscv
Cc: Frank Chang, Max Chou, Palmer Dabbelt, Alistair Francis, Bin Meng,
Weiwei Li, Daniel Henrique Barboza, Liu Zhiwei
[-- Attachment #1: Type: text/plain, Size: 1297 bytes --]
Ping.
Jason Chien <jason.chien@sifive.com> 於 2024年3月28日 週四 上午10:24寫道:
> In current implementation, the gdbstub allows reading vector registers
> only if V extension is supported. However, all vector extensions and
> vector crypto extensions have the vector registers and they all depend
> on Zve32x. The gdbstub should check for Zve32x instead.
>
> Signed-off-by: Jason Chien <jason.chien@sifive.com>
> Reviewed-by: Frank Chang <frank.chang@sifive.com>
> Reviewed-by: Max Chou <max.chou@sifive.com>
> ---
> target/riscv/gdbstub.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target/riscv/gdbstub.c b/target/riscv/gdbstub.c
> index be7a02cd90..d0cc5762c2 100644
> --- a/target/riscv/gdbstub.c
> +++ b/target/riscv/gdbstub.c
> @@ -338,7 +338,7 @@ void riscv_cpu_register_gdb_regs_for_features(CPUState
> *cs)
>
> gdb_find_static_feature("riscv-32bit-fpu.xml"),
> 0);
> }
> - if (env->misa_ext & RVV) {
> + if (cpu->cfg.ext_zve32x) {
> gdb_register_coprocessor(cs, riscv_gdb_get_vector,
> riscv_gdb_set_vector,
> ricsv_gen_dynamic_vector_feature(cs,
> cs->gdb_num_regs),
> --
> 2.43.2
>
>
[-- Attachment #2: Type: text/html, Size: 1961 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 0/3] target/riscv: Support Zve32x and Zve64x extensions
2024-04-09 6:29 ` [PATCH v3 0/3] target/riscv: Support Zve32x and Zve64x extensions Jason Chien
@ 2024-04-09 9:43 ` Daniel Henrique Barboza
0 siblings, 0 replies; 8+ messages in thread
From: Daniel Henrique Barboza @ 2024-04-09 9:43 UTC (permalink / raw)
To: Jason Chien, qemu-devel, qemu-riscv
Hi Jason,
We're in the middle of code freeze for the incoming 9.0 release. In this
period the maintainer will only queue bug fixes.
Your support is a new feature, so it'll only be pushed after the release is
done. Current ETA for the release is Apr 16th if there's no rc4. A safe
bet is to expect Alistair to queue the patches in the start of May.
Thanks,
Daniel
Perhaps we should start advertising the freeze dates more clearly in the
qemu-riscv ML.
On 4/9/24 03:29, Jason Chien wrote:
> Ping.
>
> Jason Chien <jason.chien@sifive.com <mailto:jason.chien@sifive.com>> 於 2024年3月28日 週四 上午10:23寫道:
>
> This patch series adds the support for Zve32x and Zvx64x and makes vector
> registers visible in GDB if any of the V/Zve*/Zvk* extensions is enabled.
>
> v2:
> Rebase onto riscv-to-apply.next (commit 385e575).
> v3:
> Spuash patch 2 into patch 1.
> Spuash patch 4 into patch 3.
>
> Jason Chien (3):
> target/riscv: Add support for Zve32x extension
> target/riscv: Add support for Zve64x extension
> target/riscv: Relax vector register check in RISCV gdbstub
>
> target/riscv/cpu.c | 4 +++
> target/riscv/cpu_cfg.h | 2 ++
> target/riscv/cpu_helper.c | 2 +-
> target/riscv/csr.c | 2 +-
> target/riscv/gdbstub.c | 2 +-
> target/riscv/insn_trans/trans_rvv.c.inc | 4 +--
> target/riscv/tcg/tcg-cpu.c | 33 ++++++++++++++-----------
> 7 files changed, 30 insertions(+), 19 deletions(-)
>
> --
> 2.43.2
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 0/3] target/riscv: Support Zve32x and Zve64x extensions
2024-03-28 2:23 [PATCH v3 0/3] target/riscv: Support Zve32x and Zve64x extensions Jason Chien
` (3 preceding siblings ...)
2024-04-09 6:29 ` [PATCH v3 0/3] target/riscv: Support Zve32x and Zve64x extensions Jason Chien
@ 2024-04-29 3:36 ` Alistair Francis
4 siblings, 0 replies; 8+ messages in thread
From: Alistair Francis @ 2024-04-29 3:36 UTC (permalink / raw)
To: Jason Chien; +Cc: qemu-devel, qemu-riscv
On Thu, Mar 28, 2024 at 12:25 PM Jason Chien <jason.chien@sifive.com> wrote:
>
> This patch series adds the support for Zve32x and Zvx64x and makes vector
> registers visible in GDB if any of the V/Zve*/Zvk* extensions is enabled.
>
> v2:
> Rebase onto riscv-to-apply.next (commit 385e575).
> v3:
> Spuash patch 2 into patch 1.
> Spuash patch 4 into patch 3.
>
> Jason Chien (3):
> target/riscv: Add support for Zve32x extension
> target/riscv: Add support for Zve64x extension
> target/riscv: Relax vector register check in RISCV gdbstub
Thanks!
Applied to riscv-to-apply.next
Alistair
>
> target/riscv/cpu.c | 4 +++
> target/riscv/cpu_cfg.h | 2 ++
> target/riscv/cpu_helper.c | 2 +-
> target/riscv/csr.c | 2 +-
> target/riscv/gdbstub.c | 2 +-
> target/riscv/insn_trans/trans_rvv.c.inc | 4 +--
> target/riscv/tcg/tcg-cpu.c | 33 ++++++++++++++-----------
> 7 files changed, 30 insertions(+), 19 deletions(-)
>
> --
> 2.43.2
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-04-29 3:37 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-28 2:23 [PATCH v3 0/3] target/riscv: Support Zve32x and Zve64x extensions Jason Chien
2024-03-28 2:23 ` [PATCH v3 1/3] target/riscv: Add support for Zve32x extension Jason Chien
2024-03-28 2:23 ` [PATCH v3 2/3] target/riscv: Add support for Zve64x extension Jason Chien
2024-03-28 2:23 ` [PATCH v3 3/3] target/riscv: Relax vector register check in RISCV gdbstub Jason Chien
2024-04-09 6:29 ` Jason Chien
2024-04-09 6:29 ` [PATCH v3 0/3] target/riscv: Support Zve32x and Zve64x extensions Jason Chien
2024-04-09 9:43 ` Daniel Henrique Barboza
2024-04-29 3:36 ` 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).