summary refs log tree commit diff stats
path: root/scripts/qapi/common.py
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2018-07-09 13:45:35 +0100
committerPeter Maydell <peter.maydell@linaro.org>2018-07-10 10:54:40 +0100
commit2b83714d4ea659899069a4b94aa2dfadc847a013 (patch)
tree08c6699e8b22ece28fc957c3fb68eaabc28048c4 /scripts/qapi/common.py
parent3a340e84375145fa32ce68e0b7b58d964487336b (diff)
downloadfocaccia-qemu-2b83714d4ea659899069a4b94aa2dfadc847a013.tar.gz
focaccia-qemu-2b83714d4ea659899069a4b94aa2dfadc847a013.zip
target/arm: Use correct mmu_idx for exception-return unstacking
For M-profile exception returns, the mmu index to use for exception
return unstacking is supposed to be that of wherever we are returning to:
 * if returning to handler mode, privileged
 * if returning to thread mode, privileged or unprivileged depending on
   CONTROL.nPRIV for the destination security state

We were passing the wrong thing as the 'priv' argument to
arm_v7m_mmu_idx_for_secstate_and_priv(). The effect was that guests
which programmed the MPU to behave differently for privileged and
unprivileged code could get spurious MemManage Unstack exceptions.

Reported-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20180709124535.1116-1-peter.maydell@linaro.org
Diffstat (limited to 'scripts/qapi/common.py')
0 files changed, 0 insertions, 0 deletions