Hi Anton,
On Wed, 31 Jul 2013 15:05:21 +1000 Anton Blanchard wrote:
>
> +++ b/arch/powerpc/kernel/align.c
> @@ -764,6 +764,16 @@ int fix_alignment(struct pt_regs *regs)
> nb = aligninfo[instr].len;
> flags = aligninfo[instr].flags;
>
> + /* ldbrx/stdbrx overlap lfs/stfs in the D
Normally when we haven't implemented an alignment handler for
a load or store instruction the process will be terminated.
The alignment handler uses the DSISR (or a pseudo one) to locate
the right handler. Unfortunately ldbrx and stdbrx overlap lfs and
stfs so we incorrectly think ldbrx is an lfs