Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Sep 2016 21:01:18 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ppc@FreeBSD.org
Subject:   [Bug 205458] 11.0-CURRENT/10-STABLE powerpc64: a PowerMac G5 specific sys/powerpc/ofw/ofw_machdep.c change for reliable PowerMac G5 booting (with lots of RAM)
Message-ID:  <bug-205458-21-NsBV6kNATO@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-205458-21@https.bugs.freebsd.org/bugzilla/>
References:  <bug-205458-21@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D205458

Nathan Whitehorn <nwhitehorn@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|New                         |In Progress
                 CC|                            |nwhitehorn@FreeBSD.org

--- Comment #4 from Nathan Whitehorn <nwhitehorn@FreeBSD.org> ---
I've finally understood why this patch does anything useful. Open Firmware =
runs
in virtual mode on the Powermac G5. This runs inside the kernel page table,
which preserves all address translations made by OF before the kernel start=
s;
as a result, the kernel address space is a strict superset of OF's.

Where this explodes is if OF uses an unmapped SLB entry. The SLB fault hand=
ler
runs in real mode and refers to the PCPU pointer in SPRG0, which blows up t=
he
kernel. Having a value of SPRG0 that works for the kernel is less fatal than
preserving OF's value in this case.

I believe that OF's SPRG0 is maintained only for compatibility with some G4
Apple hardware, the eMac in particular, but will check and we can move on w=
ith
this. I think it should be safe to wrap this in an #ifdef __powerpc64__.

--=20
You are receiving this mail because:
You are on the CC list for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-205458-21-NsBV6kNATO>