Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On Sun, 2009-10-25 at 15:01 +0200, Avi Kivity wrote: On 10/23/2009 02:33 AM, Hollis Blanchard wrote: On Wed, 2009-10-21 at 17:03 +0200, Alexander Graf wrote: KVM for PowerPC only supports embedded cores at the moment. While it makes sense to virtualize on small machines, it's even more fun to do so on big boxes. So I figured we need KVM for PowerPC64 as well. This patchset implements KVM support for Book3s_64 hosts and guest support for Book3s_64 and G3/G4. Acked-by: Hollis Blanchardholl...@us.ibm.com Avi, please apply these patches I still need acks for the arch/powerpc/{kernel,mm} bits, simple as they are, from the powerpc maintainers. You should have all you need by now. Let me know if you need more :-) Cheers, Ben. -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On 10/27/2009 01:21 AM, Olof Johansson wrote: On Oct 26, 2009, at 6:20 PM, Hollis Blanchard wrote: For some reason, I'm not seeing this build break, but the patch is obviously correct. Acked-by: Hollis Blanchard holl...@us.ibm.com I saw it when building with pasemi_defconfig + manually enabled KVM options (all available). Alex, can you fold this patch in? No need to repost; just update your git tree. (btw, please make sure the patchset is bisectable). -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On 27.10.2009, at 09:56, Avi Kivity wrote: On 10/27/2009 01:21 AM, Olof Johansson wrote: On Oct 26, 2009, at 6:20 PM, Hollis Blanchard wrote: For some reason, I'm not seeing this build break, but the patch is obviously correct. Acked-by: Hollis Blanchard holl...@us.ibm.com I saw it when building with pasemi_defconfig + manually enabled KVM options (all available). Alex, can you fold this patch in? I can, but it's only partly related. My patches don't even touch timing.c. The only thing I can imagine resulting in a breakage is that my patches allow for an =M setting. So IMHO this patch should be applied before my series. Should I stick it as first patch in my git tree? Alex -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On 10/27/2009 03:42 PM, Alexander Graf wrote: I can, but it's only partly related. My patches don't even touch timing.c. The only thing I can imagine resulting in a breakage is that my patches allow for an =M setting. So IMHO this patch should be applied before my series. Should I stick it as first patch in my git tree? No need, I'll apply it independently. -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On 10/27/2009 01:21 AM, Olof Johansson wrote: On Oct 26, 2009, at 6:20 PM, Hollis Blanchard wrote: For some reason, I'm not seeing this build break, but the patch is obviously correct. Acked-by: Hollis Blanchard holl...@us.ibm.com I saw it when building with pasemi_defconfig + manually enabled KVM options (all available). Alex, can you fold this patch in? No need to repost; just update your git tree. (btw, please make sure the patchset is bisectable). -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line unsubscribe kvm-ppc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On 27.10.2009, at 09:56, Avi Kivity wrote: On 10/27/2009 01:21 AM, Olof Johansson wrote: On Oct 26, 2009, at 6:20 PM, Hollis Blanchard wrote: For some reason, I'm not seeing this build break, but the patch is obviously correct. Acked-by: Hollis Blanchard holl...@us.ibm.com I saw it when building with pasemi_defconfig + manually enabled KVM options (all available). Alex, can you fold this patch in? I can, but it's only partly related. My patches don't even touch timing.c. The only thing I can imagine resulting in a breakage is that my patches allow for an =M setting. So IMHO this patch should be applied before my series. Should I stick it as first patch in my git tree? Alex -- To unsubscribe from this list: send the line unsubscribe kvm-ppc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On 10/27/2009 03:42 PM, Alexander Graf wrote: I can, but it's only partly related. My patches don't even touch timing.c. The only thing I can imagine resulting in a breakage is that my patches allow for an =M setting. So IMHO this patch should be applied before my series. Should I stick it as first patch in my git tree? No need, I'll apply it independently. -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line unsubscribe kvm-ppc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On Sun, 2009-10-25 at 15:01 +0200, Avi Kivity wrote: On 10/23/2009 02:33 AM, Hollis Blanchard wrote: On Wed, 2009-10-21 at 17:03 +0200, Alexander Graf wrote: KVM for PowerPC only supports embedded cores at the moment. While it makes sense to virtualize on small machines, it's even more fun to do so on big boxes. So I figured we need KVM for PowerPC64 as well. This patchset implements KVM support for Book3s_64 hosts and guest support for Book3s_64 and G3/G4. Acked-by: Hollis Blanchardholl...@us.ibm.com Avi, please apply these patches I still need acks for the arch/powerpc/{kernel,mm} bits, simple as they are, from the powerpc maintainers. OK, BenH says they're on his todo list. In the meantime, please apply patch #2, because it fixes the broken qemu build. -- Hollis Blanchard IBM Linux Technology Center -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
Not sure which patch in the series this is needed for since I applied them all, but I got: CC arch/powerpc/kvm/timing.o arch/powerpc/kvm/timing.c:205: error: 'THIS_MODULE' undeclared here (not in a function) Signed-off-by: Olof Johansson o...@lixom.net diff --git a/arch/powerpc/kvm/timing.c b/arch/powerpc/kvm/timing.c index 2aa371e..7037855 100644 --- a/arch/powerpc/kvm/timing.c +++ b/arch/powerpc/kvm/timing.c @@ -23,6 +23,7 @@ #include linux/seq_file.h #include linux/debugfs.h #include linux/uaccess.h +#include linux/module.h #include asm/time.h #include asm-generic/div64.h -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On Mon, 2009-10-26 at 18:06 -0500, Olof Johansson wrote: Not sure which patch in the series this is needed for since I applied them all, but I got: CC arch/powerpc/kvm/timing.o arch/powerpc/kvm/timing.c:205: error: 'THIS_MODULE' undeclared here (not in a function) Signed-off-by: Olof Johansson o...@lixom.net diff --git a/arch/powerpc/kvm/timing.c b/arch/powerpc/kvm/timing.c index 2aa371e..7037855 100644 --- a/arch/powerpc/kvm/timing.c +++ b/arch/powerpc/kvm/timing.c @@ -23,6 +23,7 @@ #include linux/seq_file.h #include linux/debugfs.h #include linux/uaccess.h +#include linux/module.h #include asm/time.h #include asm-generic/div64.h For some reason, I'm not seeing this build break, but the patch is obviously correct. Acked-by: Hollis Blanchard holl...@us.ibm.com -- Hollis Blanchard IBM Linux Technology Center -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On Oct 26, 2009, at 6:20 PM, Hollis Blanchard wrote: For some reason, I'm not seeing this build break, but the patch is obviously correct. Acked-by: Hollis Blanchard holl...@us.ibm.com I saw it when building with pasemi_defconfig + manually enabled KVM options (all available). -Olof -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On Sun, 2009-10-25 at 15:01 +0200, Avi Kivity wrote: On 10/23/2009 02:33 AM, Hollis Blanchard wrote: On Wed, 2009-10-21 at 17:03 +0200, Alexander Graf wrote: KVM for PowerPC only supports embedded cores at the moment. While it makes sense to virtualize on small machines, it's even more fun to do so on big boxes. So I figured we need KVM for PowerPC64 as well. This patchset implements KVM support for Book3s_64 hosts and guest support for Book3s_64 and G3/G4. Acked-by: Hollis Blanchardholl...@us.ibm.com Avi, please apply these patches I still need acks for the arch/powerpc/{kernel,mm} bits, simple as they are, from the powerpc maintainers. OK, BenH says they're on his todo list. In the meantime, please apply patch #2, because it fixes the broken qemu build. -- Hollis Blanchard IBM Linux Technology Center -- To unsubscribe from this list: send the line unsubscribe kvm-ppc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On Mon, 2009-10-26 at 18:06 -0500, Olof Johansson wrote: Not sure which patch in the series this is needed for since I applied them all, but I got: CC arch/powerpc/kvm/timing.o arch/powerpc/kvm/timing.c:205: error: 'THIS_MODULE' undeclared here (not in a function) Signed-off-by: Olof Johansson o...@lixom.net diff --git a/arch/powerpc/kvm/timing.c b/arch/powerpc/kvm/timing.c index 2aa371e..7037855 100644 --- a/arch/powerpc/kvm/timing.c +++ b/arch/powerpc/kvm/timing.c @@ -23,6 +23,7 @@ #include linux/seq_file.h #include linux/debugfs.h #include linux/uaccess.h +#include linux/module.h #include asm/time.h #include asm-generic/div64.h For some reason, I'm not seeing this build break, but the patch is obviously correct. Acked-by: Hollis Blanchard holl...@us.ibm.com -- Hollis Blanchard IBM Linux Technology Center -- To unsubscribe from this list: send the line unsubscribe kvm-ppc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On Oct 26, 2009, at 6:20 PM, Hollis Blanchard wrote: For some reason, I'm not seeing this build break, but the patch is obviously correct. Acked-by: Hollis Blanchard holl...@us.ibm.com I saw it when building with pasemi_defconfig + manually enabled KVM options (all available). -Olof -- To unsubscribe from this list: send the line unsubscribe kvm-ppc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On 10/23/2009 02:33 AM, Hollis Blanchard wrote: On Wed, 2009-10-21 at 17:03 +0200, Alexander Graf wrote: KVM for PowerPC only supports embedded cores at the moment. While it makes sense to virtualize on small machines, it's even more fun to do so on big boxes. So I figured we need KVM for PowerPC64 as well. This patchset implements KVM support for Book3s_64 hosts and guest support for Book3s_64 and G3/G4. Acked-by: Hollis Blanchardholl...@us.ibm.com Avi, please apply these patches I still need acks for the arch/powerpc/{kernel,mm} bits, simple as they are, from the powerpc maintainers. -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On 10/23/2009 02:33 AM, Hollis Blanchard wrote: On Wed, 2009-10-21 at 17:03 +0200, Alexander Graf wrote: KVM for PowerPC only supports embedded cores at the moment. While it makes sense to virtualize on small machines, it's even more fun to do so on big boxes. So I figured we need KVM for PowerPC64 as well. This patchset implements KVM support for Book3s_64 hosts and guest support for Book3s_64 and G3/G4. Acked-by: Hollis Blanchardholl...@us.ibm.com Avi, please apply these patches I still need acks for the arch/powerpc/{kernel,mm} bits, simple as they are, from the powerpc maintainers. -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line unsubscribe kvm-ppc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On Wednesday 21 October 2009, Alexander Graf wrote: KVM for PowerPC only supports embedded cores at the moment. While it makes sense to virtualize on small machines, it's even more fun to do so on big boxes. So I figured we need KVM for PowerPC64 as well. This patchset implements KVM support for Book3s_64 hosts and guest support for Book3s_64 and G3/G4. To really make use of this, you also need a recent version of qemu. Don't want to apply patches? Get the git tree! $ git clone git://csgraf.de/kvm $ git checkout origin/ppc-v4 Whole series Acked-by: Arnd Bergmann a...@arndb.de Great work, Alex! Arnd -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On Wed, 2009-10-21 at 17:03 +0200, Alexander Graf wrote: KVM for PowerPC only supports embedded cores at the moment. While it makes sense to virtualize on small machines, it's even more fun to do so on big boxes. So I figured we need KVM for PowerPC64 as well. This patchset implements KVM support for Book3s_64 hosts and guest support for Book3s_64 and G3/G4. Acked-by: Hollis Blanchard holl...@us.ibm.com Avi, please apply these patches, and one more (unrelated) to fix the Book E build that I will send in just a moment. -- Hollis Blanchard IBM Linux Technology Center -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On Wednesday 21 October 2009, Alexander Graf wrote: KVM for PowerPC only supports embedded cores at the moment. While it makes sense to virtualize on small machines, it's even more fun to do so on big boxes. So I figured we need KVM for PowerPC64 as well. This patchset implements KVM support for Book3s_64 hosts and guest support for Book3s_64 and G3/G4. To really make use of this, you also need a recent version of qemu. Don't want to apply patches? Get the git tree! $ git clone git://csgraf.de/kvm $ git checkout origin/ppc-v4 Whole series Acked-by: Arnd Bergmann a...@arndb.de Great work, Alex! Arnd -- To unsubscribe from this list: send the line unsubscribe kvm-ppc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On Wed, 2009-10-21 at 17:03 +0200, Alexander Graf wrote: KVM for PowerPC only supports embedded cores at the moment. While it makes sense to virtualize on small machines, it's even more fun to do so on big boxes. So I figured we need KVM for PowerPC64 as well. This patchset implements KVM support for Book3s_64 hosts and guest support for Book3s_64 and G3/G4. Acked-by: Hollis Blanchard holl...@us.ibm.com Avi, please apply these patches, and one more (unrelated) to fix the Book E build that I will send in just a moment. -- Hollis Blanchard IBM Linux Technology Center -- To unsubscribe from this list: send the line unsubscribe kvm-ppc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
KVM for PowerPC only supports embedded cores at the moment. While it makes sense to virtualize on small machines, it's even more fun to do so on big boxes. So I figured we need KVM for PowerPC64 as well. This patchset implements KVM support for Book3s_64 hosts and guest support for Book3s_64 and G3/G4. To really make use of this, you also need a recent version of qemu. Don't want to apply patches? Get the git tree! $ git clone git://csgraf.de/kvm $ git checkout origin/ppc-v4 V1 - V2: - extend sregs with padding - new naming scheme (ppc64 - book3s_64; 74xx - book3s_32) - to_phys - in-kernel tophys() - loadimm - LOAD_REG_IMMEDIATE - call .ko kvm.ko - set magic paca bit later - run guest code with PACA-soft_enabled=true - pt_regs for host state saving (guest too?) - only do HV dcbz trick on 970 - refuse to run on LPAR because of missing SLB pieces V2 - V3: - fix DAR/DSISR saving - allow running on LPAR by modifying the SLB shadow - change the SLB implementation to use a mem-backed cache and do full world switch on enter/exit. gets rid of context magic - be more aggressive about DEC injection - remove fast ld/st because we're always in host context - don't use SPRGs in real-paged transition - implement dirty log - remove MMIO speedup code - SPRG cleanup - rename SPRG3 - SPRN_SPRG_PACA - rename SPRG1 - SPRN_SPRG_SCRATCH0 - don't use SPRG2 V3 - V4: - use context_id instead of mm_alloc - export less V4 - V5: - use get_tb instead of mftb - make ppc32 and ppc64 emulation share more code - make pvr 32 bits - add patch to use hrtimer for decrememter Alexander Graf (27): Move dirty logging code to sub-arch Pass PVR in sregs Add Book3s definitions Add Book3s fields to vcpu structs Add asm/kvm_book3s.h Add Book3s_64 intercept helpers Add book3s_64 highmem asm code Add SLB switching code for entry/exit Add interrupt handling code Add book3s.c Add book3s_64 Host MMU handling Add book3s_64 guest MMU Add book3s_32 guest MMU Add book3s_64 specific opcode emulation Add mfdec emulation Add desktop PowerPC specific emulation Make head_64.S aware of KVM real mode code Add Book3s_64 offsets to asm-offsets.c Export symbols for KVM module Split init_new_context and destroy_context Export KVM symbols for module Add fields to PACA Export new PACA constants in asm-offsets Include Book3s_64 target in buildsystem Fix trace.h Use Little Endian for Dirty Bitmap Use hrtimers for the decrementer arch/powerpc/include/asm/exception-64s.h |2 + arch/powerpc/include/asm/kvm.h |2 + arch/powerpc/include/asm/kvm_asm.h | 39 ++ arch/powerpc/include/asm/kvm_book3s.h| 136 arch/powerpc/include/asm/kvm_book3s_64_asm.h | 58 ++ arch/powerpc/include/asm/kvm_host.h | 79 +++- arch/powerpc/include/asm/kvm_ppc.h |1 + arch/powerpc/include/asm/mmu_context.h |5 + arch/powerpc/include/asm/paca.h |9 + arch/powerpc/kernel/asm-offsets.c| 18 + arch/powerpc/kernel/exceptions-64s.S |8 + arch/powerpc/kernel/head_64.S|7 + arch/powerpc/kernel/ppc_ksyms.c |3 +- arch/powerpc/kernel/time.c |1 + arch/powerpc/kvm/Kconfig | 17 + arch/powerpc/kvm/Makefile| 27 +- arch/powerpc/kvm/book3s.c| 919 ++ arch/powerpc/kvm/book3s_32_mmu.c | 354 ++ arch/powerpc/kvm/book3s_64_emulate.c | 338 ++ arch/powerpc/kvm/book3s_64_exports.c | 24 + arch/powerpc/kvm/book3s_64_interrupts.S | 392 +++ arch/powerpc/kvm/book3s_64_mmu.c | 469 + arch/powerpc/kvm/book3s_64_mmu_host.c| 412 arch/powerpc/kvm/book3s_64_rmhandlers.S | 131 arch/powerpc/kvm/book3s_64_slb.S | 277 arch/powerpc/kvm/booke.c |5 + arch/powerpc/kvm/emulate.c | 66 ++- arch/powerpc/kvm/powerpc.c | 25 +- arch/powerpc/kvm/trace.h |6 +- arch/powerpc/mm/hash_utils_64.c |2 + arch/powerpc/mm/mmu_context_hash64.c | 24 +- virt/kvm/kvm_main.c |5 +- 32 files changed, 3827 insertions(+), 34 deletions(-) create mode 100644 arch/powerpc/include/asm/kvm_book3s.h create mode 100644 arch/powerpc/include/asm/kvm_book3s_64_asm.h create mode 100644 arch/powerpc/kvm/book3s.c create mode 100644 arch/powerpc/kvm/book3s_32_mmu.c create mode 100644 arch/powerpc/kvm/book3s_64_emulate.c create mode 100644 arch/powerpc/kvm/book3s_64_exports.c create mode 100644 arch/powerpc/kvm/book3s_64_interrupts.S create mode 100644 arch/powerpc/kvm/book3s_64_mmu.c create mode 100644 arch/powerpc/kvm/book3s_64_mmu_host.c create mode 100644 arch/powerpc/kvm/book3s_64_rmhandlers.S
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On 21.10.2009, at 17:03, Alexander Graf wrote: KVM for PowerPC only supports embedded cores at the moment. While it makes sense to virtualize on small machines, it's even more fun to do so on big boxes. So I figured we need KVM for PowerPC64 as well. This patchset implements KVM support for Book3s_64 hosts and guest support for Book3s_64 and G3/G4. To really make use of this, you also need a recent version of qemu. Don't want to apply patches? Get the git tree! $ git clone git://csgraf.de/kvm $ git checkout origin/ppc-v4 ppc-v5 of course. Though I'm still trying to take git to actually serve the correct tree - sigh. Alex -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 00/27] Add KVM support for Book3s_64 (PPC64) hosts v5
On 21.10.2009, at 17:03, Alexander Graf wrote: KVM for PowerPC only supports embedded cores at the moment. While it makes sense to virtualize on small machines, it's even more fun to do so on big boxes. So I figured we need KVM for PowerPC64 as well. This patchset implements KVM support for Book3s_64 hosts and guest support for Book3s_64 and G3/G4. To really make use of this, you also need a recent version of qemu. Don't want to apply patches? Get the git tree! $ git clone git://csgraf.de/kvm $ git checkout origin/ppc-v4 ppc-v5 of course. Though I'm still trying to take git to actually serve the correct tree - sigh. Alex -- To unsubscribe from this list: send the line unsubscribe kvm-ppc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html