powerpc: Little endian builds double word swap VSX state during context save/restore
authorAnton Blanchard <anton@samba.org>
Mon, 23 Sep 2013 02:04:39 +0000 (12:04 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Fri, 11 Oct 2013 05:48:28 +0000 (16:48 +1100)
commit926f160f460170b0361f600f365369685ad74009
tree04537aba608b597cbf3af3d8a774b4c09bd52924
parent87fec0514f613f8ac43c01b0bc0bc7072c5d10ae
powerpc: Little endian builds double word swap VSX state during context save/restore

The elements within VSX loads and stores are big endian ordered
regardless of endianness. Our VSX context save/restore code uses
lxvd2x and stxvd2x which is a 2x doubleword operation. This means
the two doublewords will be swapped and we have to perform another
swap to undo it.

We need to do this on save and restore.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/ppc-opcode.h
arch/powerpc/include/asm/ppc_asm.h