freebsd-dev/sys/amd64
Konstantin Belousov 1947b29861 amd64: Streamline exceptions and interrupts handlers.
PTI-mode entry points were coded to set up the environment identical
to non-PTI entry and then fall-through to non-PTI handlers, mostly.
This has the drawback of requiring two more SWAPGS, first to access
PCPU, and then to return to the state expected by the non-PTI entry
point.

Eliminate the duplication by doing more in entry stubs both for PTI
and non-PTI, and adjusting the common code to expect that SWAPGS and
some minimal registers saving is done by entries.

Some less often used entries, in particular, #GP, #NP, and #SS, which
can fault on doreti, are left as is because there are basically four
variants of entrance, and they are not performance-critical,
esp. comparing with e.g. #PF or interrupts.

Reviewed by:	markj (previous version)
Tested by:	pho (previous version)
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2019-08-03 17:07:04 +00:00
..
acpica Merge ACPICA 20190329. 2019-03-29 20:21:28 +00:00
amd64 amd64: Streamline exceptions and interrupts handlers. 2019-08-03 17:07:04 +00:00
cloudabi32 Remove sv_pagesize, originally introduced with r100384. 2019-03-01 16:16:38 +00:00
cloudabi64 Remove sv_pagesize, originally introduced with r100384. 2019-03-01 16:16:38 +00:00
conf Remove gzip'ed a.out support. 2019-07-30 05:13:16 +00:00
ia32 Don't pass error from syscallenter() to syscallret(). 2019-07-15 21:25:16 +00:00
include amd64: Streamline exceptions and interrupts handlers. 2019-08-03 17:07:04 +00:00
linux linuxulator: rename linux_locore.s to .asm 2019-07-30 17:18:31 +00:00
linux32 linuxulator: rename linux_locore.s to .asm 2019-07-30 17:18:31 +00:00
pci pci_cfgreg.c: Use io port config access for early boot time. 2019-04-09 18:07:17 +00:00
sgx Add a return value to vm_page_remove(). 2019-06-26 17:37:51 +00:00
vmm bhyve: Ignore MSI/MSI-X interrupts sent to non-active vCPUs in 2019-08-03 16:57:14 +00:00
Makefile Bring the tags and links entries for amd64 up to date. 2015-10-27 22:59:24 +00:00