-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
KVM: Portability: Split mmu-related static inline functions to mmu.h
Since these functions need to know the details of kvm or kvm_vcpu structure, it can't be put in x86.h. Create mmu.h to hold them. Signed-off-by: Zhang Xiantao <xiantao.zhang@intel.com> Acked-by: Carsten Otte <cotte@de.ibm.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
- Loading branch information
Zhang Xiantao
authored and
Avi Kivity
committed
Jan 30, 2008
1 parent
ad312c7
commit 1d737c8
Showing
7 changed files
with
55 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
#ifndef __KVM_X86_MMU_H | ||
#define __KVM_X86_MMU_H | ||
|
||
#include "kvm.h" | ||
|
||
static inline void kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu) | ||
{ | ||
if (unlikely(vcpu->kvm->n_free_mmu_pages < KVM_MIN_FREE_MMU_PAGES)) | ||
__kvm_mmu_free_some_pages(vcpu); | ||
} | ||
|
||
static inline int kvm_mmu_reload(struct kvm_vcpu *vcpu) | ||
{ | ||
if (likely(vcpu->arch.mmu.root_hpa != INVALID_PAGE)) | ||
return 0; | ||
|
||
return kvm_mmu_load(vcpu); | ||
} | ||
|
||
static inline int is_long_mode(struct kvm_vcpu *vcpu) | ||
{ | ||
#ifdef CONFIG_X86_64 | ||
return vcpu->arch.shadow_efer & EFER_LME; | ||
#else | ||
return 0; | ||
#endif | ||
} | ||
|
||
static inline int is_pae(struct kvm_vcpu *vcpu) | ||
{ | ||
return vcpu->arch.cr4 & X86_CR4_PAE; | ||
} | ||
|
||
static inline int is_pse(struct kvm_vcpu *vcpu) | ||
{ | ||
return vcpu->arch.cr4 & X86_CR4_PSE; | ||
} | ||
|
||
static inline int is_paging(struct kvm_vcpu *vcpu) | ||
{ | ||
return vcpu->arch.cr0 & X86_CR0_PG; | ||
} | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters