Revision a63b5829
b/dyngen-exec.h | ||
---|---|---|
50 | 50 |
|
51 | 51 |
#if defined(__i386__) |
52 | 52 |
#define AREG0 "ebp" |
53 |
#define AREG1 "ebx" |
|
54 |
#define AREG2 "esi" |
|
55 | 53 |
#elif defined(__x86_64__) |
56 | 54 |
#define AREG0 "r14" |
57 |
#define AREG1 "r15" |
|
58 |
#define AREG2 "r12" |
|
59 | 55 |
#elif defined(_ARCH_PPC) |
60 | 56 |
#define AREG0 "r27" |
61 |
#define AREG1 "r24" |
|
62 |
#define AREG2 "r25" |
|
63 | 57 |
#elif defined(__arm__) |
64 | 58 |
#define AREG0 "r7" |
65 |
#define AREG1 "r4" |
|
66 |
#define AREG2 "r5" |
|
67 | 59 |
#elif defined(__hppa__) |
68 | 60 |
#define AREG0 "r17" |
69 |
#define AREG1 "r14" |
|
70 |
#define AREG2 "r15" |
|
71 | 61 |
#elif defined(__mips__) |
72 | 62 |
#define AREG0 "fp" |
73 |
#define AREG1 "s0" |
|
74 |
#define AREG2 "s1" |
|
75 | 63 |
#elif defined(__sparc__) |
76 | 64 |
#ifdef CONFIG_SOLARIS |
77 | 65 |
#define AREG0 "g2" |
78 |
#define AREG1 "g3" |
|
79 |
#define AREG2 "g4" |
|
80 | 66 |
#else |
81 | 67 |
#ifdef __sparc_v9__ |
82 | 68 |
#define AREG0 "g5" |
83 |
#define AREG1 "g6" |
|
84 |
#define AREG2 "g7" |
|
85 | 69 |
#else |
86 | 70 |
#define AREG0 "g6" |
87 |
#define AREG1 "g1" |
|
88 |
#define AREG2 "g2" |
|
89 | 71 |
#endif |
90 | 72 |
#endif |
91 | 73 |
#elif defined(__s390__) |
92 | 74 |
#define AREG0 "r10" |
93 |
#define AREG1 "r7" |
|
94 |
#define AREG2 "r8" |
|
95 | 75 |
#elif defined(__alpha__) |
96 | 76 |
/* Note $15 is the frame pointer, so anything in op-i386.c that would |
97 | 77 |
require a frame pointer, like alloca, would probably loose. */ |
98 | 78 |
#define AREG0 "$15" |
99 |
#define AREG1 "$9" |
|
100 |
#define AREG2 "$10" |
|
101 | 79 |
#elif defined(__mc68000) |
102 | 80 |
#define AREG0 "%a5" |
103 |
#define AREG1 "%a4" |
|
104 |
#define AREG2 "%d7" |
|
105 | 81 |
#elif defined(__ia64__) |
106 | 82 |
#define AREG0 "r7" |
107 |
#define AREG1 "r4" |
|
108 |
#define AREG2 "r5" |
|
109 | 83 |
#else |
110 | 84 |
#error unsupported CPU |
111 | 85 |
#endif |
b/tcg/arm/tcg-target.h | ||
---|---|---|
73 | 73 |
enum { |
74 | 74 |
/* Note: must be synced with dyngen-exec.h */ |
75 | 75 |
TCG_AREG0 = TCG_REG_R7, |
76 |
TCG_AREG1 = TCG_REG_R4, |
|
77 |
TCG_AREG2 = TCG_REG_R5, |
|
78 | 76 |
}; |
79 | 77 |
|
80 | 78 |
static inline void flush_icache_range(unsigned long start, unsigned long stop) |
b/tcg/hppa/tcg-target.h | ||
---|---|---|
83 | 83 |
|
84 | 84 |
/* Note: must be synced with dyngen-exec.h */ |
85 | 85 |
#define TCG_AREG0 TCG_REG_R17 |
86 |
#define TCG_AREG1 TCG_REG_R14 |
|
87 |
#define TCG_AREG2 TCG_REG_R15 |
|
88 | 86 |
|
89 | 87 |
static inline void flush_icache_range(unsigned long start, unsigned long stop) |
90 | 88 |
{ |
b/tcg/i386/tcg-target.h | ||
---|---|---|
62 | 62 |
|
63 | 63 |
/* Note: must be synced with dyngen-exec.h */ |
64 | 64 |
#define TCG_AREG0 TCG_REG_EBP |
65 |
#define TCG_AREG1 TCG_REG_EBX |
|
66 |
#define TCG_AREG2 TCG_REG_ESI |
|
67 | 65 |
|
68 | 66 |
static inline void flush_icache_range(unsigned long start, unsigned long stop) |
69 | 67 |
{ |
b/tcg/mips/tcg-target.h | ||
---|---|---|
95 | 95 |
|
96 | 96 |
/* Note: must be synced with dyngen-exec.h */ |
97 | 97 |
#define TCG_AREG0 TCG_REG_FP |
98 |
#define TCG_AREG1 TCG_REG_S0 |
|
99 |
#define TCG_AREG2 TCG_REG_S1 |
|
100 | 98 |
|
101 | 99 |
#include <sys/cachectl.h> |
102 | 100 |
|
b/tcg/ppc/tcg-target.h | ||
---|---|---|
91 | 91 |
#define TCG_TARGET_HAS_orc_i32 |
92 | 92 |
|
93 | 93 |
#define TCG_AREG0 TCG_REG_R27 |
94 |
#define TCG_AREG1 TCG_REG_R24 |
|
95 |
#define TCG_AREG2 TCG_REG_R25 |
|
96 | 94 |
|
97 | 95 |
#define TCG_TARGET_HAS_GUEST_BASE |
b/tcg/ppc64/tcg-target.h | ||
---|---|---|
98 | 98 |
/* #define TCG_TARGET_HAS_orc_i64 */ |
99 | 99 |
|
100 | 100 |
#define TCG_AREG0 TCG_REG_R27 |
101 |
#define TCG_AREG1 TCG_REG_R24 |
|
102 |
#define TCG_AREG2 TCG_REG_R25 |
|
103 | 101 |
|
104 | 102 |
#define TCG_TARGET_HAS_GUEST_BASE |
b/tcg/s390/tcg-target.h | ||
---|---|---|
84 | 84 |
enum { |
85 | 85 |
/* Note: must be synced with dyngen-exec.h */ |
86 | 86 |
TCG_AREG0 = TCG_REG_R10, |
87 |
TCG_AREG1 = TCG_REG_R7, |
|
88 |
TCG_AREG2 = TCG_REG_R8, |
|
89 |
TCG_AREG3 = TCG_REG_R9, |
|
90 | 87 |
}; |
91 | 88 |
|
92 | 89 |
static inline void flush_icache_range(unsigned long start, unsigned long stop) |
b/tcg/sparc/tcg-target.h | ||
---|---|---|
119 | 119 |
#define TCG_TARGET_HAS_orc_i64 |
120 | 120 |
#endif |
121 | 121 |
|
122 |
/* Note: must be synced with dyngen-exec.h and Makefile.target */
|
|
122 |
/* Note: must be synced with dyngen-exec.h */ |
|
123 | 123 |
#ifdef CONFIG_SOLARIS |
124 | 124 |
#define TCG_AREG0 TCG_REG_G2 |
125 |
#define TCG_AREG1 TCG_REG_G3 |
|
126 |
#define TCG_AREG2 TCG_REG_G4 |
|
127 | 125 |
#elif defined(__sparc_v9__) |
128 | 126 |
#define TCG_AREG0 TCG_REG_G5 |
129 |
#define TCG_AREG1 TCG_REG_G6 |
|
130 |
#define TCG_AREG2 TCG_REG_G7 |
|
131 | 127 |
#else |
132 | 128 |
#define TCG_AREG0 TCG_REG_G6 |
133 |
#define TCG_AREG1 TCG_REG_G1 |
|
134 |
#define TCG_AREG2 TCG_REG_G2 |
|
135 | 129 |
#endif |
136 | 130 |
|
137 | 131 |
static inline void flush_icache_range(unsigned long start, unsigned long stop) |
b/tcg/x86_64/tcg-target.h | ||
---|---|---|
89 | 89 |
|
90 | 90 |
/* Note: must be synced with dyngen-exec.h */ |
91 | 91 |
#define TCG_AREG0 TCG_REG_R14 |
92 |
#define TCG_AREG1 TCG_REG_R15 |
|
93 |
#define TCG_AREG2 TCG_REG_R12 |
|
94 | 92 |
|
95 | 93 |
static inline void flush_icache_range(unsigned long start, unsigned long stop) |
96 | 94 |
{ |
Also available in: Unified diff