freebsd-dev/sys/x86/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
..
xen xen: move x86-specific xen_vector_callback_enabled to sys/x86 2021-03-15 14:20:21 +01:00
_align.h
_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 x86: clean up empty lines in .c and .h files 2020-09-01 21:23:59 +00:00
apicreg.h x86: clean up empty lines in .c and .h files 2020-09-01 21:23:59 +00:00
apicvar.h x86: clean up empty lines in .c and .h files 2020-09-01 21:23:59 +00:00
apm_bios.h x86: clean up empty lines in .c and .h files 2020-09-01 21:23:59 +00:00
bus_dma.h x86: clean up empty lines in .c and .h files 2020-09-01 21:23:59 +00:00
bus.h Generalize bus_space(9) and atomic(9) sanitizer interceptors 2021-03-22 22:21:53 -04:00
busdma_impl.h
cputypes.h Add support for Hygon Dhyana Family 18h processor. 2020-01-21 13:22:35 +00:00
dump.h
elf.h x86: clean up empty lines in .c and .h files 2020-09-01 21:23:59 +00:00
endian.h Consolidate machine/endian.h definitions 2021-03-26 19:00:22 -03:00
fdt.h
float.h
fpu.h
frame.h
ifunc.h
init.h x86/xen: remove PVHv1 code 2021-05-17 11:41:21 +02:00
intr_machdep.h
iommu.h o Add machine/iommu.h and include MD iommu headers from it, 2020-08-05 19:11:31 +00:00
legacyvar.h
mca.h
metadata.h stand/multiboot: adjust the protocol between loader and kernel 2021-01-29 15:23:26 +01:00
mptable.h
ofw_machdep.h
pci_cfgreg.h
procctl.h Add amd64 procctl(2) ops to manage forced LA48/LA57 VA after exec. 2020-08-23 20:32:13 +00:00
psl.h
ptrace.h
pvclock.h
reg.h Reduce code duplication in machine/_types.h 2021-06-14 16:30:16 +01:00
segments.h
setjmp.h
sigframe.h
signal.h
specialreg.h Limit workaround for errata E400 to appropriate AMD cpus. 2020-10-14 22:57:50 +00:00
stack.h Reimplement stack capture of running threads on i386 and amd64. 2020-01-31 15:43:33 +00:00
stdarg.h
sysarch.h
trap.h
ucode.h
ucontext.h
vdso.h
vmware.h
x86_smp.h Allow swi_sched() to be called from NMI context. 2020-07-25 15:19:38 +00:00
x86_var.h x86: add x86_clear_dbregs() helper 2021-04-10 04:25:01 +03:00