On Tue, 25 Feb 2020 at 16:10, Wayne Li <waynli329@xxxxxxxxx> wrote: > So what could be causing this problem? I’m guessing it has something > to do with the translation lookaside buffers (TLBs)? But the > translation between virtual and physical memory clearly works when KVM > isn’t enabled. So what could cause this to stop working when KVM is > enabled? When you're not using KVM, virtual-to-physical lookups are done using QEMU's emulation code that emulates the MMU. When you are using KVM, virtual-to-physical lookups are done entirely using the host CPU (except for corner cases like when we come out of the kernel and the user does things with the gdb debug stub). So all the page tables and other guest setup of the MMU had better match what the host CPU expects. (I don't know how big the differences between e5500 and e6500 MMU are or whether the PPC architecture/KVM supports emulating the one on the other: some PPC expert will probably be able to tell you.) thanks -- PMM