qemu-cr16/target
Alex Bennée dd77ef99aa target/arm: handle unaligned PC during tlb probe
PC alignment faults have priority over instruction aborts and we have
code to deal with this in the translation front-ends. However during
tb_lookup we can see a potentially faulting probe which doesn't get a
MemOp set. If the page isn't available this results in
EC_INSNABORT (0x20) instead of EC_PCALIGNMENT (0x22).

As there is no easy way to set the appropriate MemOp in the
instruction fetch probe path lets just detect it in
arm_cpu_tlb_fill_align() ahead of the main alignment check. We also
teach arm_deliver_fault to deliver the right syndrome for
MMU_INST_FETCH alignment issues.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3233
Tested-by: Jessica Clarke <jrtc27@jrtc27.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20251209092459.1058313-5-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2025-12-09 16:21:56 +00:00
..
alpha target/alpha: call plugin trap callbacks 2025-10-29 14:12:43 +00:00
arm target/arm: handle unaligned PC during tlb probe 2025-12-09 16:21:56 +00:00
avr target/avr: call plugin trap callbacks 2025-10-29 14:12:43 +00:00
hexagon target/hexagon: Only indent on linux 2025-10-17 13:45:46 -07:00
hppa target/hppa: call plugin trap callbacks 2025-10-29 14:12:43 +00:00
i386 accel/hvf: Fix i386 HVF compilation failures 2025-12-01 21:21:16 +01:00
loongarch loongarch queue 2025-10-31 12:55:44 +01:00
m68k target/m68k: call plugin trap callbacks 2025-10-29 14:12:43 +00:00
microblaze maintainer updates for 10.2 2025-10-30 09:25:15 +01:00
mips target/mips: call plugin trap callbacks 2025-10-29 14:12:43 +00:00
openrisc target/openrisc: call plugin trap callbacks 2025-10-29 14:12:43 +00:00
ppc ppc queue for 10.2 2025-11-01 09:39:10 +01:00
riscv target/riscv: call plugin trap callbacks 2025-10-29 14:12:43 +00:00
rx rx: cpu: fix interrupts check in rx_cpu_do_interrupt() 2025-11-03 14:15:57 +01:00
s390x target/s390x: Use address generation for register branch targets 2025-11-03 08:27:59 +01:00
sh4 target/sh4: call plugin trap callbacks 2025-10-29 14:12:43 +00:00
sparc target/sparc: call plugin trap callbacks 2025-10-29 14:12:43 +00:00
tricore target/tricore: call plugin trap callbacks 2025-10-29 14:12:43 +00:00
xtensa target/xtensa: call plugin trap callbacks 2025-10-29 14:12:43 +00:00
Kconfig target/cris: Remove the deprecated CRIS target 2024-09-13 20:11:13 +02:00
meson.build target/cris: Remove the deprecated CRIS target 2024-09-13 20:11:13 +02:00