opnsense-src/sys/amd64
John Baldwin 2329393c61 amd64: Use __seg_gs to implement per-CPU data accesses.
This makes use of the alternate address space support in both GCC and
clang to access per-CPU data as accesses relative to GS:.  The
original motivation for this is that it quiets verbose warnings from
GCC 12.  However, this version is also much easier to read and
allows the compiler to generate better code (e.g. the compiler can
use a GS: memory operand directly in other instructions such as IMUL
and CMP rather than always MOVing to a temporary register).

The one caveat is that the current approach is very inefficient at -O0
since the compiler expects to load the 0 base offset from a global
variable instead of assuming it is 0 (even with the const).

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D40647
2023-07-07 13:06:55 -07:00
..
acpica spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
amd64 amd64 pmap: Tidy up pmap_promote_pde() calls 2023-06-24 13:09:04 -05:00
conf qlnxe: add driver to amd64 NOTES 2023-07-01 11:06:59 -06:00
ia32 spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
include amd64: Use __seg_gs to implement per-CPU data accesses. 2023-07-07 13:06:55 -07:00
linux Regenerate sysent stuff after $FreeBSD$ removal 2023-06-09 07:28:27 -06:00
linux32 Regenerate sysent stuff after $FreeBSD$ removal 2023-06-09 07:28:27 -06:00
pci spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
sgx sgx: Remove unused variable. 2022-04-07 17:01:28 -07:00
vmm vmm: Avoid embedding cpuset_t ioctl ABIs 2023-05-23 21:15:59 -04:00
Makefile Bring the tags and links entries for amd64 up to date. 2021-09-27 20:04:51 -07:00