• Kumar Gala's avatar
    [POWERPC] Handle alignment faults on SPE load/store instructions · 26caeb2e
    Kumar Gala authored
    This adds code to handle alignment traps generated by the following
    SPE (signal processing engine) load/store instructions, by emulating
    the instruction in the kernel (as is done for other instructions that
    generate alignment traps):
    
    evldd[x]         Vector Load Double Word into Double Word [Indexed]
    evldw[x]         Vector Load Double into Two Words [Indexed]
    evldh[x]         Vector Load Double into Four Half Words [Indexed]
    evlhhesplat[x]   Vector Load Half Word into Half Words Even and Splat [Indexed]
    evlhhousplat[x]  Vector Load Half Word into Half Word Odd Unsigned and Splat [Indexed]
    evlhhossplat[x]  Vector Load Half Word into Half Word Odd Signed and Splat [Indexed]
    evlwhe[x]        Vector Load Word into Two Half Words Even [Indexed]
    evlwhou[x]       Vector Load Word into Two Half Words Odd Unsigned (zero-extended) [Indexed]
    evlwhos[x]       Vector Load Word into Two Half Words Odd Signed (with sign extension) [Indexed]
    evlwwsplat[x]    Vector Load Word into Word and Splat [Indexed]
    evlwhsplat[x]    Vector Load Word into Two Half Words and Splat [Indexed]
    evstdd[x]        Vector Store Double of Double [Indexed]
    evstdw[x]        Vector Store Double of Two Words [Indexed]
    evstdh[x]        Vector Store Double of Four Half Words [Indexed]
    evstwhe[x]       Vector Store Word of Two Half Words from Even [Indexed]
    evstwho[x]       Vector Store Word of Two Half Words from Odd [Indexed]
    evstwwe[x]       Vector Store Word of Word from Even [Indexed]
    evstwwo[x]       Vector Store Word of Word from Odd [Indexed]
    Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
    26caeb2e
align.c 22.3 KB