[net.bugs.4bsd] 16Meg ram on BSD4.2 help needed

john@novavax.UUCP (John Paul O'Brien) (10/03/86)

Here is my problem:
	We have been running BSD 4.2 with under 8 meg of memory for about
2 years now. We recently purchased more memory and want to increase our
system to 16 Meg. The kernel file locore.s has the source for checking
how much memory is actually in the controller. I will include at the end
of this posting a posting from June 1984 by Joe Kelsey @ fluke which explains
what this file does and how to modify it. After I modified it as per the 
instructions the new kernel DID find the full 16 Meg. of memory but after
the massbus and unibus devices were mapped in the system froze. The only thing
I can think of is that there is another file (or files) in the kernel that has
the 8 Meg. limitation "hardcoded" into it. Has anybody else out there run into
this problem and found the solution? Any help would be GREATLY appreciated.
Please mail to me at the address located after the included posting.


Posted in June of 1984:
> From: joe@fluke (Joe Kelsey)
> Subject: UNIX does not recognize more than 8Mbytes of physical memory
> Index: 	sys/vax/locore.s 4.2BSD
> Apparently-To: 4bsd-bugs@BERKELEY.ARPA
> 
> 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 */
> 


Thanks again,

John

______________________________________________________
John Paul O'Brien, Coordinator of Technical Support
Nova University Computer Center
3301 College Ave.
Ft. Lauderdale, Fl. 33314
(305) 475-7633
{codas|ucf-cs|allegra|usfvax2}!novavax!john

Technical Support, Working to keep you working!