diff options
author | Aravindh Puthiyaparambil <aravindh@virtuata.com> | 2012-04-27 17:54:00 +0200 |
---|---|---|
committer | Aravindh Puthiyaparambil <aravindh@virtuata.com> | 2012-04-27 17:54:00 +0200 |
commit | 7febbdae3bda9ccca27870c3396850c3fb45f728 (patch) | |
tree | 739786b54b400ff008b43ade7d955159112175cc /xen/arch/x86/hvm/svm | |
parent | 99169e3037660a1a44127b92d35344e864489c3c (diff) | |
download | xen-7febbdae3bda9ccca27870c3396850c3fb45f728.tar.gz xen-7febbdae3bda9ccca27870c3396850c3fb45f728.tar.bz2 xen-7febbdae3bda9ccca27870c3396850c3fb45f728.zip |
x86/hvm: Add get_shadow_gs_base() wrapper function
Add a wrapper function to the HVM function table that returns the
shadow GS base.
Signed-off-by: Aravindh Puthiyaparambil <aravindh@virtuata.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
Diffstat (limited to 'xen/arch/x86/hvm/svm')
-rw-r--r-- | xen/arch/x86/hvm/svm/svm.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index 6b7b653c21..47fe9846fe 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -645,6 +645,11 @@ static void svm_set_segment_register(struct vcpu *v, enum x86_segment seg, svm_vmload(vmcb); } +static unsigned long svm_get_shadow_gs_base(struct vcpu *v) +{ + return v->arch.hvm_svm.vmcb->kerngsbase; +} + static int svm_set_guest_pat(struct vcpu *v, u64 gpat) { struct vmcb_struct *vmcb = v->arch.hvm_svm.vmcb; @@ -1990,6 +1995,7 @@ static struct hvm_function_table __read_mostly svm_function_table = { .guest_x86_mode = svm_guest_x86_mode, .get_segment_register = svm_get_segment_register, .set_segment_register = svm_set_segment_register, + .get_shadow_gs_base = svm_get_shadow_gs_base, .update_host_cr3 = svm_update_host_cr3, .update_guest_cr = svm_update_guest_cr, .update_guest_efer = svm_update_guest_efer, |