UNIX does not recognize more than 8Mbytes of physical memory

joe at fluke.UUCP joe at fluke.UUCP
Sat Jun 23 02:07:50 AEST 1984


Index:	sys/vax/locore.s 4.2BSD

Description:
	When booted on a machine with > 8 Mbytes of physical memory,
	UNIX will report and use on 8 Mbytes of the total available.
Repeat-By:
	Buy a new VAX-11/780, or upgrade your existing 780 to the
	new 64K chip internally-interleaved memory controller.
	Then, install more than 8Mbytes of memory in the machine.
	Boot UNIX and look at the memory message displayed as it comes
	up.
Fix:
	In locore.s, the magic number 8192 is wired into the code in
	a loop which steps through memory testing for the end of physical
	memory.  This seems ludicrous - at least they could have used
	a #define constant!  I replaced the 8192 with a #define constant,
	MAXPHYMEM, defined in nexus.h.  I set up MAXPHYMEM to 32768, the
	current maximum physical memory on a UNIX VAX.  Here is the
	relevan section of code from locore.s:

/* count up memory */
	clrl	r7
1:	pushl	$4; pushl r7; calls $2,_badaddr; tstl r0; bneq 9f
#ifndef FLUKE
	acbl	$8192*1024-1,$64*1024,r7,1b
#else
	acbl	$MAXPHYMEM*1024-1,$64*1024,r7,1b
#endif FLUKE
9:
/* clear memory from kernel bss and pages for proc 0 u. and page table */

	Now, I'll just wait and see how UNIX does with 10 Mbytes!

/Joe



More information about the Comp.bugs.4bsd.ucb-fixes mailing list