|
From: | LIU Zhiwei |
Subject: | Re: [PATCH 1/5] target/riscv: Fix effective address for pointer mask |
Date: | Tue, 28 Mar 2023 11:24:05 +0800 |
User-agent: | Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 |
On 2023/3/28 11:18, Richard Henderson wrote:
On 3/27/23 19:48, liweiwei wrote:On 2023/3/28 10:20, LIU Zhiwei wrote:Yeah, I missed this part. Then we should ensure cur_pmmask/base is updated when xl changes.On 2023/3/27 18:00, Weiwei Li wrote:Since pointer mask works on effective address, and the xl works on thegeneration of effective address, so xl related calculation should be donebefore pointer mask.Incorrect. It has been done. When updating the pm_mask, we have already considered the env->xl. You can see it in riscv_cpu_update_mask if (env->xl == MXL_RV32) { env->cur_pmmask = mask & UINT32_MAX; env->cur_pmbase = base & UINT32_MAX; } else { env->cur_pmmask = mask; env->cur_pmbase = base; }Is that even possible? XL can change on priv level changes (SXL, UXL).
I think I have considered this. https://lists.gnu.org/archive/html/qemu-devel/2022-01/msg04366.html Zhiwei
r~
[Prev in Thread] | Current Thread | [Next in Thread] |