KVM: PPC: RTAS: Do byte swaps explicitly
authorAlexander Graf <agraf@suse.de>
Mon, 7 Jul 2014 19:05:33 +0000 (21:05 +0200)
committerAlexander Graf <agraf@suse.de>
Mon, 7 Jul 2014 21:17:20 +0000 (23:17 +0200)
commit19a44ecff52fd67d77d49fb4d43b289c53cdc392
tree2017795cef87ef37ed22dc95fd75aeffaaf43a33
parent55ab169b7b9276e6e1e01a88531bcf34803dcde2
KVM: PPC: RTAS: Do byte swaps explicitly

In commit b59d9d26b we introduced implicit byte swaps for RTAS calls.
Unfortunately we messed up and didn't swizzle return values properly.

Also the old approach wasn't "sparse" compatible - we were randomly
reading __be32 values on an LE system.

Let's just do all of the swizzling explicitly with byte swaps right
where values get used. That way we can at least catch bugs using sparse.

This patch fixes XICS RTAS emulation on little endian hosts for me.

Signed-off-by: Alexander Graf <agraf@suse.de>
arch/powerpc/kvm/book3s_rtas.c