[resending to hit the list]

> +             if (regs->gpr[0] == 0x1ebe &&
> +                 cpu_has_feature(CPU_FTR_REAL_LE)) {
> +                     regs->msr ^= MSR_LE;
> +                     goto instr_done;
> +             }
>               regs->gpr[9] = regs->gpr[13];
> +             regs->gpr[10] = MSR_KERNEL;
> 

this hunk didn't seem to be mentioned in the change log


>+ static inline unsigned long xform_ea(unsigned int instr, struct pt_regs 
>*regs)
..
> +     if (ra) {
> +             ea += regs->gpr[ra];
> +             if (instr & 0x40)               /* update forms */
> +                     regs->gpr[ra] = ea;
> +     }

if the instruction faults, we shouldn't update ra

> +     case 62:        /* std[u] */
> +             val = regs->gpr[rd];
> +             switch (instr & 3) {
> +             case 0:         /* ld */
> +                     err = write_mem(val, dsform_ea(instr, regs), 8, regs);
> +                     goto ldst_done;
> +             case 1:         /* ldu */
> +                     err = write_mem(val, dsform_ea(instr, regs), 8, regs);
> +                     goto ldst_done;
> +             }
> +             break;
> 

comments seem to be copied

milton
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to