Hello Nikos Nikoleris,

I'd like you to do a code review. Please visit

    https://gem5-review.googlesource.com/4263

to review the following change.


Change subject: arch-arm: Use named constants for m5op instructions
......................................................................

arch-arm: Use named constants for m5op instructions

Change-Id: I544519c4f87e50cc02af29cbb3edc31ecf726e8e
Signed-off-by: Andreas Sandberg <[email protected]>
Reviewed-by: Nikos Nikoleris <[email protected]>
---
M src/arch/arm/isa/formats/aarch64.isa
M src/arch/arm/isa/formats/m5ops.isa
M src/arch/arm/isa/includes.isa
3 files changed, 55 insertions(+), 52 deletions(-)



diff --git a/src/arch/arm/isa/formats/aarch64.isa b/src/arch/arm/isa/formats/aarch64.isa
index 1252cdf..38e5b15 100644
--- a/src/arch/arm/isa/formats/aarch64.isa
+++ b/src/arch/arm/isa/formats/aarch64.isa
@@ -2002,32 +2002,32 @@
     {
         const uint32_t m5func = bits(machInst, 23, 16);
         switch (m5func) {
-          case 0x00: return new Arm(machInst);
-          case 0x01: return new Quiesce(machInst);
-          case 0x02: return new QuiesceNs64(machInst);
-          case 0x03: return new QuiesceCycles64(machInst);
-          case 0x04: return new QuiesceTime64(machInst);
-          case 0x07: return new Rpns64(machInst);
-          case 0x09: return new WakeCPU64(machInst);
-          case 0x10: return new Deprecated_ivlb(machInst);
-          case 0x11: return new Deprecated_ivle(machInst);
-          case 0x20: return new Deprecated_exit (machInst);
-          case 0x21: return new M5exit64(machInst);
-          case 0x22: return new M5fail64(machInst);
-          case 0x31: return new Loadsymbol(machInst);
-          case 0x30: return new Initparam64(machInst);
-          case 0x40: return new Resetstats64(machInst);
-          case 0x41: return new Dumpstats64(machInst);
-          case 0x42: return new Dumpresetstats64(machInst);
-          case 0x43: return new M5checkpoint64(machInst);
-          case 0x4F: return new M5writefile64(machInst);
-          case 0x50: return new M5readfile64(machInst);
-          case 0x51: return new M5break(machInst);
-          case 0x52: return new M5switchcpu(machInst);
-          case 0x53: return new M5addsymbol64(machInst);
-          case 0x54: return new M5panic(machInst);
-          case 0x5a: return new M5workbegin64(machInst);
-          case 0x5b: return new M5workend64(machInst);
+          case M5OP_ARM: return new Arm(machInst);
+          case M5OP_QUIESCE: return new Quiesce(machInst);
+          case M5OP_QUIESCE_NS: return new QuiesceNs64(machInst);
+          case M5OP_QUIESCE_CYCLE: return new QuiesceCycles64(machInst);
+          case M5OP_QUIESCE_TIME: return new QuiesceTime64(machInst);
+          case M5OP_RPNS: return new Rpns64(machInst);
+          case M5OP_WAKE_CPU: return new WakeCPU64(machInst);
+          case M5OP_DEPRECATED1: return new Deprecated_ivlb(machInst);
+          case M5OP_DEPRECATED2: return new Deprecated_ivle(machInst);
+          case M5OP_DEPRECATED3: return new Deprecated_exit (machInst);
+          case M5OP_EXIT: return new M5exit64(machInst);
+          case M5OP_FAIL: return new M5fail64(machInst);
+          case M5OP_LOAD_SYMBOL: return new Loadsymbol(machInst);
+          case M5OP_INIT_PARAM: return new Initparam64(machInst);
+          case M5OP_RESET_STATS: return new Resetstats64(machInst);
+          case M5OP_DUMP_STATS: return new Dumpstats64(machInst);
+ case M5OP_DUMP_RESET_STATS: return new Dumpresetstats64(machInst);
+          case M5OP_CHECKPOINT: return new M5checkpoint64(machInst);
+          case M5OP_WRITE_FILE: return new M5writefile64(machInst);
+          case M5OP_READ_FILE: return new M5readfile64(machInst);
+          case M5OP_DEBUG_BREAK: return new M5break(machInst);
+          case M5OP_SWITCH_CPU: return new M5switchcpu(machInst);
+          case M5OP_ADD_SYMBOL: return new M5addsymbol64(machInst);
+          case M5OP_PANIC: return new M5panic(machInst);
+          case M5OP_WORK_BEGIN: return new M5workbegin64(machInst);
+          case M5OP_WORK_END: return new M5workend64(machInst);
           default: return new Unknown64(machInst);
         }
     }
diff --git a/src/arch/arm/isa/formats/m5ops.isa b/src/arch/arm/isa/formats/m5ops.isa
index 26210af..d3db813 100644
--- a/src/arch/arm/isa/formats/m5ops.isa
+++ b/src/arch/arm/isa/formats/m5ops.isa
@@ -42,32 +42,32 @@
     {
         const uint32_t m5func = bits(machInst, 23, 16);
         switch(m5func) {
-            case 0x00: return new Arm(machInst);
-            case 0x01: return new Quiesce(machInst);
-            case 0x02: return new QuiesceNs(machInst);
-            case 0x03: return new QuiesceCycles(machInst);
-            case 0x04: return new QuiesceTime(machInst);
-            case 0x07: return new Rpns(machInst);
-            case 0x09: return new WakeCPU(machInst);
-            case 0x10: return new Deprecated_ivlb(machInst);
-            case 0x11: return new Deprecated_ivle(machInst);
-            case 0x20: return new Deprecated_exit (machInst);
-            case 0x21: return new M5exit(machInst);
-            case 0x22: return new M5fail(machInst);
-            case 0x31: return new Loadsymbol(machInst);
-            case 0x30: return new Initparam(machInst);
-            case 0x40: return new Resetstats(machInst);
-            case 0x41: return new Dumpstats(machInst);
-            case 0x42: return new Dumpresetstats(machInst);
-            case 0x43: return new M5checkpoint(machInst);
-            case 0x4F: return new M5writefile(machInst);
-            case 0x50: return new M5readfile(machInst);
-            case 0x51: return new M5break(machInst);
-            case 0x52: return new M5switchcpu(machInst);
-            case 0x53: return new M5addsymbol(machInst);
-            case 0x54: return new M5panic(machInst);
-            case 0x5a: return new M5workbegin(machInst);
-            case 0x5b: return new M5workend(machInst);
+            case M5OP_ARM: return new Arm(machInst);
+            case M5OP_QUIESCE: return new Quiesce(machInst);
+            case M5OP_QUIESCE_NS: return new QuiesceNs(machInst);
+            case M5OP_QUIESCE_CYCLE: return new QuiesceCycles(machInst);
+            case M5OP_QUIESCE_TIME: return new QuiesceTime(machInst);
+            case M5OP_RPNS: return new Rpns(machInst);
+            case M5OP_WAKE_CPU: return new WakeCPU(machInst);
+            case M5OP_DEPRECATED1: return new Deprecated_ivlb(machInst);
+            case M5OP_DEPRECATED2: return new Deprecated_ivle(machInst);
+            case M5OP_DEPRECATED3: return new Deprecated_exit (machInst);
+            case M5OP_EXIT: return new M5exit(machInst);
+            case M5OP_FAIL: return new M5fail(machInst);
+            case M5OP_LOAD_SYMBOL: return new Loadsymbol(machInst);
+            case M5OP_INIT_PARAM: return new Initparam(machInst);
+            case M5OP_RESET_STATS: return new Resetstats(machInst);
+            case M5OP_DUMP_STATS: return new Dumpstats(machInst);
+ case M5OP_DUMP_RESET_STATS: return new Dumpresetstats(machInst);
+            case M5OP_CHECKPOINT: return new M5checkpoint(machInst);
+            case M5OP_WRITE_FILE: return new M5writefile(machInst);
+            case M5OP_READ_FILE: return new M5readfile(machInst);
+            case M5OP_DEBUG_BREAK: return new M5break(machInst);
+            case M5OP_SWITCH_CPU: return new M5switchcpu(machInst);
+            case M5OP_ADD_SYMBOL: return new M5addsymbol(machInst);
+            case M5OP_PANIC: return new M5panic(machInst);
+            case M5OP_WORK_BEGIN: return new M5workbegin(machInst);
+            case M5OP_WORK_END: return new M5workend(machInst);
         }
    }
    '''
diff --git a/src/arch/arm/isa/includes.isa b/src/arch/arm/isa/includes.isa
index 4fa032f..fe0b3ea 100644
--- a/src/arch/arm/isa/includes.isa
+++ b/src/arch/arm/isa/includes.isa
@@ -72,6 +72,9 @@

 output decoder {{
 #include <string>
+
+#include <gem5/asm/generic/m5ops.h>
+
 #include "arch/arm/decoder.hh"
 #include "arch/arm/faults.hh"
 #include "arch/arm/intregs.hh"

--
To view, visit https://gem5-review.googlesource.com/4263
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I544519c4f87e50cc02af29cbb3edc31ecf726e8e
Gerrit-Change-Number: 4263
Gerrit-PatchSet: 1
Gerrit-Owner: Andreas Sandberg <[email protected]>
Gerrit-Reviewer: Nikos Nikoleris <[email protected]>
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to