changeset f5edd0f709e4 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=f5edd0f709e4
description:
        ARM: Add in some new artificial fields that make decoding a little 
easier.

diffstat:

3 files changed, 10 insertions(+), 1 deletion(-)
src/arch/arm/isa/bitfields.isa |    3 +++
src/arch/arm/predecoder.hh     |    2 ++
src/arch/arm/types.hh          |    6 +++++-

diffs (41 lines):

diff -r 1e6a43614a3e -r f5edd0f709e4 src/arch/arm/isa/bitfields.isa
--- a/src/arch/arm/isa/bitfields.isa    Wed Jul 01 22:11:12 2009 -0700
+++ b/src/arch/arm/isa/bitfields.isa    Wed Jul 01 22:11:27 2009 -0700
@@ -61,6 +61,9 @@
 def bitfield OPCODE_5     opcode5;
 def bitfield OPCODE_4      opcode4;
 
+def bitfield IS_MISC       isMisc;
+def bitfield SEVEN_AND_FOUR sevenAndFour;
+
 // Other
 def bitfield COND_CODE     condCode;
 def bitfield S_FIELD       sField;
diff -r 1e6a43614a3e -r f5edd0f709e4 src/arch/arm/predecoder.hh
--- a/src/arch/arm/predecoder.hh        Wed Jul 01 22:11:12 2009 -0700
+++ b/src/arch/arm/predecoder.hh        Wed Jul 01 22:11:27 2009 -0700
@@ -73,6 +73,8 @@
         void moreBytes(Addr pc, Addr fetchPC, MachInst inst)
         {
             emi = inst;
+            emi.sevenAndFour = bits(inst, 7) && bits(inst, 4);
+            emi.isMisc = (bits(inst, 24, 23) == 0x2 && bits(inst, 20) == 0);
         }
 
         //Use this to give data to the predecoder. This should be used
diff -r 1e6a43614a3e -r f5edd0f709e4 src/arch/arm/types.hh
--- a/src/arch/arm/types.hh     Wed Jul 01 22:11:12 2009 -0700
+++ b/src/arch/arm/types.hh     Wed Jul 01 22:11:27 2009 -0700
@@ -38,7 +38,11 @@
 {
     typedef uint32_t MachInst;
 
-    BitUnion32(ExtMachInst)
+    BitUnion64(ExtMachInst)
+        // Made up bitfields that make life easier.
+        Bitfield<33>     sevenAndFour;
+        Bitfield<32>     isMisc;
+
         // All the different types of opcode fields.
         Bitfield<27, 25> opcode;
         Bitfield<27, 25> opcode27_25;
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to