diff options
author | Avi Kivity <avi@qumranet.com> | 2007-01-05 19:36:38 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2007-01-06 02:55:24 -0500 |
commit | cd4a4e5374110444dc38831af517e51ff5a053c3 (patch) | |
tree | ed82756435e7909c7698d112195994c2e8062328 /drivers/kvm/kvm.h | |
parent | 399badf315bd4dd571b4b3b7cf666d9a2af40229 (diff) |
[PATCH] KVM: MMU: Implement simple reverse mapping
Keep in each host page frame's page->private a pointer to the shadow pte which
maps it. If there are multiple shadow ptes mapping the page, set bit 0 of
page->private, and use the rest as a pointer to a linked list of all such
mappings.
Reverse mappings are needed because we when we cache shadow page tables, we
must protect the guest page tables from being modified by the guest, as that
would invalidate the cached ptes.
Signed-off-by: Avi Kivity <avi@qumranet.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/kvm/kvm.h')
-rw-r--r-- | drivers/kvm/kvm.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h index e8fe1039e3b5..b65511ed4388 100644 --- a/drivers/kvm/kvm.h +++ b/drivers/kvm/kvm.h | |||
@@ -236,6 +236,7 @@ struct kvm { | |||
236 | struct kvm_vcpu vcpus[KVM_MAX_VCPUS]; | 236 | struct kvm_vcpu vcpus[KVM_MAX_VCPUS]; |
237 | int memory_config_version; | 237 | int memory_config_version; |
238 | int busy; | 238 | int busy; |
239 | unsigned long rmap_overflow; | ||
239 | }; | 240 | }; |
240 | 241 | ||
241 | struct kvm_stat { | 242 | struct kvm_stat { |