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.
Harald van Dijk
7248dab3c9
target/arm: Fix assert on BRA.
...
trans_BRA does
gen_a64_set_pc(s, dst);
set_btype_for_br(s, a->rn);
gen_a64_set_pc does
s->pc_save = -1;
set_btype_for_br (if aa64_bti is enabled and the register is not x16 or
x17) does
gen_pc_plus_diff(s, pc, 0);
gen_pc_plus_diff does
assert(s->pc_save != -1);
Hence, this assert is getting hit. We need to call set_btype_for_br
before gen_a64_set_pc, and there is nothing in set_btype_for_br that
depends on gen_a64_set_pc having already been called, so this commit
simply swaps the calls.
(The commit message for 64678fc45d says that set_brtype_for_br()
must be "moved after" get_a64_set_pc(), but this is a mistake in
the commit message -- the actual changes in that commit move
set_brtype_for_br() *before* get_a64_set_pc() and this is necessary
to avoid the assert.)
Cc: qemu-stable@nongnu.org
Fixes: 64678fc45d ("target/arm: Fix BTI versus CF_PCREL")
Signed-off-by: Harald van Dijk <hdijk@accesssoftek.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: d2265ebb-84bc-41b7-a2d7-05dc9a5a2055@accesssoftek.com
[PMM: added note about 64678fc45d to commit message]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
1 day ago
..
a32-uncond.decode
…
a32.decode
…
a64.decode
target/arm: Implement GCSB
2 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
5 months ago
cpu32.c
target/arm: Remove deprecated pxa CPU family
3 months ago
cpu64.c
target/arm: Enable FEAT_AIE for -cpu max
1 month 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
12 months ago
gengvec64.c
target/arm: Introduce gen_gvec_sve2_sqdmulh
5 months ago
helper-a64.c
target/arm: Implement EXLOCK check during exception return
2 months ago
helper-a64.h
target/arm: Make helper_exception_return system-only
2 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
4 months ago
helper-sve.h
target/arm: Expand the descriptor for SME/SVE memory ops to i64
4 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
2 months ago
m-nocp.decode
…
m_helper.c
target/arm: call plugin trap callbacks
1 month ago
meson.build
target/arm: Remove iwmmxt helper functions
3 months ago
mte_helper.c
target/arm: Remove unused env argument from regime_el
2 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
5 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
5 months ago
op_addsub.c.inc
target/arm: Move minor arithmetic helpers out of helper.c
11 months ago
op_helper.c
target/arm: Implement EXLOCKException for ELR_ELx and SPSR_ELx
2 months ago
pauth_helper.c
include: Remove 'exec/exec-all.h'
7 months ago
psci.c
target/arm: Share ARM_PSCI_CALL trace event between TCG and HVF
1 month ago
sme-fa64.decode
…
sme.decode
target/arm: Implement SME2 BFMOPA (non-widening)
5 months ago
sme_helper.c
target/arm: Pack mtedesc into upper 32 bits of descriptor
4 months ago
sve.decode
target/arm: LD1Q, ST1Q are vector + scalar, not scalar + vector
4 months ago
sve_helper.c
target/arm: Fix LD1W, LD1D to 128-bit elements
4 months ago
sve_ldst_internal.h
target/arm: Move ld1qq and st1qq primitives to sve_ldst_internal.h
5 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
2 months ago
tlb_helper.c
target/arm: Implement gcs bit for data abort
2 months ago
translate-a32.h
target/arm: Implement store_cpu_field_low32() macro
1 year ago
translate-a64.c
target/arm: Fix assert on BRA.
1 day ago
translate-a64.h
target/arm: Expand the descriptor for SME/SVE memory ops to i64
4 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
1 month ago
translate-sme.c
target/arm: Expand the descriptor for SME/SVE memory ops to i64
4 months ago
translate-sve.c
target/arm: LD1Q, ST1Q are vector + scalar, not scalar + vector
4 months ago
translate-vfp.c
target/arm: Use FPST_A32_F16 in A32 decoder
10 months ago
translate.c
target/arm: Fix accidental write to TCG constant
3 weeks ago
translate.h
accel/tcg: Introduce and use MO_ALIGN_TLB_ONLY
1 month ago
vec_helper.c
target/arm: Add BFMUL (indexed)
4 months ago
vec_internal.h
target/arm: Support FPCR.AH in SME FMOPS, BFMOPS
5 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
5 months ago