5126ed3760
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> |
||
---|---|---|
.. | ||
44x_emulate.c | ||
44x_tlb.c | ||
44x_tlb.h | ||
44x.c | ||
book3s_64_interrupts.S | ||
book3s_64_slb.S | ||
booke_emulate.c | ||
booke_interrupts.S | ||
booke.c | ||
booke.h | ||
e500_emulate.c | ||
e500_tlb.c | ||
e500_tlb.h | ||
e500.c | ||
emulate.c | ||
Kconfig | ||
Makefile | ||
powerpc.c | ||
timing.c | ||
timing.h | ||
trace.h |