[PATCH 0/6][RFC] kvmppc: paravirtualization interface

2008-07-23 Thread ehrhardt
From: Christian Ehrhardt <[EMAIL PROTECTED]>

This patch series implements a paravirtualization interface using:
- the device tree mechanism to pass hypervisor informations to the guest
- hypercalls for guest->host calls
- an example exploiter of that interface (magic page)
This is work in progress, but working so far. I just start to really exploit
the fuctionality behind the magic page mechanism therefor I can't provide any
performance improvements so far, but it is evolved enough for RFC and to start
the standardization discussion.

The used hypercall ABI was already discussed on the embedded-hypervisor mailing
list and is available at http://kvm.qumranet.com/kvmwiki/PowerPC_Hypercall_ABI

The device tree format used here (=base for the discussions on
embedded-hypervisor) is the following.
- A node "hypervisor" to show the general availability of some hypervisor data
- flags for features like the example "feature,pv-magicpage"
  setting 1 = available, everything else = unavailable
- Some features might need to pass more data and can use an entry in the
  device tree like the example of "data,pv-magicpage-size"

Parties on cc:
linuxppc-dev@ozlabs.org
  The patches affect code in the generic powerpc boot&setup so I would be
  happy about comments if the hooks are ok that way.
[EMAIL PROTECTED]
  This power.org TSC discusses about standardization of the virtualization
  interfaces. This patch series is perfectly suited due to it's simple changes
  to start the discussion about the device tree there.
[EMAIL PROTECTED]
  The code is made for kvm on powerpc which lives on this list.

[patches in series]
Subject: [PATCH 1/6] kvmppc: read device tree hypervisor node infrastructure
  Providing the guest functionality to read hypervisor features from the
  device tree and adding the basic hook to the powerpc boot6setup code
Subject: [PATCH 2/6] kvmppc: add hypercall infrastructure - host part
Subject: [PATCH 3/6] kvmppc: add hypercall infrastructure - guest part
  patch 2&3 add the hypercall infrastruture as mentioned above
Subject: [PATCH 4/6] kvmppc: magic page hypercall - host part
Subject: [PATCH 5/6] kvmppc: magic page paravirtualization - guest part
  patch 4&5 add the magic page mechanism which will later on be used for
  binary rewriting the guest.
Subject: [PATCH 6/6] kvmppc: kvm-userspace: device tree modification for 
magicpage
  This connects host and guest reading host capabilities and modifying the
  device tree passed to the guest accordingly 

---
[diffstat]
 arch/powerpc/kernel/kvm.c|   48 +++
 arch/powerpc/kvm/emulate.c   |5 +++
 b/arch/powerpc/kernel/Makefile   |2 +
 b/arch/powerpc/kernel/kvm.c  |   30 +
 b/arch/powerpc/kernel/setup_32.c |3 ++
 b/arch/powerpc/kvm/emulate.c |   27 +++
 b/arch/powerpc/kvm/powerpc.c |   18 -
 b/arch/powerpc/platforms/44x/Kconfig |7 +
 b/include/asm-powerpc/kvm_para.h |   37 --
 b/include/linux/kvm.h|6 
 b/libkvm/libkvm-powerpc.c|6 
 b/libkvm/libkvm.h|6 
 b/qemu/hw/device_tree.c  |   10 +++
 b/qemu/hw/device_tree.h  |1
 b/qemu/hw/ppc440_bamboo.c|   15 ++
 b/qemu/qemu-kvm-powerpc.c|5 +++
 b/qemu/qemu-kvm.h|1
 include/asm-powerpc/kvm_para.h   |   47 +-
 18 files changed, 269 insertions(+), 5 deletions(-)
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 0/6][RFC] kvmppc: paravirtualization interface

2008-07-23 Thread Tony Breeds
On Wed, Jul 23, 2008 at 10:36:41AM +0200, [EMAIL PROTECTED] wrote:
> From: Christian Ehrhardt <[EMAIL PROTECTED]>
> 
> This patch series implements a paravirtualization interface using:
> - the device tree mechanism to pass hypervisor informations to the guest
> - hypercalls for guest->host calls
> - an example exploiter of that interface (magic page)
> This is work in progress, but working so far. I just start to really exploit
> the fuctionality behind the magic page mechanism therefor I can't provide any
> performance improvements so far, but it is evolved enough for RFC and to start
> the standardization discussion.

Are you aiming this for the current merge window, ie for 2.6.27?

Yours Tony

  linux.conf.auhttp://www.marchsouth.org/
  Jan 19 - 24 2009 The Australian Linux Technical Conference!

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 0/6][RFC] kvmppc: paravirtualization interface

2008-07-24 Thread Christian Ehrhardt

Tony Breeds wrote:

On Wed, Jul 23, 2008 at 10:36:41AM +0200, [EMAIL PROTECTED] wrote:
  

From: Christian Ehrhardt <[EMAIL PROTECTED]>

This patch series implements a paravirtualization interface using:
- the device tree mechanism to pass hypervisor informations to the guest
- hypercalls for guest->host calls
- an example exploiter of that interface (magic page)
This is work in progress, but working so far. I just start to really exploit
the fuctionality behind the magic page mechanism therefor I can't provide any
performance improvements so far, but it is evolved enough for RFC and to start
the standardization discussion.



Are you aiming this for the current merge window, ie for 2.6.27?
  
The aim is not really fixed. It would be nice to get into 2.6.27, but 
since I can't yet expect how long it takes ...


Actually the guest patches would already go through reviews and 
upstream, due to the fact that the guest code changes are not that (the 
major part of the implementation will go over kvmppc -> kvm upstream).
But since I want to discuss about the standardization on the embedded 
hypervisor list first, the naming of the device tree entries are not 
fixed yet.
Therefor I can't yet define which kernel version merge window I'll 
target/reach.


btw - embedded hypervisor - I got advised that this is a closed list 
which I forgot.
Sorry for all who got bounces on a replay-all action. The next version 
of the patch series will go to the involved open source lists only and a 
separate more standardization than patch style mail series to embedded 
hypervisor.



Yours Tony

  linux.conf.auhttp://www.marchsouth.org/
  Jan 19 - 24 2009 The Australian Linux Technical Conference!
  

--

GrĂ¼sse / regards, 
Christian Ehrhardt

IBM Linux Technology Center, Open Virtualization

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: [PATCH 0/6][RFC] kvmppc: paravirtualization interface

2008-07-24 Thread Tony Breeds
On Thu, Jul 24, 2008 at 10:17:31AM +0200, Christian Ehrhardt wrote:

> The aim is not really fixed. It would be nice to get into 2.6.27, but 
> since I can't yet expect how long it takes ...

Ahh okay, Id say given that we're 2/3rds through the merge window then
2.8.28 is a safer target.
 
> Actually the guest patches would already go through reviews and 
> upstream, due to the fact that the guest code changes are not that (the 
> major part of the implementation will go over kvmppc -> kvm upstream).
> But since I want to discuss about the standardization on the embedded 
> hypervisor list first, the naming of the device tree entries are not 
> fixed yet.

Okay.  When that's done we can take another look at them.

> Therefor I can't yet define which kernel version merge window I'll 
> target/reach.
> 
> btw - embedded hypervisor - I got advised that this is a closed list 
> which I forgot.

... snipped from this reply

Yours Tony

  linux.conf.auhttp://www.marchsouth.org/
  Jan 19 - 24 2009 The Australian Linux Technical Conference!

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev