ARM: Make an SRS instruction with a bad mode cause an undefined instruction fault.
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user