Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4fcc2724628c6548748ec80a90b548fc300e81f
Commit:     c4fcc2724628c6548748ec80a90b548fc300e81f
Parent:     5df34a86f917024b67f9e7c850153390973cdfe3
Author:     Avi Kivity <[EMAIL PROTECTED]>
AuthorDate: Thu Oct 11 15:30:21 2007 +0200
Committer:  Avi Kivity <[EMAIL PROTECTED]>
CommitDate: Wed Jan 30 17:52:52 2008 +0200

    KVM: MMU: When updating the dirty bit, inform the mmu about it
    
    Since the mmu uses different shadow pages for dirty large pages and clean
    large pages, this allows the mmu to drop ptes that are now invalid.
    
    Signed-off-by: Avi Kivity <[EMAIL PROTECTED]>
---
 drivers/kvm/paging_tmpl.h |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/kvm/paging_tmpl.h b/drivers/kvm/paging_tmpl.h
index a0f84a5..a9e687b 100644
--- a/drivers/kvm/paging_tmpl.h
+++ b/drivers/kvm/paging_tmpl.h
@@ -74,9 +74,14 @@ static void FNAME(update_dirty_bit)(struct kvm_vcpu *vcpu,
                                    pt_element_t *ptep,
                                    gfn_t table_gfn)
 {
+       gpa_t pte_gpa;
+
        if (write_fault && !is_dirty_pte(*ptep)) {
                mark_page_dirty(vcpu->kvm, table_gfn);
                *ptep |= PT_DIRTY_MASK;
+               pte_gpa = ((gpa_t)table_gfn << PAGE_SHIFT);
+               pte_gpa += offset_in_page(ptep);
+               kvm_mmu_pte_write(vcpu, pte_gpa, (u8 *)ptep, sizeof(*ptep));
        }
 }
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to