/[base]
ViewVC logotype

Revision 316367


Jump to revision: Previous Next
Author: jhibbits
Date: Sat Apr 1 18:52:48 2017 UTC (7 years, 3 months ago)
Changed paths: 2
Log Message:
MFC r314885:

  Fix booting with >4GB RAM on PowerMac G5 hardware

  ===
  From Nathan Whitehorn:

  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.

  ===

  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


Changed paths

Path Details
Directorystable/11/ modified , props changed
Directorystable/11/sys/powerpc/ofw/ofw_machdep.c modified , text changed

  ViewVC Help
Powered by ViewVC 1.1.27