diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2010-06-02 12:58:11 -0500 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2010-06-02 12:58:11 -0500 |
commit | ba33db8fd66fe0814a59d520df54f0bb3788ce1d (patch) | |
tree | 404dbb98f0105abb8f4a30e563c25b37e0596312 /src/arch/arm/isa/formats/data.isa | |
parent | 7861b084f6f800ebb1c8f5725c751b772b4edc70 (diff) | |
download | gem5-ba33db8fd66fe0814a59d520df54f0bb3788ce1d.tar.xz |
ARM: Decode the CPS instruction.
Diffstat (limited to 'src/arch/arm/isa/formats/data.isa')
-rw-r--r-- | src/arch/arm/isa/formats/data.isa | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/arch/arm/isa/formats/data.isa b/src/arch/arm/isa/formats/data.isa index 19a9ee9fe..3e6265d0b 100644 --- a/src/arch/arm/isa/formats/data.isa +++ b/src/arch/arm/isa/formats/data.isa @@ -1026,7 +1026,10 @@ def format Thumb16Misc() {{ if (opBits == 2) { return new Setend(machInst, bits(machInst, 3)); } else if (opBits == 3) { - return new WarnUnimplemented("cps", machInst); + const bool enable = (bits(machInst, 4) == 0); + const uint32_t mods = (bits(machInst, 2, 0) << 5) | + ((enable ? 1 : 0) << 9); + return new Cps(machInst, mods); } } case 0x9: |