Skip to content

Commit

Permalink
KVM: SVM: move svm_hardware_disable() code to asm/virtext.h
Browse files Browse the repository at this point in the history
Create cpu_svm_disable() function.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
  • Loading branch information
Eduardo Habkost authored and Avi Kivity committed Dec 31, 2008
1 parent 63d1142 commit 2c8dcee
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
14 changes: 14 additions & 0 deletions arch/x86/include/asm/virtext.h
Original file line number Diff line number Diff line change
Expand Up @@ -107,4 +107,18 @@ static inline int cpu_has_svm(const char **msg)
return 1;
}


/** Disable SVM on the current CPU
*
* You should call this only if cpu_has_svm() returned true.
*/
static inline void cpu_svm_disable(void)
{
uint64_t efer;

wrmsrl(MSR_VM_HSAVE_PA, 0);
rdmsrl(MSR_EFER, efer);
wrmsrl(MSR_EFER, efer & ~MSR_EFER_SVME_MASK);
}

#endif /* _ASM_X86_VIRTEX_H */
6 changes: 1 addition & 5 deletions arch/x86/kvm/svm.c
Original file line number Diff line number Diff line change
Expand Up @@ -259,11 +259,7 @@ static int has_svm(void)

static void svm_hardware_disable(void *garbage)
{
uint64_t efer;

wrmsrl(MSR_VM_HSAVE_PA, 0);
rdmsrl(MSR_EFER, efer);
wrmsrl(MSR_EFER, efer & ~MSR_EFER_SVME_MASK);
cpu_svm_disable();
}

static void svm_hardware_enable(void *garbage)
Expand Down

0 comments on commit 2c8dcee

Please sign in to comment.