You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/target/arm/tcg
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>
2 weeks ago
..
a32-uncond.decode
a32.decode
a64.decode target/arm: Implement GCSB 3 months ago
arith_helper.c target/arm/tcg/arith_helper: compile file once 7 months ago
arm_ldst.h target/arm: Move translate-a32.h, arm_ldst.h, sve_ldst_internal.h to tcg/ 3 years ago
cpregs-at.c target/arm: Implement FEAT_ATS1A 3 months ago
cpu-v7m.c arm/cpu: store clidr into the idregs array 6 months ago
cpu32.c target/arm: Remove deprecated pxa CPU family 3 months ago
cpu64.c target/arm: Enable FEAT_AIE for -cpu max 2 months ago
crypto_helper.c target/arm/tcg/crypto_helper: compile file once 7 months ago
gengvec.c target/arm: Introduce gen_gvec_urecpe, gen_gvec_ursqrte 1 year ago
gengvec64.c target/arm: Introduce gen_gvec_sve2_sqdmulh 6 months ago
helper-a64.c target/arm: Implement EXLOCK check during exception return 3 months ago
helper-a64.h target/arm: Make helper_exception_return system-only 3 months ago
helper-mve.h target/arm: Move helper-{a64,mve,sme,sve}.h to tcg/ 3 years ago
helper-sme.h target/arm: Expand the descriptor for SME/SVE memory ops to i64 5 months ago
helper-sve.h target/arm: Expand the descriptor for SME/SVE memory ops to i64 5 months ago
helper.h target/arm: Remove iwmmxt helper functions 3 months ago
hflags.c target/arm: Add GCS enable and trap levels to DisasContext 3 months ago
m-nocp.decode
m_helper.c target/arm: call plugin trap callbacks 2 months ago
meson.build target/arm: Remove iwmmxt helper functions 3 months ago
mte_helper.c target/arm: Remove unused env argument from regime_el 3 months ago
mte_helper.h target/arm: Make some MTE helpers widely available 1 year ago
mve.decode
mve_helper.c target/arm: Move do_urshr, do_srshr to vec_internal.h 6 months ago
neon-dp.decode target/arm: Convert VQSHL, VQSHLU to gvec 1 year ago
neon-ls.decode
neon-shared.decode
neon_helper.c target/arm: Implement SME2 Multiple and Single SVE Destructive 6 months ago
op_addsub.c.inc target/arm: Move minor arithmetic helpers out of helper.c 12 months ago
op_helper.c target/arm: Implement EXLOCKException for ELR_ELx and SPSR_ELx 3 months ago
pauth_helper.c include: Remove 'exec/exec-all.h' 8 months ago
psci.c target/arm: Share ARM_PSCI_CALL trace event between TCG and HVF 2 months ago
sme-fa64.decode
sme.decode target/arm: Implement SME2 BFMOPA (non-widening) 6 months ago
sme_helper.c target/arm: Pack mtedesc into upper 32 bits of descriptor 5 months ago
sve.decode target/arm: LD1Q, ST1Q are vector + scalar, not scalar + vector 5 months ago
sve_helper.c target/arm: Fix LD1W, LD1D to 128-bit elements 5 months ago
sve_ldst_internal.h target/arm: Move ld1qq and st1qq primitives to sve_ldst_internal.h 6 months ago
t16.decode
t32.decode target/arm: Use PLD, PLDW, PLI not NOP for t32 2 years ago
tlb-insns.c target/arm: Introduce mmu indexes for GCS 3 months ago
tlb_helper.c target/arm: handle unaligned PC during tlb probe 2 weeks ago
translate-a32.h target/arm: Implement store_cpu_field_low32() macro 1 year ago
translate-a64.c target/arm: Fix assert on BRA. 3 weeks ago
translate-a64.h target/arm: Expand the descriptor for SME/SVE memory ops to i64 5 months ago
translate-m-nocp.c target/arm: Rename FPCR_ QC, NZCV macros to FPSR_ 1 year ago
translate-mve.c tcg: Rename cpu_env to tcg_env 2 years ago
translate-neon.c accel/tcg: Introduce and use MO_ALIGN_TLB_ONLY 2 months ago
translate-sme.c target/arm: Expand the descriptor for SME/SVE memory ops to i64 5 months ago
translate-sve.c target/arm: LD1Q, ST1Q are vector + scalar, not scalar + vector 5 months ago
translate-vfp.c target/arm: Use FPST_A32_F16 in A32 decoder 11 months ago
translate.c target/arm: Fix accidental write to TCG constant 1 month ago
translate.h accel/tcg: Introduce and use MO_ALIGN_TLB_ONLY 2 months ago
vec_helper.c target/arm: Add BFMUL (indexed) 5 months ago
vec_internal.h target/arm: Support FPCR.AH in SME FMOPS, BFMOPS 6 months ago
vfp-uncond.decode
vfp.decode target/arm: Correct names of VFP VFNMA and VFNMS insns 1 year ago
vfp_helper.c target/arm: Introduce FPST_ZA, FPST_ZA_F16 6 months ago