Merge tag 'loongarch-kvm-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhu...
authorPaolo Bonzini <pbonzini@redhat.com>
Tue, 31 Oct 2023 13:55:40 +0000 (09:55 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 31 Oct 2023 13:55:40 +0000 (09:55 -0400)
commitef12ea629e69d12c8713218014bf569a788f17ae
treebb2fe4d0dabb2e4f0bc055ee35777b6ede37873d
parentffc253263a1375a65fa6c9f62a893e9767fbebfa
parent2c10cda4b777be4be9d9e69e4f70c818dbb15e21
Merge tag 'loongarch-kvm-6.7' of git://git./linux/kernel/git/chenhuacai/linux-loongson into HEAD

LoongArch KVM changes for v6.7

Add LoongArch's KVM support. Loongson 3A5000/3A6000 supports hardware
assisted virtualization. With cpu virtualization, there are separate
hw-supported user mode and kernel mode in guest mode. With memory
virtualization, there are two-level hw mmu table for guest mode and host
mode. Also there is separate hw cpu timer with consant frequency in
guest mode, so that vm can migrate between hosts with different freq.
Currently, we are able to boot LoongArch Linux Guests.

Few key aspects of KVM LoongArch added by this series are:
1. Enable kvm hardware function when kvm module is loaded.
2. Implement VM and vcpu related ioctl interface such as vcpu create,
   vcpu run etc. GET_ONE_REG/SET_ONE_REG ioctl commands are use to
   get general registers one by one.
3. Hardware access about MMU, timer and csr are emulated in kernel.
4. Hardwares such as mmio and iocsr device are emulated in user space
   such as IPI, irqchips, pci devices etc.
MAINTAINERS