Re: [PATCH 00/10] PAPR virtualization on PR KVM
On 08/09/2011 06:42 PM, Avi Kivity wrote: On 08/09/2011 07:31 PM, Alexander Graf wrote: In KVM for Book3S PPC we currently have 2 implementations. There is the PR based implementation which works on any POWER system you pass in and the super fast HV implementation which requires libre firmware (so almost nobody can use it). Did you mean, non-libre? No, I did mean libre :). Usually firmware on IBM POWER systems already uses the hypervisor mode for itself, so we can't leverage it. The only system that is publicly available and can run HV KVM is the YDL PowerStation which is running SLOF, an open source firmware. Currently, the two target two different machine types, with PR KVM being used for bare metal system virtualization, while the HV KVM is used to virtualize PAPR. In an effort to make things more cozy and transparent to the user, this patch set implements PAPR capabilities to the PR KVM side, so a user doesn't have to worry what the respective kernel module supports. Any machine he's virtualizing "just works". Nice. I went though it and nothing shouted "I'm wrong, kill me please", though I don't claim to understand more than 5% of it. Heh :). The thing giving me the most headaches here is the ENABLE_CAP part on PAPR. I'd love to have a more flexible framework there that can configure kvm into the right mode of operation completely, so we get the chance of passing back "Sorry, that mode doesn't work for me" at the end of the day. But I guess we can just do that with the cap enablings too. It's just slightly more icky. Alex ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 00/10] PAPR virtualization on PR KVM
On 08/09/2011 07:31 PM, Alexander Graf wrote: In KVM for Book3S PPC we currently have 2 implementations. There is the PR based implementation which works on any POWER system you pass in and the super fast HV implementation which requires libre firmware (so almost nobody can use it). Did you mean, non-libre? Currently, the two target two different machine types, with PR KVM being used for bare metal system virtualization, while the HV KVM is used to virtualize PAPR. In an effort to make things more cozy and transparent to the user, this patch set implements PAPR capabilities to the PR KVM side, so a user doesn't have to worry what the respective kernel module supports. Any machine he's virtualizing "just works". Nice. I went though it and nothing shouted "I'm wrong, kill me please", though I don't claim to understand more than 5% of it. -- error compiling committee.c: too many arguments to function ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH 00/10] PAPR virtualization on PR KVM
In KVM for Book3S PPC we currently have 2 implementations. There is the PR based implementation which works on any POWER system you pass in and the super fast HV implementation which requires libre firmware (so almost nobody can use it). Currently, the two target two different machine types, with PR KVM being used for bare metal system virtualization, while the HV KVM is used to virtualize PAPR. In an effort to make things more cozy and transparent to the user, this patch set implements PAPR capabilities to the PR KVM side, so a user doesn't have to worry what the respective kernel module supports. Any machine he's virtualizing "just works". Alex Alexander Graf (10): KVM: PPC: move compute_tlbie_rb to book3s common header KVM: PPC: Add papr_enabled flag KVM: PPC: Check privilege level on SPRs KVM: PPC: Interpret SDR1 as HVA in PAPR mode KVM: PPC: Read out syscall instruction on trap KVM: PPC: Add support for explicit HIOR setting KVM: PPC: Add PAPR hypercall code for PR mode KVM: PPC: Stub emulate CFAR and PURR SPRs KVM: PPC: Support SC1 hypercalls for PAPR in PR mode KVM: PPC: Enable the PAPR CAP for Book3S arch/powerpc/include/asm/kvm.h|8 ++ arch/powerpc/include/asm/kvm_book3s.h | 36 arch/powerpc/include/asm/kvm_host.h |1 + arch/powerpc/kvm/Makefile |1 + arch/powerpc/kvm/book3s_64_mmu.c |8 ++- arch/powerpc/kvm/book3s_emulate.c | 29 ++ arch/powerpc/kvm/book3s_hv_rm_mmu.c | 33 --- arch/powerpc/kvm/book3s_pr.c | 36 +++- arch/powerpc/kvm/book3s_pr_papr.c | 158 + arch/powerpc/kvm/book3s_segment.S |5 + arch/powerpc/kvm/powerpc.c|6 ++ include/linux/kvm.h |2 + 12 files changed, 286 insertions(+), 37 deletions(-) create mode 100644 arch/powerpc/kvm/book3s_pr_papr.c ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev