KVM: PPC: refer to paravirt docs in header file

Instead of keeping separate copies of struct kvm_vcpu_arch_shared (one in
the code, one in the docs) that inevitably fail to be kept in sync
(already sr[] is missing from the doc version), just point to the header
file as the source of documentation on the contents of the magic page.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Acked-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
Scott Wood 2012-01-11 13:37:35 +00:00 committed by Avi Kivity
parent b3c5d3c2a4
commit 54f65795c8
2 changed files with 12 additions and 22 deletions

View File

@ -81,28 +81,8 @@ additional registers to the magic page. If you add fields to the magic page,
also define a new hypercall feature to indicate that the host can give you more also define a new hypercall feature to indicate that the host can give you more
registers. Only if the host supports the additional features, make use of them. registers. Only if the host supports the additional features, make use of them.
The magic page has the following layout as described in The magic page layout is described by struct kvm_vcpu_arch_shared
arch/powerpc/include/asm/kvm_para.h: in arch/powerpc/include/asm/kvm_para.h.
struct kvm_vcpu_arch_shared {
__u64 scratch1;
__u64 scratch2;
__u64 scratch3;
__u64 critical; /* Guest may not get interrupts if == r1 */
__u64 sprg0;
__u64 sprg1;
__u64 sprg2;
__u64 sprg3;
__u64 srr0;
__u64 srr1;
__u64 dar;
__u64 msr;
__u32 dsisr;
__u32 int_pending; /* Tells the guest if we have an interrupt */
};
Additions to the page must only occur at the end. Struct fields are always 32
or 64 bit aligned, depending on them being 32 or 64 bit wide respectively.
Magic page features Magic page features
=================== ===================

View File

@ -22,6 +22,16 @@
#include <linux/types.h> #include <linux/types.h>
/*
* Additions to this struct must only occur at the end, and should be
* accompanied by a KVM_MAGIC_FEAT flag to advertise that they are present
* (albeit not necessarily relevant to the current target hardware platform).
*
* Struct fields are always 32 or 64 bit aligned, depending on them being 32
* or 64 bit wide respectively.
*
* See Documentation/virtual/kvm/ppc-pv.txt
*/
struct kvm_vcpu_arch_shared { struct kvm_vcpu_arch_shared {
__u64 scratch1; __u64 scratch1;
__u64 scratch2; __u64 scratch2;