opnsense-src/sys/arm64/include
Alex Richardson 9bb8a4091c Reduce code duplication in machine/_types.h
Many of these typedefs are the same across all architectures or can
be set based on an architecture-independent compiler-provided macro
(e.g. __SIZEOF_SIZE_T__). These macros have been available since GCC 4.6
and Clang sometime before 3.0 (godbolt.org does not have any older clang
versions installed).

I originally considered using the compiler-provided `__FOO_TYPE__` directly.
However, in order to do so we have to check that those match the previous
typedef exactly (not just that they have the same size) since any change
would be an ABI break. For example, changing `long` to `long long` results
in different C++ name mangling. Additionally, Clang and GCC disagree on
the underlying type for some of (u)int*_fast_t types, so this change
only moves the definitions that are identical across all architectures
and does not touch those types.

This de-deduplication will allow us to have a smaller diff downstream in
CheriBSD: we only have to only change the (u)intptr_t definition in
sys/_types.h in CheriBSD instead of having to change machine/_types.h for
all CHERI-enabled architectures (currently RISC-V, AArch64 and MIPS).

Reviewed By: imp, kib
Differential Revision: https://reviews.freebsd.org/D29895
2021-06-14 16:30:16 +01:00
..
_align.h
_bus.h Regularize my copyright notice 2019-12-04 16:56:11 +00:00
_inttypes.h
_limits.h
_stdint.h
_types.h Reduce code duplication in machine/_types.h 2021-06-14 16:30:16 +01:00
acpica_machdep.h arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
armreg.h arm64: extend struct db_reg to include watchpoint registers 2021-02-17 12:05:00 -04:00
asm.h Handle functions that use a nop in the arm64 fbt 2021-03-03 14:18:03 +00:00
atomic.h Rename _cscan_atomic.h and _cscan_bus.h to atomic_san.h and bus_san.h 2021-03-08 12:39:06 -05:00
bus.h Add a way to map arm64 non-posted device memory 2021-05-01 06:01:20 +00:00
bus_dma.h Allow loading the same DMA address multiple times without any prior 2019-05-16 17:41:16 +00:00
bus_dma_impl.h o Add the domain member to the struct bus_dma_tag_common as required by 2020-10-27 15:29:53 +00:00
clock.h Bring in the start of the arm64 kernel. 2015-04-13 14:43:10 +00:00
counter.h Centralize __pcpu definitions. 2019-08-29 07:25:27 +00:00
cpu.h arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
cpufunc.h Support creating and using arm64 pmap at stage 2 2020-05-27 08:00:38 +00:00
csan.h arm64: Improve DDB backtrace support 2021-02-01 14:15:57 +00:00
db_machdep.h arm64: add definition for IS_SSTEP_TRAP() 2021-03-01 10:04:23 -04:00
debug_monitor.h Move the struct debug_monitor_state out of _KERNEL. 2019-11-03 22:17:49 +00:00
disassem.h Framework for ARM64 instruction disassembler 2016-01-29 13:06:30 +00:00
dump.h Bring in the start of the arm64 kernel. 2015-04-13 14:43:10 +00:00
efi.h smbios: support getting address from EFI 2021-04-07 14:46:29 -05:00
elf.h arm64: fix incorrect HWCAP definitions 2020-09-08 15:08:20 +00:00
endian.h Consolidate machine/endian.h definitions 2021-03-26 19:00:22 -03:00
exec.h
float.h Rationalize BSD license on sys/*/include/float.h 2015-08-05 17:05:35 +00:00
floatingpoint.h add floatingpoint.h for arm64 2015-06-24 14:51:53 +00:00
fpu.h Add machine/fpu.h on arm64 for compatibility with amd64. 2017-10-10 13:02:58 +00:00
frame.h Impleent COMPAT_FREEBSD32 for arm64. 2019-01-13 19:49:46 +00:00
gdb_machdep.h gdb: report specific stop reason for watchpoints 2021-03-30 11:36:41 -03:00
hypervisor.h Update the hypervisor registers 2020-03-06 14:46:50 +00:00
ieeefp.h arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
ifunc.h Remove resolver_qual from DEFINE_IFUNC/DEFINE_UIFUNC macros. 2019-05-16 22:20:54 +00:00
in_cksum.h Rationalize BSD license on sys/*/include/in_cksum.h 2015-08-05 19:05:12 +00:00
intr.h arm64: Increase NIRQ to 16k 2020-10-15 03:12:00 +00:00
iodev.h Add basic support for ACPI. It splits out the nexus driver to two new 2015-06-11 15:45:33 +00:00
iommu.h Introduce IOMMU support for arm64 platform. 2020-11-16 21:55:52 +00:00
kdb.h arm64: implement kdb watchpoint functions 2021-03-29 12:05:43 -03:00
machdep.h Use L2 blocks when in the identity map 2021-03-03 14:18:03 +00:00
md_var.h Replace the arm64 initial_fpcr with a macro 2021-03-23 17:12:43 +00:00
memdev.h Add the MEM_EXTRACT_PADDR ioctl to /dev/mem. 2020-09-02 18:12:47 +00:00
metadata.h loader.efi: Make framebuffer commands available for arm64 2017-10-25 18:55:04 +00:00
minidump.h Sparsify the vm_page_dump bitmap 2020-09-21 22:21:59 +00:00
ofw_machdep.h Make using the #address-cells property on the interrupt parent in device 2016-01-02 19:28:35 +00:00
param.h arm64: Stop setting VM_BCACHE_SIZE_MAX 2021-01-19 20:34:35 -05:00
pcb.h arm64: remove pcb_pc 2021-01-08 14:53:44 -04:00
pci_cfgreg.h Implement stubs for ACPI PCI routines 2015-07-12 17:28:31 +00:00
pcpu.h Remove PCPU_INC 2021-03-20 19:23:59 -07:00
pcpu_aux.h Centralize __pcpu definitions. 2019-08-29 07:25:27 +00:00
pmap.h Move IOMMU code to a separate pmap module and switch ARM System MMU 2021-04-27 19:16:09 +01:00
pmc_mdep.h [hwpmc] Fix call chain capture for ARM64 2020-10-22 05:07:25 +00:00
proc.h Get rid of sa->narg. It serves no purpose; use sa->callp->sy_narg instead. 2020-09-27 18:47:06 +00:00
procctl.h amd64 KPTI: add control from procctl(2). 2019-03-16 11:44:33 +00:00
profile.h arm64: fix uintfptr_t 2020-08-05 22:09:57 +00:00
psl.h Add support for arm64 to loader.efi and boot1.efi 2015-04-14 13:55:01 +00:00
pte.h Support creating and using arm64 pmap at stage 2 2020-05-27 08:00:38 +00:00
ptrace.h Add more arm64 machine dependent headers. With this we now have the minimum 2015-03-26 21:10:42 +00:00
reg.h arm64: extend struct db_reg to include watchpoint registers 2021-02-17 12:05:00 -04:00
reloc.h
resource.h Define PCI_RES_BUS for NEW_PCIB 2016-05-19 14:00:18 +00:00
runq.h
setjmp.h Move the stored signal mask later in the jump buf. It was being clobbered 2016-12-06 13:46:12 +00:00
sf_buf.h Bring in the start of the arm64 kernel. 2015-04-13 14:43:10 +00:00
sigframe.h Follow arm[32] and sparc64 KAPI and provide the FreeBSD standard spelling 2019-01-29 20:10:27 +00:00
signal.h
smp.h Rename COUNT_IPI to INTR_IPI_COUNT to reduce the diff with intrng. 2016-03-18 16:29:58 +00:00
stack.h arm64: Improve DDB backtrace support 2021-02-01 14:15:57 +00:00
stdarg.h Introduce an architecture-agnostic <sys/_stdarg.h> to reduce 2017-12-25 20:54:00 +00:00
sysarch.h Add more arm64 machine dependent headers. With this we now have the minimum 2015-03-26 21:10:42 +00:00
trap.h Bring in the start of the arm64 kernel. 2015-04-13 14:43:10 +00:00
ucontext.h arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
undefined.h Move ID reading signatures to a better header 2020-07-01 16:17:51 +00:00
vdso.h Add rudimentary support for building FreeBSD/arm64 with COMPAT_FREEBSD32. 2017-11-24 13:50:53 +00:00
vfp.h Replace the arm64 initial_fpcr with a macro 2021-03-23 17:12:43 +00:00
vm.h Add a way to map arm64 non-posted device memory 2021-05-01 06:01:20 +00:00
vmparam.h Clean up early arm64 pmap code 2021-05-24 09:22:19 +00:00