You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
599 B
26 lines
599 B
static int
|
|
arch_set_error(struct tcb *tcp)
|
|
{
|
|
ppc_regs.gpr[3] = tcp->u_error;
|
|
ppc_regs.ccr |= 0x10000000;
|
|
#ifdef HAVE_GETREGS_OLD
|
|
return upoke(tcp, sizeof(long) * PT_CCR, ppc_regs.ccr) ||
|
|
upoke(tcp, sizeof(long) * (PT_R0 + 3), ppc_regs.gpr[3]);
|
|
#else
|
|
return set_regs(tcp->pid);
|
|
#endif
|
|
}
|
|
|
|
static int
|
|
arch_set_success(struct tcb *tcp)
|
|
{
|
|
ppc_regs.gpr[3] = tcp->u_rval;
|
|
ppc_regs.ccr &= ~0x10000000;
|
|
#ifdef HAVE_GETREGS_OLD
|
|
return upoke(tcp, sizeof(long) * PT_CCR, ppc_regs.ccr) ||
|
|
upoke(tcp, sizeof(long) * (PT_R0 + 3), ppc_regs.gpr[3]);
|
|
#else
|
|
return set_regs(tcp->pid);
|
|
#endif
|
|
}
|