Searched hist:"70 bddfefbdcdbfdebd81d8b59ff8a7fa5d450ccc" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/arch/powerpc/kvm/ |
H A D | book3s_64_mmu_hv.c | diff 70bddfefbdcdbfdebd81d8b59ff8a7fa5d450ccc Thu Sep 20 14:39:21 CDT 2012 Paul Mackerras <paulus@samba.org> KVM: PPC: Book3S HV: Fix calculation of guest phys address for MMIO emulation
In the case where the host kernel is using a 64kB base page size and the guest uses a 4k HPTE (hashed page table entry) to map an emulated MMIO device, we were calculating the guest physical address wrongly. We were calculating a gfn as the guest physical address shifted right 16 bits (PAGE_SHIFT) but then only adding back in 12 bits from the effective address, since the HPTE had a 4k page size. Thus the gpa reported to userspace was missing 4 bits.
Instead, we now compute the guest physical address from the HPTE without reference to the host page size, and then compute the gfn by shifting the gpa right PAGE_SHIFT bits.
Reported-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Alexander Graf <agraf@suse.de>
|