From 68dee58c38a6f861829522d47510c294459e7494 Mon Sep 17 00:00:00 2001 From: Ali Saidi Date: Thu, 31 Oct 2013 13:41:13 -0500 Subject: [PATCH] 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. --- util/m5/m5.c | 4 +++- util/m5/m5op_arm.S | 20 ++------------------ 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/util/m5/m5.c b/util/m5/m5.c index 1ddaaf66d..2fd2d1590 100644 --- a/util/m5/m5.c +++ b/util/m5/m5.c @@ -145,7 +145,9 @@ do_fail(int argc, char *argv[]) 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 --git a/util/m5/m5op_arm.S b/util/m5/m5op_arm.S index 3a43913f7..988abd76e 100644 --- a/util/m5/m5op_arm.S +++ b/util/m5/m5op_arm.S @@ -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 -- 2.30.2