On 3/16/21 1:04 AM, Finn Thain wrote: > On Mon, 15 Mar 2021, Stan Johnson wrote: > >> >> The issue appears not to be limited to built-in video. With 16 MiB in >> Bank A (4 x 4 MiB), 64 MiB in Bank B (4 x 16 MiB), a RasterOps >> ColorBoard 264 in the Nubus slot nearest the PDS slot (which contains a >> 32K cache card), and a Farallon Ethernet card in the middle Nubus slot, >> Linux 4.1.167 sees only 64 MiB of memory, presumably all from Bank B. >> Mac OS 7.5.5 and 8.1 see 80 MiB, as does NetBSD 9.1. >> > > I would also try a recent mainline build. Here's a build with > CONFIG_FLATMEM=y. > > https://www.telegraphics.com.au/~fthain/build/linux-m68k-image-5.11.0-mac.tar.gz > https://www.telegraphics.com.au/~fthain/build/vmlinux-5.11.0-mac > > MD5 (linux-m68k-image-5.11.0-mac.tar.gz) = 43de77ea582f227723a858d121164992 > MD5 (vmlinux-5.11.0-mac) = 7846d66dc23b72eed8c1597c643615c1
This is getting complicated quickly, and some of my earlier conclusions were wrong. I have these two Mac IIci systems: System A: 128 MB (64 MB in each bank), Mac II Video Card, Farallon EtherMac II-C System B: 80 MB (16 MB in Bank A, 64 MB in Bank B), Mac II Video Card, Farallon EtherMac II-C When either System A or System B is using built-in video, Linux 4.14.167-mac-backport+ sees only the memory that is in Bank B. When System B uses a RasterOps video card, only the memory in Bank B is seen (even if the amount of memory in Banks A and B is the same). I'm not able to get System B to see all memory except when using the Mac II video card and with the same amount of memory in Banks A and B. Using the 5.11.0-mac kernel with CONFIG_FLATMEM=y, System B crashes, but System A works. With 16 MB in both Banks A and B, System B doesn't crash, either, and 5.11.0-mac sees all 32 MB (see attached serial console log for System B, first boot crashes with 80 MB, second boot works with 32 MB). So where 4.14.167-mac-backport+ saw only the memory in Bank B, 5.11.0-mac crashes (I didn't try 5.11.0-mac without the CONFIG_FLATMEM=y option). > ... > It would be interesting to see the list of RAM segments that Penguin > generates on these machines (you can get Penguin to log them without > starting the kernel). > >> Maybe Mac OS reserves memory from Bank A for video unless the ROM >> recognizes a known Apple video card (such as the Mac II video card)? > > Penguin on the 80 MB machine might work better if you swapped out the > RasterOps board in favour of a Mac II video board... it's probably worth > trying. > > Are these machines running the same version of Mac OS? Penguin has some > funky IIci video driver patching code that might be affected by ROM > version or MacOS version. ... Yes, both are running Mac OS 7.5.5. The attached Penguin output is for 5.11.0-mac from System B; Penguin-1.txt is with 80 MB (crashes), Penguin-2.txt is with 32 MB (16 MB in each Bank) (works). -Stan Johnson
maciici_5.11.0-mac.txt.xz
Description: Binary data
Logging started Tuesday, March 16, 2021 2:11:43 PM Penguin App version 19 Logical To Physical Mapping table (V2) Logical -> physical : length 0x00000000 -> 0x00000000 : 0x01000000 0x01000000 -> 0x04000000 : 0x04000000 System: 7.5.5 Gestalt ID: 11 (Mac IIci) CPU: 68030 FPU: 68882 Physical RAM: 80 MB Command line is 'root=/dev/sda5 console=tty0 earlyprintk' Kernel format: ELF The kernel will be located at physical 0x04001000 Kernel at logical address 0x36e144c Read 4897376 bytes for segment 0, requested 4897376 Read 127500 bytes for segment 1, requested 127500 Bootstrap's bootinfo version: 2.0 Kernel's bootinfo version : 2.0 Kernel entry physical is 0x4002000 Kernel segment 0 at 0x36e144c, size 5011544 Kernel segment 1 at 0x3ba944c, size 131072 Kernel size is 0x4e8000 boot_info is at 0x3bc944c boot_info size is dynamic Bootstrap logical 1: 0x00000000 Bootstrap physical : 0x00000000 Dump of bootinfo, version 2.0: BI_MACHTYPE = 0x3 BI_CPUTYPE = 0x2 BI_FPUTYPE = 0x2 BI_MMUTYPE = 0x2 BI_MEMCHUNK[0].addr = 0x04000000 BI_MEMCHUNK[0].size = 0x04000000 BI_MEMCHUNK[1].addr = 0x00000000 BI_MEMCHUNK[1].size = 0x01000000 BI_COMMAND_LINE = root=/dev/sda5 console=tty0 earlyprintk BI_MAC_MODEL = 0xb BI_MAC_VADDR = 0xfee00020 BI_MAC_VDEPTH = 0x1 BI_MAC_VROW = 0x80 BI_MAC_VDIM = 0x01e00280 BI_MAC_VLOGICAL = 0xfee00020 BI_MAC_SCCBASE = 0x50f04000 BI_MAC_BTIME = 0x6050bc9f BI_MAC_GMTBIAS = 0xfffffe5c BI_MAC_MEMSIZE = 0x50 BI_MAC_CPUID = 0x1 BI_MAC_ROMBASE = 0x40800000 Booting Linux (fasten seat belts, please)... Logging ended Tuesday, March 16, 2021 2:12:21 PM
Logging started Tuesday, March 16, 2021 2:04:10 PM Penguin App version 19 Logical To Physical Mapping table (V2) Logical -> physical : length 0x00000000 -> 0x00000000 : 0x01000000 0x01000000 -> 0x04000000 : 0x01000000 System: 7.5.5 Gestalt ID: 11 (Mac IIci) CPU: 68030 FPU: 68882 Physical RAM: 32 MB Command line is 'root=/dev/sda5 console=tty0 earlyprintk' Kernel format: ELF The kernel will be located at physical 0x00001000 Kernel at logical address 0x6e744c Read 4897376 bytes for segment 0, requested 4897376 Read 127500 bytes for segment 1, requested 127500 Bootstrap's bootinfo version: 2.0 Kernel's bootinfo version : 2.0 Kernel entry physical is 0x2000 Kernel segment 0 at 0x6e744c, size 5011544 Kernel segment 1 at 0xbaf44c, size 131072 Kernel size is 0x4e8000 boot_info is at 0xbcf44c boot_info size is dynamic Bootstrap logical 1: 0x00000000 Bootstrap physical : 0x00000000 Dump of bootinfo, version 2.0: BI_MACHTYPE = 0x3 BI_CPUTYPE = 0x2 BI_FPUTYPE = 0x2 BI_MMUTYPE = 0x2 BI_MEMCHUNK[0].addr = 0x00000000 BI_MEMCHUNK[0].size = 0x01000000 BI_MEMCHUNK[1].addr = 0x04000000 BI_MEMCHUNK[1].size = 0x01000000 BI_COMMAND_LINE = root=/dev/sda5 console=tty0 earlyprintk BI_MAC_MODEL = 0xb BI_MAC_VADDR = 0xfee00020 BI_MAC_VDEPTH = 0x1 BI_MAC_VROW = 0x80 BI_MAC_VDIM = 0x01e00280 BI_MAC_VLOGICAL = 0xfee00020 BI_MAC_SCCBASE = 0x50f04000 BI_MAC_BTIME = 0x6050bada BI_MAC_GMTBIAS = 0xfffffe5c BI_MAC_MEMSIZE = 0x20 BI_MAC_CPUID = 0x1 BI_MAC_ROMBASE = 0x40800000 Booting Linux (fasten seat belts, please)... Logging ended Tuesday, March 16, 2021 2:04:47 PM