1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-25 11:37:56 +00:00
freebsd/sys
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
..
amd64 Add 4Kn kernel dump support 2016-04-15 17:45:12 +00:00
arm Rename ARM_INTRNG and MIPS_INTRNG to INTRNG. This will help with machine 2016-04-15 16:05:41 +00:00
arm64 arm: for pointers replace 0 with NULL. 2016-04-15 14:30:40 +00:00
boot A new implementation of the loader block cache 2016-04-18 23:09:22 +00:00
bsm
cam Add the ability to read a SAS device's Target Port NAA designator 2016-04-18 15:01:59 +00:00
cddl Make the second argument of dtrace_invop() a trapframe pointer. 2016-04-17 23:08:47 +00:00
compat compat/linux: for pointers replace 0 with NULL. 2016-04-15 16:21:13 +00:00
conf Add CAM_NETFLIX_IOSCHED to the build. 2016-04-17 21:29:47 +00:00
contrib Use NULL instead of 0 for pointer comparison. 2016-04-15 03:43:16 +00:00
crypto
ddb ddb: for pointers replace 0 with NULL. 2016-04-15 17:27:20 +00:00
dev Fix SMP booting for PowerPC Book-E 2016-04-19 01:48:18 +00:00
fs fs misc: for pointers replace 0 with NULL. 2016-04-15 17:28:24 +00:00
gdb
geom g_gate: for pointers replace 0 with NULL. 2016-04-15 16:18:07 +00:00
gnu Import Mediatek/Ralink dts files from OpenWRT 2016-04-16 20:01:08 +00:00
i386 hyperv: Deprecate HYPERV option by moving Hyper-V IDT vector into vmbus 2016-04-15 02:20:18 +00:00
isa isa/pnp: for pointers replace 0 with NULL. 2016-04-14 17:20:35 +00:00
kern Use a loop instead of a goto in sysctl_kern_proc_kstack(). 2016-04-17 23:22:32 +00:00
kgssapi Cleanup unnecessary semicolons from the kernel. 2016-04-10 23:07:00 +00:00
libkern kern: for pointers replace 0 with NULL. 2016-04-15 16:10:11 +00:00
mips Allow RT3350 CPU clock to be detected as part of RT3050/RT3052 detection 2016-04-18 06:15:58 +00:00
modules MFH 2016-04-16 02:32:12 +00:00
net sys/net* : for pointers replace 0 with NULL. 2016-04-15 17:30:33 +00:00
net80211 [net80211] put in a comment about the not-quite-correctness of A-MPDU parameters. 2016-04-18 00:26:11 +00:00
netgraph sys/net* : for pointers replace 0 with NULL. 2016-04-15 17:30:33 +00:00
netinet Address issues found by the XCode code analyzer. 2016-04-18 20:16:41 +00:00
netinet6 Address issues found by the XCode code analyzer. 2016-04-18 20:16:41 +00:00
netipsec sys/net* : for pointers replace 0 with NULL. 2016-04-15 17:30:33 +00:00
netnatm
netpfil netpfil: for pointers replace 0 with NULL. 2016-04-15 12:24:01 +00:00
netsmb Cleanup unnecessary semicolons from the kernel. 2016-04-10 23:07:00 +00:00
nfs Do not try to install a default route for each interface found, because 2016-03-27 23:16:37 +00:00
nfsclient
nfsserver
nlm
ofed ofed: for pointers replace 0 with NULL. 2016-04-15 12:16:15 +00:00
opencrypto
pc98 Cleanup unnecessary semicolons from the kernel. 2016-04-10 23:07:00 +00:00
powerpc Fix SMP booting for PowerPC Book-E 2016-04-19 01:48:18 +00:00
riscv risc-v: for pointers replace 0 with NULL. 2016-04-14 17:25:50 +00:00
rpc RPC: for pointers replace 0 with NULL. 2016-04-14 17:06:37 +00:00
security audit(8): leave unsigned comparison for last. 2016-04-08 03:26:21 +00:00
sparc64 sparc64: for pointers replace 0 with NULL. 2016-04-15 12:17:34 +00:00
sys The struct thread td_estcpu member is only used by the 4BSD scheduler. 2016-04-17 11:04:27 +00:00
teken
tests
tools
ufs ufs: replace 0 with NULL for pointers. 2016-04-10 21:48:11 +00:00
vm Add more fine-grained kernel options for NUMA support. 2016-04-09 13:58:04 +00:00
x86 Add hw.dmar.batch_coalesce tunable/sysctl, which specifies rate at 2016-04-17 10:56:56 +00:00
xdr RPC: for pointers replace 0 with NULL. 2016-04-14 17:06:37 +00:00
xen
Makefile