freebsd-dev/sys/arm64/include
Kyle Evans 89c52f9d59 arm64: add KASAN support
This entails:
- Marking some obvious candidates for __nosanitizeaddress
- Similar trap frame markings as amd64, for similar reasons
- Shadow map implementation

The shadow map implementation is roughly similar to what was done on
amd64, with some exceptions.  Attempting to use available space at
preinit_map_va + PMAP_PREINIT_MAPPING_SIZE (up to the end of that range,
as depicted in the physmap) results in odd failures, so we instead
search the physmap for free regions that we can carve out, fragmenting
the shadow map as necessary to try and fit as much as we need for the
initial kernel map.  pmap_bootstrap_san() is thus after
pmap_bootstrap(), which still included some technically reserved areas
of the memory map that needed to be included in the DMAP.

The odd failure noted above may be a bug, but I haven't investigated it
all that much.

Initial work by mhorne with additional fixes from kevans and markj.

Reviewed by:	andrew, markj
Sponsored by:	Juniper Networks, Inc.
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D36701
2023-03-23 16:34:33 -05:00
..
_align.h
_bus.h
_inttypes.h
_limits.h
_stdint.h arm64: Fix sig_atomic_t limit definitions 2023-03-22 16:22:21 +00:00
_types.h
acpica_machdep.h
armreg.h Mark the arm64 PSR register fields with UL 2023-03-23 18:56:26 +00:00
asan.h arm64: add KASAN support 2023-03-23 16:34:33 -05:00
asm.h
atomic.h arm64: add KASAN support 2023-03-23 16:34:33 -05:00
bus_dma_impl.h bus_dma: Deduplicate locking helper functions. 2022-01-05 13:50:40 -08:00
bus_dma.h
bus.h arm64: bus: provide bus_space_set_{multi,region}_stream definitions 2022-09-26 14:24:37 -05:00
clock.h
cmn600_reg.h Fix the SPDX-License-Identifier in CMN-600 files 2022-12-22 10:36:18 +00:00
counter.h Allocate arm64 per-CPU data in the correct domain 2021-10-11 10:36:50 +01:00
cpu.h Add CPU Ident for Qualcomm Kryo 400 (used in MS Dev Kit) 2023-01-18 21:04:49 +00:00
cpufunc.h Add an IDC only arm64 icache sync function 2022-08-25 12:17:28 +01:00
csan.h
db_machdep.h Remove unused registes from the arm pcb 2023-03-23 18:56:26 +00:00
debug_monitor.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
disassem.h
dump.h minidump: De-duplicate the progress bar 2021-09-29 16:42:21 -03:00
efi.h
elf.h arm, arm64: tweak hard-coded load addresses for PIE binaries 2022-10-25 19:00:44 +03:00
endian.h
exec.h
float.h
floatingpoint.h
fpu.h
frame.h arm64: add fault address to trapframe 2023-03-23 18:56:26 +00:00
gdb_machdep.h Remove unused registes from the arm pcb 2023-03-23 18:56:26 +00:00
hypervisor.h arm64: set FPEN if we're stuck with HCR_EL2.E2H 2023-02-28 16:16:14 -06:00
ieeefp.h
ifunc.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
in_cksum.h machine/in_cksum.h: don't include sys/cdefs.h 2022-04-18 21:02:19 +01:00
intr.h
iodev.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
iommu.h
kdb.h
machdep.h arm64: disable the physical timer for now if HCR_EL2.E2H is set 2023-03-03 11:02:34 -06:00
md_var.h Simplify swi for bus_dma. 2021-12-28 13:51:25 -08:00
memdev.h
metadata.h
minidump.h Make page size dynamic in libkvm for arm64 2022-03-15 09:52:15 +00:00
ofw_machdep.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
param.h arm64: add KASAN support 2023-03-23 16:34:33 -05:00
pcb.h Remove unused registes from the arm pcb 2023-03-23 18:56:26 +00:00
pci_cfgreg.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
pcpu_aux.h Allocate arm64 per-CPU data in the correct domain 2021-10-11 10:36:50 +01:00
pcpu.h Store mpidr as a 64-bit value on arm64 2022-08-31 11:48:31 +01:00
pmap.h arm64: add KASAN support 2023-03-23 16:34:33 -05:00
pmc_mdep.h Allocate event for DMC-620 and CMN-600 controllers PMU. Add events supported by DMC-620 and CMN-600 controllers PMU. 2022-06-26 21:52:26 +03:00
proc.h Move kstack_contains() and GET_STACK_USAGE() to MD machine/stack.h 2023-02-02 00:59:26 +02:00
procctl.h
profile.h Remove checks for __GNUCLIKE_ASM assuming it is always true. 2022-04-12 10:05:45 -07:00
psl.h
pte.h Disable promotion on pcpu memory on arm64 2022-08-16 15:41:24 +01:00
ptrace.h arm64: Implement cpu_ptrace(). 2022-10-27 23:25:56 +02:00
reg.h arm64: extend ESR/SPSR registers to 64b 2023-03-23 18:56:26 +00:00
reloc.h
resource.h
runq.h
setjmp.h
sf_buf.h
sigframe.h
signal.h
smp.h
stack.h kstack_contains(): account for struct pcb on stack 2023-02-02 00:59:27 +02:00
stdarg.h
sysarch.h
tls.h Add <machine/tls.h> header to hold MD constants and helpers for TLS. 2021-12-09 13:17:13 -08:00
trap.h
ucontext.h arm64: extend ESR/SPSR registers to 64b 2023-03-23 18:56:26 +00:00
undefined.h
vdso.h
vfp.h Split out vfp_new_thread 2022-06-29 15:15:43 +01:00
vm.h Switch the arm64 VM_MEMATTR_DEVICE to nGnRE 2023-03-16 16:45:42 +00:00
vmparam.h arm64: add KASAN support 2023-03-23 16:34:33 -05:00