Revision d656469f softmmu_header.h
b/softmmu_header.h | ||
---|---|---|
70 | 70 |
#define ADDR_READ addr_read |
71 | 71 |
#endif |
72 | 72 |
|
73 |
DATA_TYPE REGPARM(1) glue(glue(__ld, SUFFIX), MMUSUFFIX)(target_ulong addr,
|
|
73 |
DATA_TYPE REGPARM glue(glue(__ld, SUFFIX), MMUSUFFIX)(target_ulong addr, |
|
74 | 74 |
int mmu_idx); |
75 |
void REGPARM(2) glue(glue(__st, SUFFIX), MMUSUFFIX)(target_ulong addr, DATA_TYPE v, int mmu_idx);
|
|
75 |
void REGPARM glue(glue(__st, SUFFIX), MMUSUFFIX)(target_ulong addr, DATA_TYPE v, int mmu_idx); |
|
76 | 76 |
|
77 | 77 |
#if (DATA_SIZE <= 4) && (TARGET_LONG_BITS == 32) && defined(__i386__) && \ |
78 | 78 |
(ACCESS_TYPE < NB_MMU_MODES) && defined(ASM_SOFTMMU) |
79 | 79 |
|
80 |
#define CPU_TLB_ENTRY_BITS 4 |
|
81 |
|
|
82 | 80 |
static inline RES_TYPE glue(glue(ld, USUFFIX), MEMSUFFIX)(target_ulong ptr) |
83 | 81 |
{ |
84 | 82 |
int res; |
... | ... | |
92 | 90 |
"cmpl (%%edx), %%eax\n" |
93 | 91 |
"movl %1, %%eax\n" |
94 | 92 |
"je 1f\n" |
95 |
"pushl %6\n"
|
|
93 |
"movl %6, %%edx\n"
|
|
96 | 94 |
"call %7\n" |
97 |
"popl %%edx\n" |
|
98 | 95 |
"movl %%eax, %0\n" |
99 | 96 |
"jmp 2f\n" |
100 | 97 |
"1:\n" |
... | ... | |
135 | 132 |
"cmpl (%%edx), %%eax\n" |
136 | 133 |
"movl %1, %%eax\n" |
137 | 134 |
"je 1f\n" |
138 |
"pushl %6\n"
|
|
135 |
"movl %6, %%edx\n"
|
|
139 | 136 |
"call %7\n" |
140 |
"popl %%edx\n" |
|
141 | 137 |
#if DATA_SIZE == 1 |
142 | 138 |
"movsbl %%al, %0\n" |
143 | 139 |
#elif DATA_SIZE == 2 |
... | ... | |
189 | 185 |
#else |
190 | 186 |
#error unsupported size |
191 | 187 |
#endif |
192 |
"pushl %6\n"
|
|
188 |
"movl %6, %%ecx\n"
|
|
193 | 189 |
"call %7\n" |
194 |
"popl %%eax\n" |
|
195 | 190 |
"jmp 2f\n" |
196 | 191 |
"1:\n" |
197 | 192 |
"addl 8(%%edx), %%eax\n" |
Also available in: Unified diff