From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Fitzhardinge Subject: Re: xen.git branch reorg / crash with 2.6.30-rc3 pv_ops dom0 Date: Tue, 05 May 2009 13:10:43 -0700 Message-ID: <4A009D43.40404@goop.org> References: <49F6086D.1020602@goop.org> <20090427193835.GF24960@edu.joroinen.fi> <1240931113.22119.11.camel@zakaz.uk.xensource.com> <49F72DF7.8020904@goop.org> <1240939020.22119.15.camel@zakaz.uk.xensource.com> <49F73D18.60300@goop.org> <1240989350.17173.2096.camel@localhost.localdomain> <49F87F74.7050205@goop.org> <20090501095811.GM24960@edu.joroinen.fi> <49FB40E7.80009@goop.org> <20090505171903.GW24960@edu.joroinen.fi> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <20090505171903.GW24960@edu.joroinen.fi> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: =?ISO-8859-1?Q?Pasi_K=E4rkk=E4inen?= Cc: Ian Campbell , Xen-devel List-Id: xen-devel@lists.xenproject.org Pasi K=E4rkk=E4inen wrote: > And here we go: > http://pasik.reaktio.net/xen/pv_ops-dom0-debug/pv_ops-dom0-bootlog-28-x= en331-linux-2.6.30-rc3-next-crash-no-highpte.txt > > (XEN) d0:v0: unhandled page fault (ec=3D0003) > (XEN) Pagetable walk from c1268000: > =20 Oh, look, we're not reserving the Xen pagetable, and this time we really=20 should. Does this work for you? >>From f26499cadfd057e4377e92ba680e16fa7bdf9422 Mon Sep 17 00:00:00 2001 From: Jeremy Fitzhardinge Date: Tue, 5 May 2009 13:08:42 -0700 Subject: [PATCH] xen/i386: reserve Xen pagetables The Xen pagetables are no longer implicitly reserved as part of the other i386_start_kernel reservations, so make sure we explicitly reserve them. This prevents them from being released into the general kernel free page pool and reused. Signed-off-by: Jeremy Fitzhardinge diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c index 0e13477..801d042 100644 --- a/arch/x86/xen/mmu.c +++ b/arch/x86/xen/mmu.c @@ -1799,6 +1799,11 @@ __init pgd_t *xen_setup_kernel_pagetable(pgd_t *pg= d, =20 pin_pagetable_pfn(MMUEXT_PIN_L3_TABLE, PFN_DOWN(__pa(swapper_pg_dir))); =20 + reserve_early(__pa(xen_start_info->pt_base), + __pa(xen_start_info->pt_base + + xen_start_info->nr_pt_frames * PAGE_SIZE), + "XEN PAGETABLES"); + return swapper_pg_dir; } #endif /* CONFIG_X86_64 */