pseries: Add H_SET_MODE to change exception endianness

On little endian builds call H_SET_MODE so exceptions have the
correct endianness. We need a better hook to handle flipping back
into big endian mode on a kexec, but insert it into the mmu
teardown callback for now.

Signed-off-by: Anton Blanchard <anton@samba.org>
KVM: PPC: Book3S HV: Add little-endian guest support

Add support for the H_SET_MODE hcall so we can select the
endianness of our exceptions.

We create a guest MSR from scratch when delivering exceptions in
a few places.  Instead of extracting LPCR[ILE] and inserting it
into MSR_LE each time, we simply create a new variable intr_msr which
contains the entire MSR to use.

Modified by mikey to use a case statement so we can add more
h_set_mode calls more easily later.

Modified by paulus to call kvmppc_update_lpcr and take kvm->lock.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
powerpc/powernv: Add calls to support little endian

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
powerpc: Use -mcpu=power7 on ppc64 little endian builds

Using -mcpu=power7 allows gcc to use a number of new instructions
including 64 bit byte reversed loads.

Signed-off-by: Anton Blanchard <anton@samba.org>
powerpc: Add CONFIG_CPU_LITTLE_ENDIAN kernel config option.

With the little endian support merged, we can add the
CONFIG_CPU_LITTLE_ENDIAN kernel config option.

Signed-off-by: Anton Blanchard <anton@samba.org>
powerpc: Add pseries_le_defconfig

Signed-off-by: Anton Blanchard <anton@samba.org>
Merge branch 'le-extras' into le
Merge branch 'for-benh' into le