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.
This commit is contained in:
parent
79f81e2641
commit
68dee58c38
2 changed files with 5 additions and 19 deletions
|
@ -145,7 +145,9 @@ do_fail(int argc, char *argv[])
|
||||||
if (argc < 1 || argc > 2)
|
if (argc < 1 || argc > 2)
|
||||||
usage();
|
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
|
void
|
||||||
|
|
|
@ -55,29 +55,13 @@
|
||||||
.align 2
|
.align 2
|
||||||
.globl \name
|
.globl \name
|
||||||
\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__
|
#ifdef __thumb__
|
||||||
.short 0xEE00 | \func
|
.short 0xEE00 | \func
|
||||||
.short 0x0110 | (\subfunc << 12)
|
.short 0x0110 | (\subfunc << 12)
|
||||||
#else
|
#else
|
||||||
.long (0xEE000110 | (\func << 16) | (\subfunc << 12))
|
.long 0xEE000110 | (\func << 16) | (\subfunc << 12)
|
||||||
#endif
|
#endif
|
||||||
pop {pc}
|
mov pc,lr
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
#define SIMPLE_OP(name, func, subfunc) simple_op name, func, subfunc
|
#define SIMPLE_OP(name, func, subfunc) simple_op name, func, subfunc
|
||||||
|
|
Loading…
Reference in a new issue