d7fe699be5
For M-profile, there is no guest-facing A-profile format FSR, but we still use the env->exception.fsr field to pass fault information from the point where a fault is raised to the code in arm_v7m_cpu_do_interrupt() which interprets it and sets the M-profile specific fault status registers. So it doesn't matter whether we fill in env->exception.fsr in the short format or the LPAE format, as long as both sides agree. As it happens arm_v7m_cpu_do_interrupt() assumes short-form. In compute_fsr_fsc() we weren't explicitly choosing short-form for M-profile, but instead relied on it falling out in the wash because arm_s1_regime_using_lpae_format() would be false. This was broken in commit |
||
---|---|---|
.. | ||
a32-uncond.decode | ||
a32.decode | ||
a64.decode | ||
arm_ldst.h | ||
cpu32.c | ||
cpu64.c | ||
crypto_helper.c | ||
helper-a64.c | ||
helper-a64.h | ||
helper-mve.h | ||
helper-sme.h | ||
helper-sve.h | ||
hflags.c | ||
iwmmxt_helper.c | ||
m_helper.c | ||
m-nocp.decode | ||
meson.build | ||
mte_helper.c | ||
mve_helper.c | ||
mve.decode | ||
neon_helper.c | ||
neon-dp.decode | ||
neon-ls.decode | ||
neon-shared.decode | ||
op_helper.c | ||
pauth_helper.c | ||
psci.c | ||
sme_helper.c | ||
sme-fa64.decode | ||
sme.decode | ||
sve_helper.c | ||
sve_ldst_internal.h | ||
sve.decode | ||
t16.decode | ||
t32.decode | ||
tlb_helper.c | ||
translate-a32.h | ||
translate-a64.c | ||
translate-a64.h | ||
translate-m-nocp.c | ||
translate-mve.c | ||
translate-neon.c | ||
translate-sme.c | ||
translate-sve.c | ||
translate-vfp.c | ||
translate.c | ||
translate.h | ||
vec_helper.c | ||
vec_internal.h | ||
vfp-uncond.decode | ||
vfp.decode |