On Wed, Aug 28, 2024 at 10:10:44AM +1000, Alistair Francis wrote:
On Wed, Aug 28, 2024 at 9:20 AM Deepak Gupta <de...@rivosinc.com> wrote:

set priv to be PRV_U for qemu-user on riscv. And set default value for
*envcfg CSR.

Signed-off-by: Deepak Gupta <de...@rivosinc.com>

You can probably just squash this with the previous patch


It's just that they are in different directories. One is target/riscv and 
another
linux-user/riscv. That's why I kept them separate.

---
 linux-user/riscv/cpu_loop.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/linux-user/riscv/cpu_loop.c b/linux-user/riscv/cpu_loop.c
index 52c49c2e42..7a68e8717b 100644
--- a/linux-user/riscv/cpu_loop.c
+++ b/linux-user/riscv/cpu_loop.c
@@ -32,6 +32,10 @@ void cpu_loop(CPURISCVState *env)
     int trapnr;
     target_ulong ret;

+    env->priv = PRV_U;
+    env->senvcfg = 0;
+    env->menvcfg = 0;

I don't think this is the right place.

This should be handled by a CPU reset, which is still called for linux
user mode.

It is the right place for setting priv to PRV_U?
or you want me to place it elsewhere ?


Sure
for reset values of *envcfg, I can rely on `riscv_cpu_reset_hold`


Alistair

+
     for (;;) {
         cpu_exec_start(cs);
         trapnr = cpu_exec(cs);
--
2.44.0



Reply via email to