]> git.ipfire.org Git - thirdparty/qemu.git/commit
target/arm: ensure we use current exception state after SCR update
authorAlex Bennée <alex.bennee@linaro.org>
Thu, 12 Dec 2019 11:47:34 +0000 (11:47 +0000)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Mon, 11 May 2020 19:53:32 +0000 (14:53 -0500)
commitda0948d13ccc4553fec74002c8fc39392a11d5e4
treeae8cafaed00caad86ef6e1cba8a46f12f0fd666c
parentd636d64b3509ae1cd93931ca3b1ab13afe72ff62
target/arm: ensure we use current exception state after SCR update

A write to the SCR can change the effective EL by droppping the system
from secure to non-secure mode. However if we use a cached current_el
from before the change we'll rebuild the flags incorrectly. To fix
this we introduce the ARM_CP_NEWEL CP flag to indicate the new EL
should be used when recomputing the flags.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20191212114734.6962-1-alex.bennee@linaro.org
Cc: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20191209143723.6368-1-alex.bennee@linaro.org>
Cc: qemu-stable@nongnu.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
(cherry picked from commit f80741d107673f162e3b097fc76a1590036cc9d1)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
target/arm/cpu.h
target/arm/helper.c
target/arm/helper.h
target/arm/translate.c