diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2021-09-17 17:49:05 -0700 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2021-11-02 07:00:52 -0400 |
commit | 5e98763c0ef55fbd8fe4fe8614825ab508543d32 (patch) | |
tree | 12c38e52cfa5f4af884f736d4e5a9883e16eead1 | |
parent | 90113883af311121e22caf505eab55e2eea1aa8e (diff) | |
download | qemu-5e98763c0ef55fbd8fe4fe8614825ab508543d32.zip qemu-5e98763c0ef55fbd8fe4fe8614825ab508543d32.tar.gz qemu-5e98763c0ef55fbd8fe4fe8614825ab508543d32.tar.bz2 |
target/arm: Use cpu_loop_exit_sigsegv for mte tag lookup
Use the new os interface for raising the exception,
rather than calling arm_cpu_tlb_fill directly.
Reviewed-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
-rw-r--r-- | target/arm/mte_helper.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/target/arm/mte_helper.c b/target/arm/mte_helper.c index 7241752..e09b7e4 100644 --- a/target/arm/mte_helper.c +++ b/target/arm/mte_helper.c @@ -84,10 +84,8 @@ static uint8_t *allocation_tag_mem(CPUARMState *env, int ptr_mmu_idx, uintptr_t index; if (!(flags & (ptr_access == MMU_DATA_STORE ? PAGE_WRITE_ORG : PAGE_READ))) { - /* SIGSEGV */ - arm_cpu_tlb_fill(env_cpu(env), ptr, ptr_size, ptr_access, - ptr_mmu_idx, false, ra); - g_assert_not_reached(); + cpu_loop_exit_sigsegv(env_cpu(env), ptr, ptr_access, + !(flags & PAGE_VALID), ra); } /* Require both MAP_ANON and PROT_MTE for the page. */ |