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>