Totally cromulent patch! It is informed by this comment I wrote just about 30 YEARS ago:/*
* The 3/80 is the only member of the sun3x family that has non-contiguous
* physical memory. Memory is divided into 4 banks which are physically
* locatable on the system board. Although the size of these banks varies
* with the size of memory they contain, their base addresses are
* permanently fixed. The following structure, which describes these
* banks, is initialized by pmap_bootstrap() after it reads from a similar
* structure provided by the ROM Monitor.
*
* For the other machines in the sun3x architecture which do have contiguous
* RAM, this list will have only one entry, which will describe the entire
* range of available memory.
*/ I think this explains why the reporter only saw 16 MB out of 64 MB available.
-J
On May 26, 2026, at 14:58, Jason Thorpe <thorpej%me.com@localhost> wrote:
On May 26, 2026, at 5:55 PM, Jason Thorpe <thorpej%me.com@localhost> wrote:
On May 26, 2026, at 10:30 AM, Jason Thorpe <thorpej%me.com@localhost> wrote:
On May 26, 2026, at 10:04 AM, Jason Thorpe <thorpej%me.com@localhost> wrote:
This is almost certainly my fault. I’ll take a look later this week. (Alas, I don’t have a 3/80 to test on, nor do I know if any 3/80 emulators.)
Ok, “later this week” turned into “later this morning”, and I see the problem. Stay tuned.
Ok, it *should* be fixed by this. Please let me know if that’s not the case:
Sorry, I forgot to say - that’s rev v 1.130 of pmap.c. <quote> Module Name: src Committed By: thorpej Date: Tue May 26 21:52:29 UTC 2026
Modified Files: src/sys/arch/sun3/sun3x: pmap.c
Log Message: pmap_bootstrap(): Fix an error intrduced in rev 1.127 - ensure pmap_membank points to the first element in the array after building up the linked list. </quote>
-- thorpej
-- thorpej
|