From mboxrd@z Thu Jan 1 00:00:00 1970 From: ehrhardt@linux.vnet.ibm.com Date: Tue, 19 Aug 2008 10:36:40 +0000 Subject: [PATCH 0/4][RFC] kvmppc: paravirtualization interface - guest part v2 Message-Id: <1219142204-12044-1-git-send-email-ehrhardt@linux.vnet.ibm.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: linuxppc-dev@ozlabs.org, kvm-ppc@vger.kernel.org Cc: hollisb@us.ibm.com From: Christian Ehrhardt 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) Version 2 includes changes to the feedback of my last submission and is now tested against the implemented and working host part. The host part discuss= ion can be found on kvm-ppc@vger.kernel.org. The used hypercall ABI was already discussed on the embedded-hypervisor mai= ling 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 d= ata - flags for features like the example "feature,pv-magicpage" setting 1 =3D available, everything else =3D 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" I hope that eventually this guest patch series (that is modifying the 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/4] kvmppc: read device tree hypervisor node infrastructure [PATCH 2/4] kvmppc: add hypercall infrastructure - guest part [PATCH 3/4] kvmppc: magic page paravirtualization - guest part [PATCH 4/4] kvmppc: convert wrteei to wrtee as kvm guest optimization --- [diffstat] arch/powerpc/kernel/kvm.c | 51 ++++++++++++++++++++++++++++++ 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/fixmap.h | 10 +++++ b/include/asm-powerpc/hw_irq.h | 12 +++++++ b/include/asm-powerpc/kvm_para.h | 43 +++++++++++++++++++++++-- b/mm/page_alloc.c | 1 include/asm-powerpc/kvm_para.h | 59 ++++++++++++++++++++++++++++++= +++++ 10 files changed, 214 insertions(+), 4 deletions(-)