ARM: Make an SRS instruction with a bad mode cause an undefined instruction fault.

This commit is contained in:
Gabe Black
2010-07-15 02:11:56 -07:00
parent 4e3183cb1e
commit 8cec870568
2 changed files with 4 additions and 0 deletions

View File

@@ -282,6 +282,8 @@ def format Thumb32SrsRfe() {{
}
} else {
const uint32_t mode = bits(machInst, 4, 0);
if (badMode((OperatingMode)mode))
return new Unknown(machInst);
if (!add && !wb) {
return new %(srs)s(machInst, mode,
SrsOp::DecrementBefore, wb);

View File

@@ -166,6 +166,8 @@ def format ArmUnconditional() {{
const uint32_t val = ((machInst >> 20) & 0x5);
if (val == 0x4) {
const uint32_t mode = bits(machInst, 4, 0);
if (badMode((OperatingMode)mode))
return new Unknown(machInst);
switch (bits(machInst, 24, 21)) {
case 0x2:
return new %(srs)s(machInst, mode,