Page MenuHomeFreeBSD

Add ePAPR boot support for PowerPC book-E (MPC85xx) hardware
ClosedPublic

Authored by jhibbits on Aug 13 2016, 3:41 PM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 20 2023, 12:47 AM
Unknown Object (File)
Nov 12 2023, 12:35 AM
Unknown Object (File)
Nov 11 2023, 7:34 PM
Unknown Object (File)
Nov 7 2023, 1:05 PM
Unknown Object (File)
Oct 10 2023, 11:31 PM
Unknown Object (File)
Oct 10 2023, 6:32 PM
Unknown Object (File)
Oct 6 2023, 12:00 PM
Unknown Object (File)
Sep 18 2023, 12:52 PM
Subscribers

Details

Summary

u-boot, following the ePAPR specification, puts secondary cores into a
spinloop at boot, rather than leaving them shut off. It then relies on the host
OS to write the correct values to a special spin table, located in coherent
memory (on newer implementations), or noncoherent memory (older
implementations).

This supports both implementations of ePAPR, as well as continuing to support
non-ePAPR booting, by first attempting to use the spintable, and falling back to
expecting non-started CPUs.

Test Plan

Booted on a P5020 board. Tested before and after the changes.
Before the changes, prints the error "SMP: CPU 1 already out of hold-off state!"
and panics shortly thereafter. After the changes, same boot method lets it
complete boot.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 4779
Build 4833: arc lint + arc unit

Event Timeline

jhibbits retitled this revision from to Add ePAPR boot support for PowerPC book-E (MPC85xx) hardware.
jhibbits updated this object.
jhibbits edited the test plan for this revision. (Show Details)
jhibbits added reviewers: PowerPC, nwhitehorn.
nwhitehorn edited edge metadata.

Looks good! Nice work

This revision is now accepted and ready to land.Aug 13 2016, 3:43 PM
This revision was automatically updated to reflect the committed changes.