target/arm: Add v8M support to exception entry code
commitd3392718e1fcf0859fb7c0774a8e946bacb8419c
authorPeter Maydell <peter.maydell@linaro.org>
Fri, 6 Oct 2017 15:46:49 +0000 (6 16:46 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 6 Oct 2017 15:46:49 +0000 (6 16:46 +0100)
tree6abc0ea32b4392e92532b18606b7bbe5f51c72f4
parent907bedb3f3ce134c149599bd9cb61856d811b8ca
target/arm: Add v8M support to exception entry code

Add support for v8M and in particular the security extension
to the exception entry code. This requires changes to:
 * calculation of the exception-return magic LR value
 * push the callee-saves registers in certain cases
 * clear registers when taking non-secure exceptions to avoid
   leaking information from the interrupted secure code
 * switch to the correct security state on entry
 * use the vector table for the security state we're targeting

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1506092407-26985-13-git-send-email-peter.maydell@linaro.org
target/arm/helper.c