summary refs log tree commit diff stats
path: root/hw/intc/apic_common.c
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2023-01-30 18:24:40 +0000
committerPeter Maydell <peter.maydell@linaro.org>2023-02-03 12:59:22 +0000
commit9ada333982c3d5ae4c15b8ba8dcfd7cb6cd6cb44 (patch)
treef9b0eb8281a8a9bc0dc955a5b3b6f75e00b5e158 /hw/intc/apic_common.c
parent80ea70f2e53469b468598508513d50c5f80d6bb9 (diff)
downloadfocaccia-qemu-9ada333982c3d5ae4c15b8ba8dcfd7cb6cd6cb44.tar.gz
focaccia-qemu-9ada333982c3d5ae4c15b8ba8dcfd7cb6cd6cb44.zip
target/arm: Move do_coproc_insn() syndrome calculation earlier
Rearrange the code in do_coproc_insn() so that we calculate the
syndrome value for a potential trap early; we're about to add a
second check that wants this value earlier than where it is currently
determined.

(Specifically, a trap to EL2 because of HSTR_EL2 should take
priority over an UNDEF to EL1, even when the UNDEF is because
the register does not exist at all or because its ri->access
bits non-configurably fail the access. So the check we put in
for HSTR_EL2 trapping at EL1 (which needs the syndrome) is
going to have to be done before the check "is the ARMCPRegInfo
pointer NULL".)

This commit is just code motion; the change to HSTR_EL2
handling that will use the 'syndrome' variable is in a
subsequent commit.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Fuad Tabba <tabba@google.com>
Message-id: 20230130182459.3309057-5-peter.maydell@linaro.org
Message-id: 20230127175507.2895013-5-peter.maydell@linaro.org
Diffstat (limited to 'hw/intc/apic_common.c')
0 files changed, 0 insertions, 0 deletions