https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205458

Nathan Whitehorn <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|New                         |In Progress
                 CC|                            |[email protected]

--- Comment #4 from Nathan Whitehorn <[email protected]> ---
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 starts;
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 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 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 with
this. I think it should be safe to wrap this in an #ifdef __powerpc64__.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to