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