Revision 992f48a0 linux-user/main.c
b/linux-user/main.c | ||
---|---|---|
168 | 168 |
void cpu_loop(CPUX86State *env) |
169 | 169 |
{ |
170 | 170 |
int trapnr; |
171 |
target_ulong pc;
|
|
171 |
abi_ulong pc;
|
|
172 | 172 |
target_siginfo_t info; |
173 | 173 |
|
174 | 174 |
for(;;) { |
... | ... | |
305 | 305 |
#ifdef TARGET_ARM |
306 | 306 |
|
307 | 307 |
/* XXX: find a better solution */ |
308 |
extern void tb_invalidate_page_range(target_ulong start, target_ulong end);
|
|
308 |
extern void tb_invalidate_page_range(abi_ulong start, abi_ulong end);
|
|
309 | 309 |
|
310 |
static void arm_cache_flush(target_ulong start, target_ulong last)
|
|
310 |
static void arm_cache_flush(abi_ulong start, abi_ulong last)
|
|
311 | 311 |
{ |
312 |
target_ulong addr, last1;
|
|
312 |
abi_ulong addr, last1;
|
|
313 | 313 |
|
314 | 314 |
if (last < start) |
315 | 315 |
return; |
... | ... | |
474 | 474 |
static inline void save_window_offset(CPUSPARCState *env, int cwp1) |
475 | 475 |
{ |
476 | 476 |
unsigned int i; |
477 |
target_ulong sp_ptr;
|
|
477 |
abi_ulong sp_ptr;
|
|
478 | 478 |
|
479 | 479 |
sp_ptr = env->regbase[get_reg_index(env, cwp1, 6)]; |
480 | 480 |
#if defined(DEBUG_WIN) |
... | ... | |
483 | 483 |
#endif |
484 | 484 |
for(i = 0; i < 16; i++) { |
485 | 485 |
tputl(sp_ptr, env->regbase[get_reg_index(env, cwp1, 8 + i)]); |
486 |
sp_ptr += sizeof(target_ulong);
|
|
486 |
sp_ptr += sizeof(abi_ulong);
|
|
487 | 487 |
} |
488 | 488 |
} |
489 | 489 |
|
... | ... | |
505 | 505 |
static void restore_window(CPUSPARCState *env) |
506 | 506 |
{ |
507 | 507 |
unsigned int new_wim, i, cwp1; |
508 |
target_ulong sp_ptr;
|
|
508 |
abi_ulong sp_ptr;
|
|
509 | 509 |
|
510 | 510 |
new_wim = ((env->wim << 1) | (env->wim >> (NWINDOWS - 1))) & |
511 | 511 |
((1LL << NWINDOWS) - 1); |
... | ... | |
519 | 519 |
#endif |
520 | 520 |
for(i = 0; i < 16; i++) { |
521 | 521 |
env->regbase[get_reg_index(env, cwp1, 8 + i)] = tgetl(sp_ptr); |
522 |
sp_ptr += sizeof(target_ulong);
|
|
522 |
sp_ptr += sizeof(abi_ulong);
|
|
523 | 523 |
} |
524 | 524 |
env->wim = new_wim; |
525 | 525 |
#ifdef TARGET_SPARC64 |
... | ... | |
572 | 572 |
env->regwptr[2], env->regwptr[3], |
573 | 573 |
env->regwptr[4], env->regwptr[5]); |
574 | 574 |
if ((unsigned int)ret >= (unsigned int)(-515)) { |
575 |
#ifdef TARGET_SPARC64
|
|
575 |
#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
|
|
576 | 576 |
env->xcc |= PSR_CARRY; |
577 | 577 |
#else |
578 | 578 |
env->psr |= PSR_CARRY; |
579 | 579 |
#endif |
580 | 580 |
ret = -ret; |
581 | 581 |
} else { |
582 |
#ifdef TARGET_SPARC64
|
|
582 |
#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
|
|
583 | 583 |
env->xcc &= ~PSR_CARRY; |
584 | 584 |
#else |
585 | 585 |
env->psr &= ~PSR_CARRY; |
... | ... | |
591 | 591 |
env->npc = env->npc + 4; |
592 | 592 |
break; |
593 | 593 |
case 0x83: /* flush windows */ |
594 |
#ifdef TARGET_ABI32 |
|
595 |
case 0x103: |
|
596 |
#endif |
|
594 | 597 |
flush_windows(env); |
595 | 598 |
/* next instruction */ |
596 | 599 |
env->pc = env->npc; |
... | ... | |
1489 | 1492 |
ret = -ENOSYS; |
1490 | 1493 |
} else { |
1491 | 1494 |
int nb_args; |
1492 |
target_ulong sp_reg;
|
|
1493 |
target_ulong arg5 = 0, arg6 = 0, arg7 = 0, arg8 = 0;
|
|
1495 |
abi_ulong sp_reg;
|
|
1496 |
abi_ulong arg5 = 0, arg6 = 0, arg7 = 0, arg8 = 0;
|
|
1494 | 1497 |
|
1495 | 1498 |
nb_args = mips_syscall_args[syscall_num]; |
1496 | 1499 |
sp_reg = env->gpr[29][env->current_tc]; |
... | ... | |
2239 | 2242 |
int i; |
2240 | 2243 |
|
2241 | 2244 |
for(i = 0; i < 28; i++) { |
2242 |
env->ir[i] = ((target_ulong *)regs)[i];
|
|
2245 |
env->ir[i] = ((abi_ulong *)regs)[i];
|
|
2243 | 2246 |
} |
2244 | 2247 |
env->ipr[IPR_USP] = regs->usp; |
2245 | 2248 |
env->ir[30] = regs->usp; |
Also available in: Unified diff