KVM: MMU: introduce the rules to modify shadow page table
authorXiao Guangrong <xiaoguangrong@cn.fujitsu.com>
Mon, 11 Jul 2011 19:30:35 +0000 (03:30 +0800)
committerAvi Kivity <avi@redhat.com>
Sun, 24 Jul 2011 08:50:36 +0000 (11:50 +0300)
commit1df9f2dc39948c3cb900725b7f0754fb385c8354
tree53731b23b8e2e95ce8d9f943acd9e0d83db4e7da
parentd7c55201e66e9f702db575c9dfc2d34a7af6cf1f
KVM: MMU: introduce the rules to modify shadow page table

Introduce some interfaces to modify spte as linux kernel does:
- mmu_spte_clear_track_bits, it set the spte from present to nonpresent, and
  track the stat bits(accessed/dirty) of spte
- mmu_spte_clear_no_track, the same as mmu_spte_clear_track_bits except
  tracking the stat bits
- mmu_spte_set, set spte from nonpresent to present
- mmu_spte_update, only update the stat bits

Now, it does not allowed to set spte from present to present, later, we can
drop the atomicly opration for X86_32 host, and it is the preparing work to
get spte on X86_32 host out of the mmu lock

Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/mmu.c