Subject: Re: Memory Problems, still
To: None <port-i386@NetBSD.ORG>
From: None <tom@whirlwind.fundy.ca>
List: port-i386
Date: 06/20/1997 16:54:55
I managed to get a 1.2 kernel that would recognise the 128M that I 
have been working with by changing NKPDE to 16 as suggested in the 
FAQ. 

Is this value of NKPDE supposed to be automatically set at runtime in 
-current or does that still have to be adjusted at compile time? I 
also noticed that in 1.2 it is EXTMEM_SIZE  and in -current 
BIOSEXTMEM, are they the same? (Newbie question)

I have built a kernel without BIOSEXTMEM set and it only saw the 
first 64M. 

I have included what I believe to be the relevant sections of pmap.h 
from each of the versions that I am working with.

>>From 1.2C using BIOSEXTMEM=130048

 /*	$NetBSD: pmap.h,v 1.24 1996/11/18 01:08:01 fvdl Exp $	*/
/* 
 * Copyright (c) 1995 Charles M. Hannum.  All rights reserved.
 * Copyright (c) 1991 Regents of the University of California.
 * All rights reserved.
 *
<section removed>
/*
 * One page directory, shared between
 * kernel and user modes.
 */
#define	PTDPTDI		0x3df		/* ptd entry that points to ptd! */
#define	KPTDI		0x3e0		/* start of kernel virtual pde's */
#define	NKPDE_BASE	4		/* min. # of kernel PDEs */ 
#define	NKPDE_MAX	31		/* max. # of kernel PDEs */ 
#define	NKPDE_SCALE	1		/* # of kernel PDEs to add per meg. */
#define	APTDPTDI	0x3ff		/* start of alternate page directory */

/*
>>From 1.2 using EXTMEM_SIZE=130048

/*	$NetBSD: pmap.h,v 1.23 1996/05/03 19:26:30 christos Exp $	*/

/* 
 * Copyright (c) 1995 Charles M. Hannum.  All rights reserved.
 * Copyright (c) 1991 Regents of the University of California.
 * All rights reserved.
 *
<section removed>
#define	NKPDE		16 /* I changed from 4 */