From: Weiwei Li Date: Wed, 24 May 2023 01:59:32 +0000 (+0800) Subject: target/riscv: Fix pointer mask transformation for vector address X-Git-Tag: v8.1.0-rc0~57^2~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7b945bdc0b10eda16dbeafe6a4dc1480176db38e;p=thirdparty%2Fqemu.git target/riscv: Fix pointer mask transformation for vector address actual_address = (requested_address & ~mpmmask) | mpmbase. Signed-off-by: Weiwei Li Signed-off-by: Junqiang Wang Reviewed-by: Daniel Henrique Barboza Reviewed-by: LIU Zhiwei Message-Id: <20230524015933.17349-2-liweiwei@iscas.ac.cn> Signed-off-by: Alistair Francis --- diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index 8e6c99e573e..7505f9470a6 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -169,7 +169,7 @@ static inline uint32_t vext_get_total_elems(CPURISCVState *env, uint32_t desc, static inline target_ulong adjust_addr(CPURISCVState *env, target_ulong addr) { - return (addr & env->cur_pmmask) | env->cur_pmbase; + return (addr & ~env->cur_pmmask) | env->cur_pmbase; } /*