On Fri, Jan 17, 2020 at 08:53:39PM -0800, Greg A. Woods wrote: > At Thu, 9 Jan 2020 01:19:39 +0100, Joerg Sonnenberger <[email protected]> wrote: > Subject: Re: unable to boot amd64-uefi-install from USB stick on a MacBook2,1 > > > > On Wed, Jan 08, 2020 at 04:08:40PM -0800, Greg A. Woods wrote: > > > However in searching related things I just came across a reminder about > > > memory issues on this particular model of MacBook2,1. It originally > > > shipped with 2x1GB memory modules. At some point I upgraded it to 2x2GB > > > modules. Under MacOS it only uses 3GB for some reason (though the > > > hardware info clearly shows 4GB installed). > > > > Try building a kernel with PHYSMEM_MAX_ADDR=3096 in that case? > > Thank you for the suggestion -- I was trying to remember what to twiddle > to do this, though I had not yet looked at a config file for an example. > > So, between bouts of shovelling snow off the driveway I tried the above, > and with 2048, as well as (separately) PHYSMEM_MAX_SIZE=2048. > > All with no difference from a plain kernel -- the machine still hangs > hard immediately after clearing the screen. > > If I were to post images or a transcription of the output of, for > example, the EFI shell's "memmap" or other such commands, would that be > of any help to anyone who might be able to diagnose this further? > > For example it does seem to be a firmware and/or hardware limitation > that the machine only makes available 3GB of the 4GB installed. > "memmap" says (in part) "reserved: 4,384 Pages (17,956,864)" and > "available: 770,146 Pages (3,154,518,016)" and "Total Memory: 3,054 MB > (3,203,006,464) Bytes", for example.
On x86 memory mapped IO was put into a window somewhere between 3-3.5GB and 4GB in terms of physical addresses, so that a 32bit operating system can still access all devices without requiring 64bit DMA and using PAE. That is still ignoring limitations of individual DMA engines of specific PCI devices. I wouldn't be surprised if the hardware simply doesn't properly deal with more than 3GB RAM and runs into various limits. The PHYSMEM_MAX_SIZE would have helped if there are unknown limits beyond that point, but it might also be a problem of MMIO still using the fourth GB incorrectly. Difficult to say or analyze and generally, not a very good use of time. Do you by chance still have the original 1GB module? Might be easiest to just use the 3GB directly. Joerg
