On Tue, Jul 30, 2019 at 3:17 AM Paolo Bonzini <pbonz...@redhat.com> wrote: > > On 29/07/19 13:56, Anup Patel wrote: > > This series adds initial KVM RISC-V support. Currently, we are able to boot > > RISC-V 64bit Linux Guests with multiple VCPUs. > > > > Few key aspects of KVM RISC-V added by this series are: > > 1. Minimal possible KVM world-switch which touches only GPRs and few CSRs. > > 2. Full Guest/VM switch is done via vcpu_get/vcpu_put infrastructure. > > 3. KVM ONE_REG interface for VCPU register access from user-space. > > 4. PLIC emulation is done in user-space. In-kernel PLIC emulation, will > > be added in future. > > 5. Timer and IPI emuation is done in-kernel. > > 6. MMU notifiers supported. > > 7. FP lazy save/restore supported. > > 8. SBI v0.1 emulation for KVM Guest available. > > > > More feature additions and enhancments will follow after this series and > > eventually KVM RISC-V will be at-par with other architectures. > > This looks clean and it shouldn't take long to have it merged. Please > sort out the MAINTAINERS additions. It would also be nice if > tools/testing/selftests/kvm/ worked with RISC-V from the beginning; > there have been recent ARM and s390 ports that you can take some > inspiration from.
Thanks Paolo. We will certainly include a patch in v2 series for MAINTAINERS entry. We referred existing implementation of KVM ARM/ARM64, KVM powerpc and KVM mips when we started KVM RISC-V port. Here's a brief TODO list which we want to immediately work upon after this series: 1. Handle trap from unpriv access in SBI v0.1 emulation 2. In-kernel PLIC emulation 3. SBI v0.2 emulation in-kernel 4. SBI v0.2 hart hotplug emulation in-kernel 5. ..... and so on ..... We will include above TODO list in v2 series cover letter as well. Apart from above, we also have a more exhaustive TODO list based on study of other KVM ports which we want to discuss at upcoming LPC 2019. We were thinking to keep KVM RISC-V disabled by default (i.e. keep it experimental) until we have validated it on some FPGA or real HW. For now, users can explicitly enable it and play-around on QEMU emulation. I hope this is fine with most people ? Regards, Anup