Revision bd568f18 target-ppc/op.c
b/target-ppc/op.c | ||
---|---|---|
46 | 46 |
do_raise_exception_err(PARAM1, PARAM2); |
47 | 47 |
} |
48 | 48 |
|
49 |
void OPPROTO op_update_nip (void) |
|
50 |
{ |
|
51 |
env->nip = (uint32_t)PARAM1; |
|
52 |
RETURN(); |
|
53 |
} |
|
54 |
|
|
55 |
#if defined(TARGET_PPC64) |
|
56 |
void OPPROTO op_update_nip_64 (void) |
|
57 |
{ |
|
58 |
env->nip = ((uint64_t)PARAM1 << 32) | (uint64_t)PARAM2; |
|
59 |
RETURN(); |
|
60 |
} |
|
61 |
#endif |
|
62 |
|
|
63 | 49 |
void OPPROTO op_debug (void) |
64 | 50 |
{ |
65 | 51 |
do_raise_exception(EXCP_DEBUG); |
... | ... | |
465 | 451 |
} |
466 | 452 |
|
467 | 453 |
/* Branch */ |
468 |
#define EIP env->nip |
|
469 |
|
|
470 | 454 |
void OPPROTO op_setlr (void) |
471 | 455 |
{ |
472 | 456 |
env->lr = (uint32_t)PARAM1; |
... | ... | |
481 | 465 |
} |
482 | 466 |
#endif |
483 | 467 |
|
484 |
void OPPROTO op_b_T1 (void) |
|
485 |
{ |
|
486 |
env->nip = (uint32_t)(T1 & ~3); |
|
487 |
RETURN(); |
|
488 |
} |
|
489 |
|
|
490 |
#if defined (TARGET_PPC64) |
|
491 |
void OPPROTO op_b_T1_64 (void) |
|
492 |
{ |
|
493 |
env->nip = (uint64_t)(T1 & ~3); |
|
494 |
RETURN(); |
|
495 |
} |
|
496 |
#endif |
|
497 |
|
|
498 | 468 |
void OPPROTO op_jz_T0 (void) |
499 | 469 |
{ |
500 | 470 |
if (!T0) |
Also available in: Unified diff