target-arm: Only trap SRS from S-EL1 if specified mode is MON
commitba63cf47a93041137a94e86b7d0cd87fc896949b
authorRalf-Philipp Weinmann <ralf+devel@comsecuris.com>
Fri, 4 Mar 2016 11:30:22 +0000 (4 11:30 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 4 Mar 2016 11:30:22 +0000 (4 11:30 +0000)
treeda8e1ea0ee497fea96ed2bf52ef5ca93285bc9f4
parenta55c910e0b18aee2f67b129f0046b53cb8c42f21
target-arm: Only trap SRS from S-EL1 if specified mode is MON

Commit cbc0326b6fb9 caused SRS instructions executed from Secure
EL1 to trap to EL3 even if the specified mode was not monitor mode.

According to the ARMv8 Architecture reference manual [F6.1.203], ALL
of the following conditions need to be met for SRS to trap to EL3:
* It is executed at Secure PL1.
* The specified mode is monitor mode.
* EL3 is using AArch64.

Correct the condition governing the trap to EL3 to check the
specified mode.

Signed-off-by: Ralf-Philipp Weinmann <ralf+devel@comsecuris.com>
Message-id: 20160222224251.GA11654@beta.comsecuris.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
[PMM: tweaked comment text to read 'specified mode'; edited
 commit message]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target-arm/translate.c