mirror of https://gitee.com/openkylin/linux.git
KVM: MMU: Drop cr4.pge from shadow page role
Since commit bf47a760f6
, we no longer handle ptes with the global bit
set specially, so there is no reason to distinguish between shadow pages
created with cr4.gpe set and clear.
Such tracking is expensive when the guest toggles cr4.pge, so drop it.
Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
parent
90d83dc3d4
commit
87bc3bf972
|
@ -178,7 +178,6 @@ union kvm_mmu_page_role {
|
|||
unsigned direct:1;
|
||||
unsigned access:3;
|
||||
unsigned invalid:1;
|
||||
unsigned cr4_pge:1;
|
||||
unsigned nxe:1;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
\
|
||||
role.word = __entry->role; \
|
||||
\
|
||||
trace_seq_printf(p, "sp gfn %llx %u%s q%u%s %s%s %spge" \
|
||||
trace_seq_printf(p, "sp gfn %llx %u%s q%u%s %s%s" \
|
||||
" %snxe root %u %s%c", \
|
||||
__entry->gfn, role.level, \
|
||||
role.cr4_pae ? " pae" : "", \
|
||||
|
@ -36,7 +36,6 @@
|
|||
role.direct ? " direct" : "", \
|
||||
access_str[role.access], \
|
||||
role.invalid ? " invalid" : "", \
|
||||
role.cr4_pge ? "" : "!", \
|
||||
role.nxe ? "" : "!", \
|
||||
__entry->root_count, \
|
||||
__entry->unsync ? "unsync" : "sync", 0); \
|
||||
|
|
|
@ -488,7 +488,6 @@ void kvm_set_cr4(struct kvm_vcpu *vcpu, unsigned long cr4)
|
|||
}
|
||||
kvm_x86_ops->set_cr4(vcpu, cr4);
|
||||
vcpu->arch.cr4 = cr4;
|
||||
vcpu->arch.mmu.base_role.cr4_pge = (cr4 & X86_CR4_PGE) && !tdp_enabled;
|
||||
kvm_mmu_reset_context(vcpu);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(kvm_set_cr4);
|
||||
|
|
Loading…
Reference in New Issue