Date: Tue, 07 Mar 2017 22:12:34 +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-jh2KnLVEZU@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 --- Comment #17 from commit-hook@freebsd.org --- A commit references this bug: Author: jhibbits Date: Tue Mar 7 22:11:58 UTC 2017 New revision: 314885 URL: https://svnweb.freebsd.org/changeset/base/314885 Log: Fix booting with >4GB RAM on PowerMac G5 hardware =3D=3D=3D From Nathan Whitehorn: Open Firmware runs in virtual mode on the Powermac G5. This runs inside t= he kernel page table, which preserves all address translations made by OF be= fore the kernel starts; as a result, the kernel address space is a strict supe= rset of OF's. Where this explodes is if OF uses an unmapped SLB entry. The SLB fault handler runs in real mode and refers to the PCPU pointer in SPRG0, which blows up= the kernel. Having a value of SPRG0 that works for the kernel is less fatal t= han preserving OF's value in this case. =3D=3D=3D The result of this is seemingly random panics from NULL dereferences, or hangs immediately upon boot. By not restoring SPRG0 for Open Firmware entry the kernel PCPU pointer is preserved and SLB faults are successful, resulting= in a stable kernel. PR: 205458 Reported by: several (over bugzilla, lists, IRC) Reviewed by: andreast Tested by: many (various forms) MFC after: 2 weeks Changes: head/sys/powerpc/ofw/ofw_machdep.c --=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-jh2KnLVEZU>