KVM: MMU: cleanup invlpg code
authorXiao Guangrong <xiaoguangrong@cn.fujitsu.com>
Wed, 28 Apr 2010 03:55:15 +0000 (11:55 +0800)
committerAvi Kivity <avi@redhat.com>
Wed, 19 May 2010 08:36:28 +0000 (11:36 +0300)
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>
arch/x86/kvm/paging_tmpl.h

index 3464fdbdb98fa57139c56e57f0a2d2a1635c58e3..89d66ca4d87cb2982ae48c5877580e733ab0cce8 100644 (file)
@@ -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;