svn commit: r184004 - projects/releng_6_xen/sys/i386/xen
Kip Macy
kmacy at FreeBSD.org
Fri Oct 17 23:23:50 UTC 2008
Author: kmacy
Date: Fri Oct 17 23:23:50 2008
New Revision: 184004
URL: http://svn.freebsd.org/changeset/base/184004
Log:
Don't set nkpt higher than the max required to map KVA
Modified:
projects/releng_6_xen/sys/i386/xen/xen_machdep.c
Modified: projects/releng_6_xen/sys/i386/xen/xen_machdep.c
==============================================================================
--- projects/releng_6_xen/sys/i386/xen/xen_machdep.c Fri Oct 17 23:03:35 2008 (r184003)
+++ projects/releng_6_xen/sys/i386/xen/xen_machdep.c Fri Oct 17 23:23:50 2008 (r184004)
@@ -836,8 +836,12 @@ initvalues(start_info_t *startinfo)
unsigned long i;
int ncpus;
- nkpt = min(max((startinfo->nr_pages >> NPGPTD_SHIFT), nkpt),
- NPGPTD*NPDEPG - KPTDI);
+ nkpt = min(
+ min(
+ max((startinfo->nr_pages >> NPGPTD_SHIFT), nkpt),
+ NPGPTD*NPDEPG - KPTDI),
+ (HYPERVISOR_VIRT_START - KERNBASE) >> PDRSHIFT);
+
#ifdef SMP
ncpus = MAXCPU;
#else
@@ -973,6 +977,8 @@ initvalues(start_info_t *startinfo)
i++, cur_space += PAGE_SIZE) {
pdir = (offset + i) / NPDEPG;
curoffset = ((offset + i) % NPDEPG);
+ if (((offset + i) << PDRSHIFT) == VM_MAX_KERNEL_ADDRESS)
+ break;
/*
* make sure that all the initial page table pages
More information about the svn-src-projects
mailing list