freebsd-skq/sys/powerpc/include
jhibbits 7061ad58c2 Add NUMA support to powerpc
Summary:
Initial NUMA support:
    - associate CPU with domain
    - associate memory ranges with domain
    - identify domain for devices
    - limit device interrupt binding to appropriate domain

- Additionally fixes a bug in the setting of Maxmem which led to
  only memory attached to the first socket being enabled for DMA

A pmap variant can opt in to numa support by by calling `numa_mem_regions`
at the end of pmap_bootstrap - registering the corresponding ranges with the
VM.

This yields a ~20% improvement in build times of llvm on dual socket POWER9
over non-NUMA.

Original patch by mmacy.

Differential Revision: https://reviews.freebsd.org/D17933
2019-04-13 04:03:18 +00:00
..
_align.h spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
_bus.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
_inttypes.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
_limits.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_stdint.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_types.h Do not include float interfaces when using libsa. 2018-02-23 04:04:25 +00:00
altivec.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
asm.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
atomic.h Implement atomic_swap_xxx() for all platforms. 2018-12-10 13:38:13 +00:00
bat.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
bus_dma.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
bus.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
clock.h
counter.h Back pcpu zone with domain correct pages 2018-07-06 02:06:03 +00:00
cpu.h Add a KPI for the delay while spinning on a spin lock. 2018-11-05 21:34:17 +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 sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
dump.h
efi.h
elf.h Consolidate identical ELF auxargs type defintions. 2018-10-22 22:24:32 +00:00
endian.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
exec.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
float.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
floatingpoint.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
fpu.h Added ptrace support for reading/writing powerpc VSX registers 2018-06-02 19:17:11 +00:00
frame.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
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 sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ieeefp.h Fix floating point exception definitions for powerpcspe 2018-07-24 22:04:56 +00:00
in_cksum.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
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 sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
machdep.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
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 sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
metadata.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
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 sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
openpicvar.h powerpc: Bind IRQs to only one interrupt on QorIQ SoCs 2019-02-06 03:52:14 +00:00
param.h Add NUMA support to powerpc 2019-04-13 04:03:18 +00:00
pcb.h powerpc: Sync icache on SIGILL, in case of cache issues 2018-11-19 23:54:49 +00:00
pcpu.h powerpc64: Add initial support for HTM (kABI) 2018-09-06 17:07:21 +00:00
pio.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
platform.h Add NUMA support to powerpc 2019-04-13 04:03:18 +00:00
platformvar.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
pmap.h Add kernel support for Intel userspace protection keys feature on 2019-02-20 09:51:13 +00:00
pmc_mdep.h
proc.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
procctl.h amd64 KPTI: add control from procctl(2). 2019-03-16 11:44:33 +00:00
profile.h SPDX: Consider code from Carnegie-Mellon University. 2017-11-30 15:48:35 +00:00
psl.h Change the default MSR values used when starting userland and kernel 2018-02-01 05:31:24 +00:00
pte.h Add support for powernv POWER9 MMU initialization 2018-05-05 16:00:02 +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 sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
resource.h
rtas.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
runq.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
sc_machdep.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
setjmp.h
sigframe.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
signal.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
slb.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
smp.h Add NUMA support to powerpc 2019-04-13 04:03:18 +00:00
spr.h powerpc64: Increase the nap level on power9 idling 2019-04-12 00:44:33 +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 sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
tlb.h powerpc/booke: Turn tlb*_print_tlbentries() into 'show tlb*' DDB commands 2018-10-22 00:21:27 +00:00
trap.h powerpc: Allow emulating optional FPU instructions on CPUs with an FPU 2019-04-03 04:01:08 +00:00
ucontext.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
vdso.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
vm.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
vmparam.h powerpc/booke: Change KERNBASE to be physical load address 2018-12-13 05:07:39 +00:00