changeset 7890c22dad25 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=7890c22dad25
description:
        arm: fix m5ops binary for ARM and add m5fail.

        Changes to make m5ops work under virtualization seemed to break them 
working
        with non-virtualized systems and the recently added m5 fail command 
makes
        the m5op binary not compile.  For now remove the code for 
virtualization.

diffstat:

 util/m5/m5.c       |   4 +++-
 util/m5/m5op_arm.S |  20 ++------------------
 2 files changed, 5 insertions(+), 19 deletions(-)

diffs (49 lines):

diff -r 6cbe5c9d0ebb -r 7890c22dad25 util/m5/m5.c
--- a/util/m5/m5.c      Thu Oct 31 13:41:13 2013 -0500
+++ b/util/m5/m5.c      Thu Oct 31 13:41:13 2013 -0500
@@ -145,7 +145,9 @@
     if (argc < 1 || argc > 2)
         usage();
 
-    m5_fail((argc > 1) ? strtoul(argv[1], NULL, 0) : 0, strtoul(argv[0], NULL, 
0));
+    uint64_t ints[2] = {0,0};
+    parse_int_args(argc, argv, ints, argc);
+    m5_fail(ints[1], ints[0]);
 }
 
 void
diff -r 6cbe5c9d0ebb -r 7890c22dad25 util/m5/m5op_arm.S
--- a/util/m5/m5op_arm.S        Thu Oct 31 13:41:13 2013 -0500
+++ b/util/m5/m5op_arm.S        Thu Oct 31 13:41:13 2013 -0500
@@ -55,29 +55,13 @@
         .align 2
         .globl \name
 \name:
-        /* First, try to trap into m5 using the m5-kvm hypercall
-         * hack. The bxj will become a branch to the fallback code
-         * if it is executed in the normal m5 environment.
-         */
-        push {lr}
-#ifdef __thumb__
-        adr lr, 1f+1
-#else
-        adr lr, 1f
-#endif
-        ldr ip, =((((\func) & 0xFF) << 8) | ((\subfunc) & 0xFF))
-        bxj lr
-        pop {pc}
-
-        /* Old-style m5 pseudo instruction using CP1 accesses */
-1:
 #ifdef __thumb__
         .short 0xEE00 | \func
         .short 0x0110 | (\subfunc << 12)
 #else
-        .long (0xEE000110 | (\func << 16) | (\subfunc << 12))
+        .long 0xEE000110 | (\func << 16) | (\subfunc << 12)
 #endif
-        pop {pc}
+        mov pc,lr
 .endm
 
 #define SIMPLE_OP(name, func, subfunc) simple_op name, func, subfunc
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to