f60708c9f7
Summary: PowerPC Book-E SMP is currently broken for unknown reasons. Pull in Semihalf changes made c2012 for e500mc/e5500, which enables booting SMP. This eliminates the shared software TLB1 table, replacing it with tlb1_read_entry() function. This does not yet support ePAPR SMP booting, and doesn't handle resetting CPUs already released (ePAPR boot releases APs to a spin loop waiting on a specific address). This will be addressed in the near future by using the MPIC to reset the AP into our own alternate boot address. This does include a change to the dpaa/dtsec(4) driver, to mark the portals as CPU-private. Test Plan: Tested on Amiga X5000/20 (P5020). Boots, prints the following messages: Adding CPU 0, pir=0, awake=1 Waking up CPU 1 (dev=1) Adding CPU 1, pir=20, awake=1 SMP: AP CPU #1 launched top(1) shows CPU1 active. Obtained from: Semihalf Relnotes: Yes Differential Revision: https://reviews.freebsd.org/D5945 |
||
---|---|---|
.. | ||
bman_fdt.c | ||
bman_portals.c | ||
bman.c | ||
bman.h | ||
dpaa.c | ||
fman_fdt.c | ||
fman.c | ||
fman.h | ||
if_dtsec_fdt.c | ||
if_dtsec_im.c | ||
if_dtsec_im.h | ||
if_dtsec_rm.c | ||
if_dtsec_rm.h | ||
if_dtsec.c | ||
if_dtsec.h | ||
portals_common.c | ||
portals.h | ||
qman_fdt.c | ||
qman_portals.c | ||
qman.c | ||
qman.h |