diff options
author | Avi Kivity <avi@redhat.com> | 2010-04-23 13:49:06 +0300 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2010-05-17 12:19:15 +0300 |
commit | 8d3b9323095ae977406c7f4e73c9aa0f47682cc2 (patch) | |
tree | 43ebc414eb8401e8bde250242c9c5d2572e43e70 /arch/x86/kvm/x86.c | |
parent | d14769377a247d4e7b570592a090474c8a059938 (diff) | |
parent | 6eca8cc35b50af1037bc919106dd6dd332c959c2 (diff) |
Merge remote branch 'tip/perf/core'
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/x86.c')
-rw-r--r-- | arch/x86/kvm/x86.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index cf37ac6644e..848c814e8c3 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -3965,16 +3965,20 @@ static int kvm_is_in_guest(void) static int kvm_is_user_mode(void) { int user_mode = 3; + if (percpu_read(current_vcpu)) user_mode = kvm_x86_ops->get_cpl(percpu_read(current_vcpu)); + return user_mode != 0; } static unsigned long kvm_get_guest_ip(void) { unsigned long ip = 0; + if (percpu_read(current_vcpu)) ip = kvm_rip_read(percpu_read(current_vcpu)); + return ip; } |