[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



Hi Brad,

On Fri, Mar 12, 2021 at 2:46 AM Brad Boyer <flar@allandria.com> wrote:
> On Thu, Mar 11, 2021 at 11:39:41AM -0700, Stan Johnson wrote:
> > When booting modern kernels (4.x or 5.x) on a Mac IIci, the kernel sees
> > only half of installed memory if the built-in video is used.  Using a
> > Nubus video card, all of the installed memory is seen.  This may be a
> > Penguin issue, though it's not clear why the kernel is ignoring
> > available memory.  I'm documenting it here in case anyone has an idea
> > how to fix it.
>
> I'm not sure how to fix it, but I suspect this is changed due to the
> way some of the memory management code now works. With built-in video
> on an RBV model like the IIci, the video chip steals RAM out of the
> first bank (at physical address 0). That means the first bank isn't
> entirely usable for the kernel. With this in mind, it's both simpler
> and faster to put the kernel into the second bank. However, newer
> kernels can't cleanly handle adding the first bank (which has lower
> physical addresses) to usable memory after the second bank. I'm
> pretty sure that used to work. It's somewhat similar to the problem
> between the fast and slow RAM on the Atari systems.

Yes, we used to have that feature, but it was lost when switching to the
generic memory handling code shared by all architectures.
Two of the main differences between m68k platforms and the ia32 PC
platform are that (a) physical RAM doesn't always start at address
zero, and (b) physical RAM isn't always contiguous.  As supporting these
differences required non-linear mappings anyway, it was easy to support
rearranging blocks, too.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds


Reply to: