/* * PTRACE_GETREGS was added to the PowerPC kernel in v2.6.23, * we provide a slow fallback for old kernels. */ static int getregs_old(struct tcb *tcp) { int i; long r; if (iflag) { r = upeek(tcp, sizeof(long) * PT_NIP, &ppc_regs.nip); if (r) goto out; } #ifdef POWERPC64 /* else we never use it */ r = upeek(tcp, sizeof(long) * PT_MSR, &ppc_regs.msr); if (r) goto out; #endif r = upeek(tcp, sizeof(long) * PT_CCR, &ppc_regs.ccr); if (r) goto out; r = upeek(tcp, sizeof(long) * PT_ORIG_R3, &ppc_regs.orig_gpr3); if (r) goto out; for (i = 0; i <= 8; i++) { r = upeek(tcp, sizeof(long) * (PT_R0 + i), &ppc_regs.gpr[i]); if (r) goto out; } out: return r; }