|
@@ -294,23 +294,8 @@ static int gpr32_get(struct task_struct *target,
|
|
|
{
|
|
|
struct pt_regs *regs = task_pt_regs(target);
|
|
|
u32 uregs[ELF_NGREG] = {};
|
|
|
- unsigned i;
|
|
|
-
|
|
|
- for (i = MIPS32_EF_R1; i <= MIPS32_EF_R31; i++) {
|
|
|
- /* k0/k1 are copied as zero. */
|
|
|
- if (i == MIPS32_EF_R26 || i == MIPS32_EF_R27)
|
|
|
- continue;
|
|
|
-
|
|
|
- uregs[i] = regs->regs[i - MIPS32_EF_R0];
|
|
|
- }
|
|
|
-
|
|
|
- uregs[MIPS32_EF_LO] = regs->lo;
|
|
|
- uregs[MIPS32_EF_HI] = regs->hi;
|
|
|
- uregs[MIPS32_EF_CP0_EPC] = regs->cp0_epc;
|
|
|
- uregs[MIPS32_EF_CP0_BADVADDR] = regs->cp0_badvaddr;
|
|
|
- uregs[MIPS32_EF_CP0_STATUS] = regs->cp0_status;
|
|
|
- uregs[MIPS32_EF_CP0_CAUSE] = regs->cp0_cause;
|
|
|
|
|
|
+ mips_dump_regs32(uregs, regs);
|
|
|
return user_regset_copyout(&pos, &count, &kbuf, &ubuf, uregs, 0,
|
|
|
sizeof(uregs));
|
|
|
}
|
|
@@ -373,23 +358,8 @@ static int gpr64_get(struct task_struct *target,
|
|
|
{
|
|
|
struct pt_regs *regs = task_pt_regs(target);
|
|
|
u64 uregs[ELF_NGREG] = {};
|
|
|
- unsigned i;
|
|
|
-
|
|
|
- for (i = MIPS64_EF_R1; i <= MIPS64_EF_R31; i++) {
|
|
|
- /* k0/k1 are copied as zero. */
|
|
|
- if (i == MIPS64_EF_R26 || i == MIPS64_EF_R27)
|
|
|
- continue;
|
|
|
-
|
|
|
- uregs[i] = regs->regs[i - MIPS64_EF_R0];
|
|
|
- }
|
|
|
-
|
|
|
- uregs[MIPS64_EF_LO] = regs->lo;
|
|
|
- uregs[MIPS64_EF_HI] = regs->hi;
|
|
|
- uregs[MIPS64_EF_CP0_EPC] = regs->cp0_epc;
|
|
|
- uregs[MIPS64_EF_CP0_BADVADDR] = regs->cp0_badvaddr;
|
|
|
- uregs[MIPS64_EF_CP0_STATUS] = regs->cp0_status;
|
|
|
- uregs[MIPS64_EF_CP0_CAUSE] = regs->cp0_cause;
|
|
|
|
|
|
+ mips_dump_regs64(uregs, regs);
|
|
|
return user_regset_copyout(&pos, &count, &kbuf, &ubuf, uregs, 0,
|
|
|
sizeof(uregs));
|
|
|
}
|