On 2/12/20 5:40 PM, Paolo Bonzini wrote: > On 12/02/20 17:30, Paul Burton wrote: >> Hi Paolo, >> >> On Wed, Feb 12, 2020 at 01:25:30PM +0100, Paolo Bonzini wrote: >>> MIPS folks, I see that arch/mips/kvm/mmu.c uses pud_index, so it's not >>> clear to me if it's meant to only work if CONFIG_PGTABLE_LEVELS=4 or >>> it's just bit rot. Should I add a "depends on PGTABLE_LEVEL=4" to >>> arch/mips/Kconfig? >> >> I'm no expert on this bit of code, but I'm pretty sure the systems >> KVM/VZ has been used on the most internally had PGTABLE_LEVEL=3. >> >> I suspect this is actually a regression from commit 31168f033e37 ("mips: >> drop __pXd_offset() macros that duplicate pXd_index() ones"). Whilst >> that commit is correct that pud_index() & __pud_offset() are the same >> when pud_index() is actually provided, it doesn't take into account the >> __PAGETABLE_PUD_FOLDED case. There __pud_offset() was available but >> would always evaluate to zero, whereas pud_index() isn't defined... > > Ok, I'll try to whip out a patch that handles __PAGETABLE_PUD_FOLDED. > On the other hand this makes me worry about how much KVM is being tested > by people that care about MIPS (even just compile-tested). FYI last time James confirmed he tested QEMU was in 2017: https://www.mail-archive.com/qemu-devel@xxxxxxxxxx/msg477133.html At the end of 2019 he orphaned the QEMU part: https://www.mail-archive.com/qemu-devel@xxxxxxxxxx/msg667240.html and dropped the kernel maintainance: https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/commit/?id=9c48c48cd499