aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXiao Guangrong <xiaoguangrong@cn.fujitsu.com>2010-04-28 11:55:15 +0800
committerAvi Kivity <avi@redhat.com>2010-05-19 11:36:28 +0300
commit884a0ff0b68b3ece5987507de168215e14ef7849 (patch)
tree606103cc9a2b2116993becd2cab118d004ed38a1
parent5e1b3ddbf220d2256a6a0d676a219ed76b8048d0 (diff)
downloadkernel_samsung_smdk4412-884a0ff0b68b3ece5987507de168215e14ef7849.tar.gz
kernel_samsung_smdk4412-884a0ff0b68b3ece5987507de168215e14ef7849.tar.bz2
kernel_samsung_smdk4412-884a0ff0b68b3ece5987507de168215e14ef7849.zip
KVM: MMU: cleanup invlpg code
Using is_last_spte() to cleanup invlpg code Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
-rw-r--r--arch/x86/kvm/paging_tmpl.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h
index 3464fdbdb98..89d66ca4d87 100644
--- a/arch/x86/kvm/paging_tmpl.h
+++ b/arch/x86/kvm/paging_tmpl.h
@@ -474,9 +474,7 @@ static void FNAME(invlpg)(struct kvm_vcpu *vcpu, gva_t gva)
level = iterator.level;
sptep = iterator.sptep;
- if (level == PT_PAGE_TABLE_LEVEL ||
- ((level == PT_DIRECTORY_LEVEL && is_large_pte(*sptep))) ||
- ((level == PT_PDPE_LEVEL && is_large_pte(*sptep)))) {
+ if (is_last_spte(*sptep, level)) {
struct kvm_mmu_page *sp = page_header(__pa(sptep));
int offset, shift;