diff options
author | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-05-05 19:23:11 +0000 |
---|---|---|
committer | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-05-05 19:23:11 +0000 |
commit | c4b89d18ba3b494545266970fe8714bc3d7f5917 (patch) | |
tree | 85543844ae6a8c7f7e7b3dd73d804a9c8161c835 /dyngen-exec.h | |
parent | 26ea091859c76d5e1b8a95148aa60b59dc8ee196 (diff) | |
download | hqemu-c4b89d18ba3b494545266970fe8714bc3d7f5917.zip hqemu-c4b89d18ba3b494545266970fe8714bc3d7f5917.tar.gz |
Some bits of Linux/MIPS host support, still segfaulty.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2771 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'dyngen-exec.h')
-rw-r--r-- | dyngen-exec.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/dyngen-exec.h b/dyngen-exec.h index 69c3cd9..8ceb230 100644 --- a/dyngen-exec.h +++ b/dyngen-exec.h @@ -129,10 +129,15 @@ extern int printf(const char *, ...); #define AREG3 "r6" #endif #ifdef __mips__ -#define AREG0 "s3" +#define AREG0 "fp" #define AREG1 "s0" #define AREG2 "s1" #define AREG3 "s2" +#define AREG4 "s3" +#define AREG5 "s4" +#define AREG6 "s5" +#define AREG7 "s6" +#define AREG8 "s7" #endif #ifdef __sparc__ #ifdef HOST_SOLARIS @@ -280,5 +285,9 @@ extern int __op_jmp0, __op_jmp1, __op_jmp2, __op_jmp3; #ifdef __mc68000 #define EXIT_TB() asm volatile ("rts") #endif +#ifdef __mips__ +#define EXIT_TB() asm volatile ("jr $ra") +#define GOTO_LABEL_PARAM(n) asm volatile (".set noat; la $1, " ASM_NAME(__op_gen_label) #n "; jr $1; .set at") +#endif #endif /* !defined(__DYNGEN_EXEC_H__) */ |