On Wed, Aug 28, 2024 at 10:10:44AM +1000, Alistair Francis wrote:
>On Wed, Aug 28, 2024 at 9:20 AM Deepak Gupta <debug@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 <debug@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
>>
>>