[PATCH 0/3][RFC] kvmppc: paravirtualization interface - guest part v3

ehrhardt at linux.vnet.ibm.com ehrhardt at linux.vnet.ibm.com
Tue Sep 16 16:27:27 EST 2008


From: Christian Ehrhardt <ehrhardt at linux.vnet.ibm.com>

Version 3 updates:
- guest hypercall infrastructure is now generic (in epapr_hcalls.h)
  while the kvm specific functions stay in kvm_para.h
- the hypercalls now use beat style ABI
- dropped the guest coop patch changing wrteei to wrtee (now mfmsr is
  rewritten avoiding side effects and a lot of corner cases. Additionally this
  does not need any guest cooperation to be effective)

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)

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"

The host side of these patches can be found on kvm-ppc at vger.kernel.org

I hope that eventually this guest patch series (that is modifying the ppc boot
process and adding e.g. new ppc fixmaps could go upstream (when discussed
and agreed somewhen) via linuxppc-dev, while the kvm host part will go via
kvm (Avi Kivity).

[patches in series]
[PATCH 1/3] kvmppc: read device tree hypervisor node infrastructure
[PATCH 2/3] kvmppc: add hypercall infrastructure - guest part
[PATCH 3/3] kvmppc: magic page paravirtualization - guest part

---
[diffstat]
 arch/powerpc/kernel/kvm.c            |   53 +++++++++++++++++++++++++++++++
 b/arch/powerpc/kernel/Makefile       |    2 +
 b/arch/powerpc/kernel/kvm.c          |   30 +++++++++++++++++
 b/arch/powerpc/kernel/setup_32.c     |    3 +
 b/arch/powerpc/platforms/44x/Kconfig |    7 ++++
 b/include/asm-powerpc/epapr_hcalls.h |   59 +++++++++++++++++++++++++++++++++++
 b/include/asm-powerpc/fixmap.h       |   10 +++++
 b/include/asm-powerpc/kvm_para.h     |   43 +++++++++++++++++++++++--
 include/asm-powerpc/kvm_para.h       |   26 +++++++++++++++
 9 files changed, 229 insertions(+), 4 deletions(-)



More information about the Linuxppc-dev mailing list