powerpc/kvm: Fix magic page vs. 32-bit RTAS on ppc64
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 13 Mar 2012 21:52:44 +0000 (21:52 +0000)
committerAvi Kivity <avi@redhat.com>
Sun, 8 Apr 2012 11:02:39 +0000 (14:02 +0300)
commitbbcc9c06695243ea23d30de36842df9200c33857
tree530a126fb2f774f5b4dd2cb4a8b0d042d79a4323
parent966cd0f3bdd422f0b10686fb59d0d456fbbb6398
powerpc/kvm: Fix magic page vs. 32-bit RTAS on ppc64

When the kernel calls into RTAS, it switches to 32-bit mode. The
magic page was is longer accessible in that case, causing the
patched instructions in the RTAS call wrapper to crash.

This fixes it by making available a 32-bit mapping of the magic
page in that case. This mapping is flushed whenever we switch
the kernel back to 64-bit mode.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
[agraf: add a check if the magic page is mapped]
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/powerpc/kvm/book3s.c
arch/powerpc/kvm/book3s_pr.c