mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
Fixes for s/390 host support, by Bastian Blank.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3693 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
8c462f8ff5
commit
76d83bde4a
5 changed files with 32 additions and 24 deletions
18
exec-all.h
18
exec-all.h
|
@ -350,24 +350,6 @@ do {\
|
|||
"1:\n");\
|
||||
} while (0)
|
||||
|
||||
#elif defined(__s390__)
|
||||
/* GCC spills R13, so we have to restore it before branching away */
|
||||
|
||||
#define GOTO_TB(opname, tbparam, n)\
|
||||
do {\
|
||||
static void __attribute__((used)) *dummy ## n = &&dummy_label ## n;\
|
||||
static void __attribute__((used)) *__op_label ## n \
|
||||
__asm__(ASM_OP_LABEL_NAME(n, opname)) = &&label ## n;\
|
||||
__asm__ __volatile__ ( \
|
||||
"l %%r13,52(%%r15)\n" \
|
||||
"br %0\n" \
|
||||
: : "r" (((TranslationBlock*)tbparam)->tb_next[n]));\
|
||||
\
|
||||
for(;*((int*)0);); /* just to keep GCC busy */ \
|
||||
label ## n: ;\
|
||||
dummy_label ## n: ;\
|
||||
} while(0)
|
||||
|
||||
#else
|
||||
|
||||
/* jump to next block operations (more portable code, does not need
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue