From: Jeremy Fitzhardinge Subject: Re: [PATCH 00 of 36] x86/paravirt: groundwork for 64-bit Xen support Date: Thu, 26 Jun 2008 12:02:49 -0700 Message-ID: <4863E7D9.7090307@goop.org> References: <20080625084253.GA11524@elte.hu> <20080625152212.GA3442@elte.hu> <4862A6A9.1030109@goop.org> <20080626105722.GA12640@elte.hu> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20080626105722.GA12640@elte.hu> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ingo Molnar Cc: Nick Piggin , Mark McLoughlin , xen-devel , Eduardo Habkost , Vegard Nossum , Stephen Tweedie , x86@kernel.org, LKML , Yinghai Lu List-Id: xen-devel@lists.xenproject.org Ingo Molnar wrote: > that fixed the build but now we've got a boot crash with this config: > > time.c: Detected 2010.304 MHz processor. > spurious 8259A interrupt: IRQ7. > BUG: unable to handle kernel NULL pointer dereference at 0000000000000000 > IP: [<0000000000000000>] > PGD 0 > Thread overran stack, or stack corrupted > Oops: 0010 [1] SMP > CPU 0 > I don't know if this will fix this bug, but it's definitely a bugfix. It was trashing random pages by overwriting them with pagetables... Subject: x86_64: memory mapping: don't trash large pmd mapping Don't trash a large pmd's data when mapping physical memory. This is a bugfix for "x86_64: adjust mapping of physical pagetables to work with Xen". Signed-off-by: Jeremy Fitzhardinge --- arch/x86/mm/init_64.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) =================================================================== --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c @@ -311,7 +311,8 @@ } if (pmd_val(*pmd)) { - phys_pte_update(pmd, address, end); + if (!pmd_large(*pmd)) + phys_pte_update(pmd, address, end); continue; }