freebsd-skq/sys/powerpc/include
Justin Hibbits f60708c9f7 Fix SMP booting for PowerPC Book-E
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
2016-04-19 01:48:18 +00:00
..
_align.h
_bus.h
_inttypes.h
_limits.h
_stdint.h
_types.h Follow up to r287014 2015-08-22 07:27:06 +00:00
altivec.h
asm.h Provide support for ELFv2 userland if using a newer compiler (recent clang 2015-12-03 00:10:57 +00:00
atomic.h On PowerPC 64bit, the linux-compat mb() definition is implemented with 2015-11-24 09:13:21 +00:00
bat.h
bus_dma.h
bus.h Increase booke bus max address to 36-bits. 2016-03-18 01:30:58 +00:00
clock.h
counter.h
cpu.h Bring CPU features list in line with the ABI requirements. 2016-01-02 18:15:10 +00:00
cpufunc.h
db_machdep.h
dbdma.h
dump.h
elf.h
endian.h
exec.h
float.h Rationalize BSD license on sys/*/include/float.h 2015-08-05 17:05:35 +00:00
floatingpoint.h
fpu.h
frame.h The AIM DAR (data access fault address register) and Book-E DEAR registers 2015-03-04 21:06:57 +00:00
gdb_machdep.h
hid.h
ieee.h
ieeefp.h
in_cksum.h Rationalize BSD license on sys/*/include/in_cksum.h 2015-08-05 19:05:12 +00:00
intr_machdep.h Add support for the Freescale dTSEC DPAA-based ethernet controller. 2016-02-29 03:38:00 +00:00
kdb.h
limits.h
machdep.h
md_var.h Provide support for userland binaries using the new ELFv2 ABI. This is a 2015-11-23 17:07:51 +00:00
memdev.h
metadata.h
mmuvar.h
ofw_machdep.h Implement OF_decode_addr() for arm. Move most of powerpc's implementation 2015-12-21 18:07:32 +00:00
openpicreg.h
openpicvar.h
param.h Extend Book-E to support >4GB RAM 2015-12-24 04:30:15 +00:00
pcb.h Use setjmp() instead of the identical-except-for-having-a-wrong-prototype 2016-01-10 16:42:14 +00:00
pcpu.h Add two new pmap functions: 2015-08-04 19:46:13 +00:00
pio.h
platform.h Extend idle support for newer Book-E cores. 2016-01-01 02:47:40 +00:00
platformvar.h
pmap.h Implement pmap_change_attr() for PowerPC (Book-E only for now) 2016-02-27 20:39:36 +00:00
pmc_mdep.h Implement hwpmc(4) for Freescale e500 core. 2015-04-18 21:39:17 +00:00
proc.h
profile.h Provide support for userland binaries using the new ELFv2 ABI. This is a 2015-11-23 17:07:51 +00:00
psl.h
pte.h Fix a panic bug that cropped up in the PTE rewrite. 2016-02-16 02:13:55 +00:00
ptrace.h
reg.h Restore the ABI of 'struct fpreg' on powerpc. 2016-02-01 23:12:04 +00:00
reloc.h
resource.h
rtas.h
runq.h
sc_machdep.h
setjmp.h Use setjmp() instead of the identical-except-for-having-a-wrong-prototype 2016-01-10 16:42:14 +00:00
sigframe.h
signal.h
slb.h Deallocate any leftover page table entries in the LPAR at boot. This 2015-03-13 00:08:58 +00:00
smp.h
spr.h Print machine check address for Book-E. 2015-11-30 02:40:41 +00:00
sr.h
stack.h
stdarg.h
sysarch.h
tlb.h Fix SMP booting for PowerPC Book-E 2016-04-19 01:48:18 +00:00
trap.h Add more interrupts handled for booke. 2015-12-11 01:23:18 +00:00
ucontext.h POSIX states that #include <signal.h> shall make both mcontext_t and 2016-02-12 07:38:19 +00:00
varargs.h
vdso.h
vm.h
vmparam.h Restructure device mappings for Book-E. 2016-04-10 15:48:09 +00:00