]> git.proxmox.com Git - mirror_qemu.git/commit - target/arm/helper.c
target/arm: Correct syndrome for ATS12NSO* at Secure EL1
authorPeter Maydell <peter.maydell@linaro.org>
Mon, 30 Jan 2023 18:24:38 +0000 (18:24 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 3 Feb 2023 12:59:22 +0000 (12:59 +0000)
commitce9a8863b2c465a7227984bdadf743786f7a1849
tree1fd4cc51b69217e5f8355816d3d9681be894a92f
parent3999d2d290a5c722c15bac9272e47090a95a0554
target/arm: Correct syndrome for ATS12NSO* at Secure EL1

The AArch32 ATS12NSO* address translation operations are supposed to
trap to either EL2 or EL3 if they're executed at Secure EL1 (which
can only happen if EL3 is AArch64).  We implement this, but we got
the syndrome value wrong: like other traps to EL2 or EL3 on an
AArch32 cpreg access, they should report the 0x3 syndrome, not the
0x0 'uncategorized' syndrome.  This is clear in the access pseudocode
for these instructions.

Fix the syndrome value for these operations by correcting the
returned value from the ats_access() function.

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-3-peter.maydell@linaro.org
Message-id: 20230127175507.2895013-3-peter.maydell@linaro.org
target/arm/helper.c