summaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/kvm_cache_regs.h
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2010-11-29 17:51:47 +0100
committerAvi Kivity <avi@redhat.com>2011-01-12 10:30:04 +0100
commitec9e60b21977007e3dfacc2b8fe3a8fbb9276b51 (patch)
tree419f1a51980fb3cd93ab857d0c47457795fa90ef /arch/x86/kvm/kvm_cache_regs.h
parentKVM: Pull extra page fault information into struct x86_exception (diff)
downloadlinux-ec9e60b21977007e3dfacc2b8fe3a8fbb9276b51.tar.xz
linux-ec9e60b21977007e3dfacc2b8fe3a8fbb9276b51.zip
KVM: X86: Introduce generic guest-mode representation
This patch introduces a generic representation of guest-mode fpr a vcpu. This currently only exists in the SVM code. Having this representation generic will help making the non-svm code aware of nesting when this is necessary. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/x86/kvm/kvm_cache_regs.h')
-rw-r--r--arch/x86/kvm/kvm_cache_regs.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/x86/kvm/kvm_cache_regs.h b/arch/x86/kvm/kvm_cache_regs.h
index 975bb45329a1..95ac3afa6e6f 100644
--- a/arch/x86/kvm/kvm_cache_regs.h
+++ b/arch/x86/kvm/kvm_cache_regs.h
@@ -84,4 +84,19 @@ static inline u64 kvm_read_edx_eax(struct kvm_vcpu *vcpu)
| ((u64)(kvm_register_read(vcpu, VCPU_REGS_RDX) & -1u) << 32);
}
+static inline void enter_guest_mode(struct kvm_vcpu *vcpu)
+{
+ vcpu->arch.hflags |= HF_GUEST_MASK;
+}
+
+static inline void leave_guest_mode(struct kvm_vcpu *vcpu)
+{
+ vcpu->arch.hflags &= ~HF_GUEST_MASK;
+}
+
+static inline bool is_guest_mode(struct kvm_vcpu *vcpu)
+{
+ return vcpu->arch.hflags & HF_GUEST_MASK;
+}
+
#endif