diff options
author | Jes Sorensen <jes@sgi.com> | 2008-12-16 16:45:47 +0100 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2008-12-31 16:55:47 +0200 |
commit | 042b26edf0bc1b0f03238a71aed71cca4593848c (patch) | |
tree | cc80cc9e7e097f53837d0eff67cb5186abcd6a17 /arch/ia64/include/asm | |
parent | 4531220b71f0399e71cda0c4cf749e7281a7416a (diff) | |
download | blackbird-op-linux-042b26edf0bc1b0f03238a71aed71cca4593848c.tar.gz blackbird-op-linux-042b26edf0bc1b0f03238a71aed71cca4593848c.zip |
KVM: ia64: Fix kvm_arch_vcpu_ioctl_[gs]et_regs()
Fix kvm_arch_vcpu_ioctl_[gs]et_regs() to do something meaningful on
ia64. Old versions could never have worked since they required
pointers to be set in the ioctl payload which were never being set by
the ioctl handler for get_regs.
In addition reserve extra space for future extensions.
The change of layout of struct kvm_regs doesn't require adding a new
CAP since get/set regs never worked on ia64 until now.
This version doesn't support copying the KVM kernel stack in/out of
the kernel. This should be implemented in a seperate ioctl call if
ever needed.
Signed-off-by: Jes Sorensen <jes@sgi.com>
Acked-by : Xiantao Zhang <xiantao.zhang@intel.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/ia64/include/asm')
-rw-r--r-- | arch/ia64/include/asm/kvm.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/ia64/include/asm/kvm.h b/arch/ia64/include/asm/kvm.h index f38472ac2267..68aa6da807c1 100644 --- a/arch/ia64/include/asm/kvm.h +++ b/arch/ia64/include/asm/kvm.h @@ -166,8 +166,6 @@ struct saved_vpd { }; struct kvm_regs { - char *saved_guest; - char *saved_stack; struct saved_vpd vpd; /*Arch-regs*/ int mp_state; @@ -200,6 +198,10 @@ struct kvm_regs { unsigned long fp_psr; /*used for lazy float register */ unsigned long saved_gp; /*for phycial emulation */ + + union context saved_guest; + + unsigned long reserved[64]; /* for future use */ }; struct kvm_sregs { |