freebsd-nq/sys/powerpc/include
Konstantin Belousov a2a0f90654 Centralize __pcpu definitions.
Many extern struct pcpu <something>__pcpu declarations were
copied/pasted in sources.  The issue is that the definition is MD, but
it cannot be provided by machine/pcpu.h due to actual struct pcpu
defined in sys/pcpu.h later than the inclusion of machine/pcpu.h.
This forced the copying when other code needed direct access to
__pcpu.  There is no way around it, due to machine/pcpu.h supplying
part of struct pcpu fields.

To work around the problem, add a new machine/pcpu_aux.h header, which
should fill any needed MD definitions after struct pcpu definition is
completed. This allows to remove copies of __pcpu spread around the
source.  Also on x86 it makes it possible to remove work arounds like
OFFSETOF_CURTHREAD or clang specific warnings supressions.

Reported and tested by:	lwhsu, bcran
Reviewed by:	imp, markj (previous version)
Discussed with:	jhb
Sponsored by:	The FreeBSD Foundation
Differential revision:	https://reviews.freebsd.org/D21418
2019-08-29 07:25:27 +00:00
..
_align.h
_bus.h
_inttypes.h
_limits.h
_stdint.h
_types.h Do not include float interfaces when using libsa. 2018-02-23 04:04:25 +00:00
altivec.h
asm.h
atomic.h Implement atomic_swap_xxx() for all platforms. 2018-12-10 13:38:13 +00:00
bat.h
bus_dma.h
bus.h
clock.h
counter.h Centralize __pcpu definitions. 2019-08-29 07:25:27 +00:00
cpu.h powerpc: Add another feature2 flag, and update power9 definition 2019-04-26 02:30:03 +00:00
cpufunc.h powerpc: Adjust priority NOPs, and make them functions 2019-04-12 00:53:30 +00:00
db_machdep.h Fix PPC symbol resolution 2018-05-10 03:59:48 +00:00
dbdma.h
dump.h
efi.h
elf.h Consolidate identical ELF auxargs type defintions. 2018-10-22 22:24:32 +00:00
endian.h
exec.h
float.h
floatingpoint.h
fpu.h Added ptrace support for reading/writing powerpc VSX registers 2018-06-02 19:17:11 +00:00
frame.h
gdb_machdep.h amd64: Protect the kernel text, data, and BSS by setting the RW/NX bits 2018-03-06 14:28:37 +00:00
hid.h On POWER9 clear the HID0_RADIX before enabling the page tables 2018-05-26 04:33:19 +00:00
ieee.h
ieeefp.h Fix floating point exception definitions for powerpcspe 2018-07-24 22:04:56 +00:00
in_cksum.h
intr_machdep.h Add NUMA support to powerpc 2019-04-13 04:03:18 +00:00
kdb.h Expose stopped cpu contexts to ddb on PowerPC 2018-06-25 22:05:33 +00:00
limits.h
machdep.h
md_var.h Break out the cpu_features setup to its own function, to be run earlier 2018-05-05 15:48:39 +00:00
memdev.h
metadata.h
mmuvar.h powerpc: Remove now-obsolete P9H MMU name 2019-03-29 02:11:48 +00:00
ofw_machdep.h Add NUMA support to powerpc 2019-04-13 04:03:18 +00:00
openpicreg.h
openpicvar.h powerpc: Bind IRQs to only one interrupt on QorIQ SoCs 2019-02-06 03:52:14 +00:00
param.h powerpc: Link Book-E kernels at the same address as AIM kernels 2019-08-20 01:26:02 +00:00
pcb.h powerpc: Add support for additional FSCR-managed facilities 2019-04-27 22:30:22 +00:00
pcpu_aux.h Centralize __pcpu definitions. 2019-08-29 07:25:27 +00:00
pcpu.h powerpc64: Add initial support for HTM (kABI) 2018-09-06 17:07:21 +00:00
pio.h
platform.h Add NUMA support to powerpc 2019-04-13 04:03:18 +00:00
platformvar.h
pmap.h Move phys_avail definition into MI code. It is consumed in the MI layer and 2019-08-16 00:45:14 +00:00
pmc_mdep.h
proc.h Fix style and clarify comment 2019-08-12 19:44:57 +00:00
procctl.h amd64 KPTI: add control from procctl(2). 2019-03-16 11:44:33 +00:00
profile.h
psl.h Change the default MSR values used when starting userland and kernel 2018-02-01 05:31:24 +00:00
pte.h powerpc: Merge all pmap struct definitions 2019-05-04 02:34:28 +00:00
ptrace.h Added ptrace support for reading/writing powerpc VSX registers 2018-06-02 19:17:11 +00:00
reg.h Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
reloc.h
resource.h
rtas.h
runq.h
sc_machdep.h
setjmp.h
sigframe.h
signal.h
slb.h powerpc/pmap: Move the SLB spill handlers to a better place 2019-06-08 03:07:08 +00:00
smp.h Add NUMA support to powerpc 2019-04-13 04:03:18 +00:00
spr.h powerpc: Add support for additional FSCR-managed facilities 2019-04-27 22:30:22 +00:00
sr.h Move the powerpc64 direct map base address from zero to high memory. This 2018-03-07 17:08:07 +00:00
stack.h
stdarg.h Use standard pattern for stdargs.h 2018-02-12 14:48:05 +00:00
sysarch.h
tlb.h powerpc/booke: Turn tlb*_print_tlbentries() into 'show tlb*' DDB commands 2018-10-22 00:21:27 +00:00
trap.h powerpc/booke: Handle misaligned floating point loads/stores as on AIM 2019-06-26 01:14:39 +00:00
ucontext.h
vdso.h
vm.h
vmparam.h powerpc: Link Book-E kernels at the same address as AIM kernels 2019-08-20 01:26:02 +00:00