diff options
author | Max Filippov | 2018-08-20 04:27:21 +0200 |
---|---|---|
committer | Max Filippov | 2018-09-17 20:05:26 +0200 |
commit | 76b7dd641fad4ab8c35f647cffe0fd47c4302b72 (patch) | |
tree | 36c2aed5e09164e9af58b54de1495c844514e193 /target/xtensa/op_helper.c | |
parent | target/xtensa: add test_kc705_be core (diff) | |
download | qemu-76b7dd641fad4ab8c35f647cffe0fd47c4302b72.tar.gz qemu-76b7dd641fad4ab8c35f647cffe0fd47c4302b72.tar.xz qemu-76b7dd641fad4ab8c35f647cffe0fd47c4302b72.zip |
target/xtensa: convert to do_transaction_failed
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'target/xtensa/op_helper.c')
-rw-r--r-- | target/xtensa/op_helper.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/target/xtensa/op_helper.c b/target/xtensa/op_helper.c index d4c942d879..06fe346f02 100644 --- a/target/xtensa/op_helper.c +++ b/target/xtensa/op_helper.c @@ -78,18 +78,20 @@ void tlb_fill(CPUState *cs, target_ulong vaddr, int size, } } -void xtensa_cpu_do_unassigned_access(CPUState *cs, hwaddr addr, - bool is_write, bool is_exec, int opaque, - unsigned size) +void xtensa_cpu_do_transaction_failed(CPUState *cs, hwaddr physaddr, vaddr addr, + unsigned size, MMUAccessType access_type, + int mmu_idx, MemTxAttrs attrs, + MemTxResult response, uintptr_t retaddr) { XtensaCPU *cpu = XTENSA_CPU(cs); CPUXtensaState *env = &cpu->env; + cpu_restore_state(cs, retaddr, true); HELPER(exception_cause_vaddr)(env, env->pc, - is_exec ? + access_type == MMU_INST_FETCH ? INSTR_PIF_ADDR_ERROR_CAUSE : LOAD_STORE_PIF_ADDR_ERROR_CAUSE, - is_exec ? addr : cs->mem_io_vaddr); + addr); } static void tb_invalidate_virtual_addr(CPUXtensaState *env, uint32_t vaddr) |