Add SLB switching code for entry/exit
authorAlexander Graf <agraf@suse.de>
Mon, 2 Nov 2009 12:02:29 +0000 (12:02 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 5 Nov 2009 05:49:53 +0000 (16:49 +1100)
commit5126ed37603ae3a5ec764d99d77430a179021699
treefe3cee0285aedb66f8cfd2da6a31da8940e7dd13
parent29eb61bca1e82dc59e4d9c575e6f21ce7a36d61d
Add SLB switching code for entry/exit

This is the really low level of guest entry/exit code.

Book3s_64 has an SLB, which stores all ESID -> VSID mappings we're
currently aware of.

The segments in the guest differ from the ones on the host, so we need
to switch the SLB to tell the MMU that we're in a new context.

So we store a shadow of the guest's SLB in the PACA, switch to that on
entry and only restore bolted entries on exit, leaving the rest to the
Linux SLB fault handler.

That way we get a really clean way of switching the SLB.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kvm/book3s_64_slb.S [new file with mode: 0644]