FSL P5040: KVM HV doesn't work with the RC5 of kernel 5.11
Christian Zigotzky
chzigotzky at xenosoft.de
Mon Feb 1 19:29:17 AEDT 2021
Hello,
I compiled the RC6 of kernel 5.11 today and KVM HV works again.
Therefore I don't need the patch below anymore.
Many thanks for solving the issue,
Christian
On 27 January 2021 at 05:07pm, Christian Zigotzky wrote:
> Hello,
>
> I compiled the RC5 of kernel 5.11 today. Unfortunately KVM HV doesn't
> work anymore on my FSL P5040 board [1]. I tested it with QEMU 5.0.0
> today [2]. The virtual e5500 QEMU machine works with the "RC4 with KVM
> HV" and with the "RC5 without KVM HV". The complete system freezes if
> I use KVM HV with the RC5.
>
> I have bisected and 785025820a6a565185ce9d47fdd8d23dbf91dee8
> (powerpc/mm/highmem: use __set_pte_at() for kmap_local()) [3] is the
> first bad commit.
>
> I was able to revert this bad commit and after a new compiling, KVM HV
> works again. I created a patch for reverting the commit. [4] Please
> find attached the kernel config. I use one uImage for the virtual
> machine and for the P5040 board.
>
> Please check the first bad commit.
>
> Thanks,
> Christian
>
>
> [1] http://wiki.amiga.org/index.php?title=X5000
> [2] qemu-system-ppc64 -M ppce500 -cpu e5500 -enable-kvm -m 1024
> -kernel uImage-5.11 -drive
> format=raw,file=MintPPC32-X5000.img,index=0,if=virtio -netdev
> user,id=mynet0 -device e1000,netdev=mynet0 -append "rw root=/dev/vda"
> -device virtio-vga -device virtio-mouse-pci -device
> virtio-keyboard-pci -device pci-ohci,id=newusb -device
> usb-audio,bus=newusb.0 -smp 4
> [3]
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v5.11-rc5&id=785025820a6a565185ce9d47fdd8d23dbf91dee8
> [4]
> diff -rupN a/arch/powerpc/include/asm/highmem.h
> b/arch/powerpc/include/asm/highmem.h
> --- a/arch/powerpc/include/asm/highmem.h 2021-01-27
> 16:12:40.382164118 +0100
> +++ b/arch/powerpc/include/asm/highmem.h 2021-01-27
> 16:10:54.055249957 +0100
> @@ -58,8 +58,6 @@ extern pte_t *pkmap_page_table;
>
> #define flush_cache_kmaps() flush_cache_all()
>
> -#define arch_kmap_local_set_pte(mm, vaddr, ptep, ptev) \
> - __set_pte_at(mm, vaddr, ptep, ptev, 1)
> #define arch_kmap_local_post_map(vaddr, pteval) \
> local_flush_tlb_page(NULL, vaddr)
> #define arch_kmap_local_post_unmap(vaddr) \
More information about the Linuxppc-dev
mailing list