[prev in list] [next in list] [prev in thread] [next in thread]
List: freebsd-ppc
Subject: Re: head -r365932 on PowerMac G5 (2 dual-core sockets): Crashes before login prompt if powerd is ena
From: Mark Millard via freebsd-ppc <freebsd-ppc () freebsd ! org>
Date: 2020-09-27 20:44:29
Message-ID: 7DC3081D-8B19-476A-990F-4DFD7003672C () yahoo ! com
[Download RAW message or body]
On 2020-Sep-23, at 09:09, Brandon Bergren <bdragon@FreeBSD.org> wrote:
> On Wed, Sep 23, 2020, at 3:58 AM, Mark Millard wrote:
> > On 2020-Sep-23, at 00:04, Brandon Bergren <bdragon at FreeBSD.org> wrote:
> >
> > > . . .
> > >
> > > Are you making sure to use the "dev /memory@0 100000 1000 do-unmap" trick on \
> > > 4.8.7f1 devices?
> >
> > I know nothing about that and have never had to do such a thing
> > historically. I've never had to identify "4.8.7f1 devices".
>
> There is a bug in some versions of the PowerMac BootROM where a memory page at \
> 0x100000 would remain mapped without being properly listed in the mmu properties \
> (likely due to the way Open Firmware was initialized) that breaks bootloaders that \
> touch that page.
> It is known to be a thing on at least 4.8.7f1 BootROM, but may also affect other \
> versions. You can see the BootROM version on the OpenFirmware screen when the \
> machine turns on.
> On affected devices, the bug can be permanently repaired using nvedit to execute \
> the workaround automatically, or it can be typed in by hand every time.
> This is described on https://wiki.freebsd.org/powerpc
In case it is related: in ofwfdt_fixups my environment uses:
offset = fdt_path_offset(fdtp, "/rtas");
if (offset > 0) {
. . .
} else {
#if 0
// Without the /memory0/available information the example
// MPC750 iMac G3 PowerMac4,1 crashes shortly after booting
// --from trashed memory contents from use of RAM that was
// not excluded when available was being deleted.
//
// My guess is that openfirmware may also report to
// avoid address ranges for which other things in the
// environment are the cause, not just openfirmware's
// internal memory use.
//
// So do not do the following . . .
/*
* Remove /memory/available properties, which reflect long-gone
* OF state. Note that this doesn't work if we need RTAS still,
* since that's part of the firmware.
*/
offset = fdt_path_offset(fdtp, "/memory@0");
if (offset<=0) offset= fdt_path_offset(fdtp, "/memory@0,0"); // G5's
if (offset > 0)
fdt_delprop(fdtp, offset, "available");
#endif
}
The // G5's line is also mine.
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
_______________________________________________
freebsd-ppc@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ppc
To unsubscribe, send any mail to "freebsd-ppc-unsubscribe@freebsd.org"
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic