Re: Kernel uses only half of Mac IIci memory with built-in video
On 3/14/21 3:13 PM, Brad Boyer wrote:
> On Mon, Mar 15, 2021 at 08:28:37AM +1300, Michael Schmitz wrote:
>> I'm pretty sure this has never worked. Though there ought to be a way to
>> make use of RAM in bank 0 for video as long as the kernel is loaded at
>> address 0 in that bank. Or if that's not possible, use the same trick as I
>> do on Atari - ioremap some of the bank 0 memory for use by video, and make
>> sure the video driver uses a dedicated low memory pool allocator for that
>> ioremapped RAM.
> OK, I wasn't sure if it used to work. I own both a IIci and IIsi, but I
> never got Linux up and running on either. I bought both of them just
> about when I stopped having as much time to work on such things. ...
Thanks for your responses.
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.
With 16 MiB in each bank, using a Mac II video card and an Asante 10/100
Ethernet card, Linux sees all 32 MiB (I didn't test this combination
with 80 MiB or 128 MiB). Unfortunately, while the Asante 10/100 card
works fine in Mac OS, I couldn't find an appropriate Linux driver (I
think it used to use an SMC driver, but I couldn't find one in modern
kernels that works). And the RasterOps card is a better video card than
the Mac II (Toby) video card, though I think the RasterOps card may be
causing a "failed to turn off interrupts, booting anyway" message in
Penguin while booting Linux (possibly causing the memory issue?).
On a different IIci, with 64 MiB in each bank, using a Mac II video card
and a Farallon Ethermac II-C card, Linux sees all 128 MiB (with no
"failed to turn off interrupts..." message).
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)?
Does anyone know whether there's a way to have Penguin send a custom
list of free memory ranges to Linux?
If anyone wants to do any further testing, I'd be happy to help.