On Wednesday, August 19, 2015 at 8:11 AM, Johnny Billquist wrote:
Yes, through VMB. And VMB probes the available memory. So just having
memory expanded do not need a different firmware. VMB should already
handle things. The possible issue would be if VMB on the 4000 always stops
at (say) 128M, since it would "know" that there can't be any more.
Well, yes VMB (in the ROM) does it and then produces the bitmap which describes the available memory in the RPB to the boot process all the way through to the OS.
When I added extended memory support to the simh VAX 3900 simulator, I discovered that the ROM VMB knows about the absolute memory limits and how to probe memory on that platform. It also knows about maximum expected memory AND it also performs other memory initialization tasks. One of these is to initialize the Qbus scatter/gather map. As it turns out, this map is provided by using 32KB of RAM at a constant physical address. The bitmap produced by VMB does two things: 1) it marks the Qbus Map region as not available memory, and 2) it uses RAM immediately before the map to contain the available memory bitmap. The location of the physical memory used for the Qbus map is derived from the maximum RAM the original hardware could have. When simulated system RAM exceeds the original 64MB limit, there wasn't room at the original bitmap location to describe more memory. To support extended memory size the ROM VMB had to be patched in numerous places to build the available R