From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Egger Subject: Re: [PATCH] nestedhvm: fix write access fault on ro mapping Date: Fri, 27 Jul 2012 13:57:34 +0200 Message-ID: <5012822E.2030603@amd.com> References: <5008166B.6010603@amd.com> <20120726182111.GB4135@ocelot.phlegethon.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20120726182111.GB4135@ocelot.phlegethon.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Tim Deegan Cc: "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org On 07/26/12 20:21, Tim Deegan wrote: > At 16:15 +0200 on 19 Jul (1342714507), Christoph Egger wrote: >> >> Fix write access fault when host npt is mapped read-only. >> In this case let the host handle the #NPF. >> Apply host p2mt to hap-on-hap pagetable entry. >> This fixes the l2 guest graphic display refresh problem. > >> diff -r ae0e96e156f3 xen/arch/x86/hvm/hvm.c >> --- a/xen/arch/x86/hvm/hvm.c Thu Jul 19 12:12:12 2012 +0200 >> +++ b/xen/arch/x86/hvm/hvm.c Thu Jul 19 15:30:04 2012 +0200 >> @@ -1291,6 +1291,8 @@ int hvm_hap_nested_page_fault(unsigned l >> if ( !handle_mmio() ) >> hvm_inject_hw_exception(TRAP_gp_fault, 0); >> return 1; >> + case NESTEDHVM_PAGEFAULT_READONLY: >> + break; > > Don't we have to translate the faulting PA into an L1 address before > letting the rest of this fault handler run? It explicitly operates on > the hostp2m. > > If we do that, we should probably do it for NESTEDHVM_PAGEFAULT_ERROR, > rather than special-casing READONLY. That way any other > automatically-fixed types (like the p2m_access magic) will be covered > too. How do you differentiate if the error happened from walking l1 npt or host npt ? In the first case it isn't possible to provide l1 address. Christoph -- ---to satisfy European Law for business letters: Advanced Micro Devices GmbH Einsteinring 24, 85689 Dornach b. Muenchen Geschaeftsfuehrer: Alberto Bozzo Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632