target-arm: Check undefined opcodes for SWP in A32 decoder
commitc4869ca630a57f4269bb932ec7f719cef5bc79b8
authorOnur Sahin <onursahin08@gmail.com>
Tue, 10 Apr 2018 12:02:24 +0000 (10 13:02 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 10 Apr 2018 12:02:24 +0000 (10 13:02 +0100)
tree9873717c1546b9598a067009bd2a0cbe1e01d146
parent8720daad476fd9688b0c7e2453624c8a225c9c72
target-arm: Check undefined opcodes for SWP in A32 decoder

Make sure we are not treating architecturally Undefined instructions
as a SWP, by verifying the opcodes as per section A8.8.229 of ARMv7-A
specification. Bits [21:20] must be zero for this to be a SWP or SWPB.
We also choose to UNDEF for the architecturally UNPREDICTABLE case of
bits [11:8] not being zero.

Signed-off-by: Onur Sahin <onursahin08@gmail.com>
[PMM: tweaked commit message]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/translate.c