Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 Fluke 1/4/84; site fluke.UUCP Path: utzoo!watmath!clyde!burl!mgnetp!ihnp4!zehntel!dual!amd70!fortune!hpda!hplabs!hao!seismo!harpo!decvax!ucbvax!ucbcad!tektronix!uw-beaver!ssc-vax!fluke!joe From: joe@fluke.UUCP Newsgroups: net.bugs.4bsd Subject: UNIX does not recognize more than 8Mbytes of physical memory Message-ID: <1682@vax4.FLUKE.UUCP> Date: Fri, 22-Jun-84 12:07:50 EDT Article-I.D.: vax4.1682 Posted: Fri Jun 22 12:07:50 1984 Date-Received: Thu, 28-Jun-84 04:45:44 EDT Organization: John Fluke Mfg. Co., Everett, WA Lines: 33 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