opnsense-src/sys/amd64/amd64
Mark Johnston 81302f1d77 Fix boot on systems where NUMA domain 0 is unpopulated.
- Add vm_phys_early_add_seg(), complementing vm_phys_early_alloc(), to
  ensure that segments registered during hammer_time() are placed in the
  right domain.  Otherwise, since the SRAT is not parsed at that point,
  we just add them to domain 0, which may be incorrect and results in a
  domain with only several MB worth of memory.
- Fix uma_startup1() to try allocating memory for zones from any domain.
  If domain 0 is unpopulated, the allocation will simply fail, resulting
  in a page fault slightly later during boot.
- Change _vm_phys_domain() to return -1 for addresses not covered by the
  affinity table, and change vm_phys_early_alloc() to handle wildcard
  domains.  This is necessary on amd64, where the page array is dense
  and pmap_page_array_startup() may allocate page table pages for
  non-existent page frames.

Reported and tested by:	Rafael Kitover <rkitover@gmail.com>
Reviewed by:	cem (earlier version), kib
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D25001
2020-05-28 19:41:00 +00:00
..
apic_vector.S Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
atpic_vector.S Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
bios.c sys/amd64: further adoption of SPDX licensing ID tags. 2017-11-27 15:03:07 +00:00
bpf_jit_machdep.c Make UMA and malloc(9) return non-executable memory in most cases. 2018-06-13 17:04:41 +00:00
bpf_jit_machdep.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
copyout.c Port the NetBSD KCSAN runtime to FreeBSD. 2019-11-21 11:22:08 +00:00
cpu_switch.S amd64: Add a knob to flush RSB on context switches if machine has SMEP. 2020-05-20 22:00:31 +00:00
db_disasm.c ddb: Add support for disassembling 'crc32' on amd64 2019-10-16 18:27:27 +00:00
db_interface.c amd64: move common_tss into pcpu. 2019-11-10 09:28:18 +00:00
db_trace.c teach db_nextframe/x86 about [X]xen_intr_upcall interrupt handler 2019-11-12 11:00:01 +00:00
efirt_machdep.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
efirt_support.S amd64 ef_rt_arch_call: Preserve %rflags around call into EFI RT service. 2019-06-03 15:32:42 +00:00
elf_machdep.c [PowerPC][Book-E] Fix missing load base in elf_cpu_parse_dynamic(). 2020-03-18 02:58:18 +00:00
exception.S amd64: in double fault handler, do not rely on sane gsbase value. 2019-11-20 11:12:19 +00:00
fpu.c vmm: pass M_WAITOK to uma_zalloc when allocating FPU save area 2019-11-08 16:30:55 +00:00
gdb_machdep.c Provide KPI for handling of rw/ro kernel text. 2018-03-20 17:43:50 +00:00
genassym.c amd64: move common_tss into pcpu. 2019-11-10 09:28:18 +00:00
in_cksum.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
initcpu.c amd64: Add a knob to flush RSB on context switches if machine has SMEP. 2020-05-20 22:00:31 +00:00
io.c sys/amd64: further adoption of SPDX licensing ID tags. 2017-11-27 15:03:07 +00:00
locore.S Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
machdep.c Fix boot on systems where NUMA domain 0 is unpopulated. 2020-05-28 19:41:00 +00:00
mem.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
minidump_machdep.c Remove an obsolete TODO comment from several minidump implementations. 2020-04-24 18:47:42 +00:00
mp_machdep.c Fix the build after r361033 when ACPI is disabled. 2020-05-22 01:18:55 +00:00
mpboot.S x86: improve reservation of AP trampoline memory 2018-04-05 14:39:51 +00:00
pmap.c Fix boot on systems where NUMA domain 0 is unpopulated. 2020-05-28 19:41:00 +00:00
prof_machdep.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
ptrace_machdep.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
sigtramp.S Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
support.S copystr(9): Move to deprecate (attempt #2) 2020-05-25 16:40:48 +00:00
sys_machdep.c Fix map locking in the CLEAR_PKRU sysarch(2) handler. 2020-02-05 16:09:02 +00:00
trap.c Retire procfs-based process debugging. 2020-04-01 19:22:09 +00:00
uio_machdep.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
uma_machdep.c Use vm_page_unwire_noq() instead of directly modifying page wire counts. 2018-02-08 19:28:51 +00:00
vm_machdep.c Retire procfs-based process debugging. 2020-04-01 19:22:09 +00:00
xen-locore.S xen-locore: fix size in GDT descriptor 2020-05-26 10:24:06 +00:00