<div dir="ltr">but I think there is a error about this part of the patch:<div><br></div><div>diff --git a/target/riscv/csr.c b/target/riscv/csr.c<br>index 5c9a7ee287..d26b830f1a 100644<br>--- a/target/riscv/csr.c<br>+++ b/target/riscv/csr.c<br>@@ -1109,10 +1109,12 @@ static RISCVException read_mstatus(CPURISCVState *env, <br>int csrno,<br> <br> static int validate_vm(CPURISCVState *env, target_ulong vm)<br> {<br>+    vm &= 0xf;<br>+<br>     if (riscv_cpu_mxl(env) == MXL_RV32) {<br>-        return valid_vm_1_10_32[vm & 0xf];<br><font color="#0000ff">+        return valid_vm_1_10_32[vm] && (vm <=RISCV_CPU(env_cpu(env))->cfg.satp_mode);<br></font>     } else {<br>-        return valid_vm_1_10_64[vm & 0xf];<br><font color="#0000ff">+        return valid_vm_1_10_64[vm] && (vm <=RISCV_CPU(env_cpu(env))->cfg.satp_mode);<br></font>     }<br> }<br></div><div><br></div><div>maybe it should be: </div><div><br></div><div> static int validate_vm(CPURISCVState *env, target_ulong vm)<br> {<br>+    vm &= 0xf;<br>+<br>     if (riscv_cpu_mxl(env) == MXL_RV32) {<br>-        return valid_vm_1_10_32[vm & 0xf];<br><font color="#0000ff">+        if (vm <= RISCV_CPU(env_cpu(env))->cfg.satp_mode)<br>+        {<br>+            return valid_vm_1_10_32[vm];<br>+        } else {</font></div><div><font color="#0000ff"><a class="gmail_plusreply" id="plusReplyChip-0">+</a>             return 0;</font></div><div><font color="#0000ff"><a class="gmail_plusreply" id="plusReplyChip-1">+</a>         }</font><br>     } else {<br>-        return valid_vm_1_10_64[vm & 0xf];<br><font color="#0000ff">+        if (vm <= RISCV_CPU(env_cpu(env))->cfg.satp_mode)<br>+        {<br>+            return valid_vm_1_10_64[vm];</font></div><div><font color="#0000ff">+        } else {<br>+             return 0;<br>+        }</font><br>     }<br> }<br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Ludovic Henry <<a href="mailto:ludovic@rivosinc.com">ludovic@rivosinc.com</a>> 于2022年11月26日周六 09:49写道:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">The more proper fix in QEMU is being upstreamed with <a href="https://lists.gnu.org/archive/html/qemu-riscv/2022-11/msg00105.html" target="_blank">https://lists.gnu.org/archive/html/qemu-riscv/2022-11/msg00105.html</a></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Nov 26, 2022 at 1:06 AM Ze Zhang <<a href="mailto:zhangze.linux@gmail.com" target="_blank">zhangze.linux@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">yes, <div><br></div><div>all I have tried in the previous mail is about user-mode, because ONLY run linux kernel 5.19 on qemu 7.10 system mode, we can get a SV57 VM, so I run qemu system mode first, then in qemu system mode environment, run qemu-riscv64 user-mode cmdline, which means run qemu user mode in a qemu system mode linux system, otherwise test is not for SV57.</div><div>openjdk team should do the detail test about this, I only care about qemu system mode.</div><div><br></div><div>sincerely</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Vladimir Kempik <<a href="mailto:vladimir.kempik@gmail.com" target="_blank">vladimir.kempik@gmail.com</a>> 于2022年11月25日周五 17:56写道:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Hello<br><div><br><blockquote type="cite"><div><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline"> run qemu-riscv64 -L  xxxx   /usr/bin/java -version, result is Segmentation fault,</span><br></div></blockquote></div><br><div>That’s actually user-mode, isn’t it ?</div><div><br></div><div>Regards, Vladimir</div></div></blockquote></div>
</blockquote></div>
</blockquote></div>