[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Kernel uses only half of Mac IIci memory with built-in video



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

Attachment: 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

Reply to: