NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/38699 CVS commit: src/sys/arch



The following reply was made to PR port-xen/38699; it has been noted by GNATS.

From: "Manuel Bouyer" <bouyer%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/38699 CVS commit: src/sys/arch
Date: Thu, 23 Feb 2012 18:59:22 +0000

 Module Name:   src
 Committed By:  bouyer
 Date:          Thu Feb 23 18:59:22 UTC 2012
 
 Modified Files:
        src/sys/arch/x86/x86: pmap.c
        src/sys/arch/xen/x86: x86_xpmap.c
 
 Log Message:
 On Xen, there is variable-sized Xen data after the kernel's text+data+bss
 (this include the physical->machine table).
 (vaddr_t)(KERNBASE + NKL2_KIMG_ENTRIES * NBPD_L2) is after text+data+bss but,
 on a domU with lots of RAM (more than 4GB) (so large
 xpmap_phys_to_machine_mapping table) this can point to some of Xen's data
 setup at bootstrap (either the xpmap_phys_to_machine_mapping table,
 some page shared with the hypervisor, or our kernel page table). Using it for
 early_zerop will cause of these pages to be unmapped after bootstrap.
 This will cause a kernel page fault for the domU, either immediatly or
 eventually much later, depending on where early_zerop points to.
 To fix this, account for early_zerop when building the bootstrap pages,
 and its VA from here.
 
 May fix PR port-xen/38699
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.169 -r1.170 src/sys/arch/x86/x86/pmap.c
 cvs rdiff -u -r1.39 -r1.40 src/sys/arch/xen/x86/x86_xpmap.c
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 


Home | Main Index | Thread Index | Old Index