KVM: PPC: Book3S HV: Fix software walk of guest process page tables
authorPaul Mackerras <paulus@ozlabs.org>
Mon, 27 Feb 2017 00:51:37 +0000 (11:51 +1100)
committerPaul Mackerras <paulus@ozlabs.org>
Wed, 1 Mar 2017 00:53:45 +0000 (11:53 +1100)
commit70cd4c10b290dd77fff6dc702a9a2c8c679df121
treeb06a151c545401dfa38110bc3b42dd422535afc0
parentfd7e9a88348472521d999434ee02f25735c7dadf
KVM: PPC: Book3S HV: Fix software walk of guest process page tables

This fixes some bugs in the code that walks the guest's page tables.
These bugs cause MMIO emulation to fail whenever the guest is in
virtial mode (MMU on), leading to the guest hanging if it tried to
access a virtio device.

The first bug was that when reading the guest's process table, we were
using the whole of arch->process_table, not just the field that contains
the process table base address.  The second bug was that the mask used
when reading the process table entry to get the radix tree base address,
RPDB_MASK, had the wrong value.

Fixes: 9e04ba69beec ("KVM: PPC: Book3S HV: Add basic infrastructure for radix guests")
Fixes: e99833448c5f ("powerpc/mm/radix: Add partition table format & callback")
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
arch/powerpc/include/asm/book3s/64/mmu.h
arch/powerpc/kvm/book3s_64_mmu_radix.c