From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: [PATCH v3 0/8] Simplify and fix fetch() Date: Mon, 12 Jul 2010 19:15:43 +0300 Message-ID: <1278951351-6300-1-git-send-email-avi@redhat.com> To: Xiao Guangrong , Marcelo Tosatti , kvm@vger.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:35870 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755913Ab0GLQP4 (ORCPT ); Mon, 12 Jul 2010 12:15:56 -0400 Sender: kvm-owner@vger.kernel.org List-ID: fetch() has become a monster, with a zillion continues, breaks, and gotos. Simplify it before Xiao adds even more. Also fix the gpte validation race. Avi Kivity (8): KVM: MMU: Add link_shadow_page() helper KVM: MMU: Use __set_spte to link shadow pages KVM: MMU: Add drop_large_spte() helper v2: s/drop_spte_if_large/drop_large_spte/g KVM: MMU: Add validate_direct_spte() helper KVM: MMU: Add validate_indirect_spte() helper v2: add comments make validate_indirect_spte() look at spte in its own level, not one below (but adjust caller so no net effect) KVM: MMU: Simplify spte fetch() function v2: add comments update 'sptep' and 'level' for last level KVM: MMU: Validate all gptes during fetch, not just those used for new pages v3: fix top-level gpte validation oops v2: validate top-level gpte (in root page) KVM: MMU: Eliminate redundant temporaries in FNAME(fetch) v2: new patch arch/x86/kvm/mmu.c | 41 ++++++++++++ arch/x86/kvm/paging_tmpl.h | 157 +++++++++++++++++++++++--------------------- 2 files changed, 122 insertions(+), 76 deletions(-)