freebsd-src/sys/x86
Roger Pau Monné e7e2431586 x86/xen: fix migration when ACPI suspend is not available
Xen PVH guests expose a very minimal set of ACPI tables, and due to the lack of
SCI interrupt FreeBSD doesn't allocate the suspend stacks for saving CPU and
FPU contexts.

Lack of allocated stacks would lead to a page-fault in cpususpend_handler() when
CPUs attempted to use the save context area as a result of a Xen suspend
request.  However there's no need to save the CPU or the FPU registers in the
Xen case, as that's all handled by the hypervisor.  Hence avoid saving all this
state if the suspend stacks are not allocated.

Note that this will currently only apply to PVH guests, HVM ones will still get
the stack allocated and the context saved even when not strictly required.  I
find it easier rather that having to provide cpususpend_handler() with extra
information whether the context needs to be saved or not.

Sponsored by: Cloud Software Group
Reviewed by: markj
Differential revision: https://reviews.freebsd.org/D43765
2024-02-16 14:16:18 +01:00
..
acpica acpi/apm: Improve APM ioctl interface emulation 2024-01-10 17:05:00 -07:00
bios sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
conf sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
cpufreq sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
include x86/ucode: add const where appropriate 2024-02-13 08:18:06 -08:00
iommu DMAR: add knob to disable RMRR entries installation into domains 2023-12-26 03:28:22 +02:00
isa atrtc: Add a required include 2023-12-28 15:17:32 -05:00
linux linux(4): Remove sys/cdefs.h inclusion under x86/linux due to 685dc743 2023-08-18 15:58:32 +03:00
pci x86: Use pci_domain_[de]activate_bus for PCI_RES_BUS resources 2024-01-23 09:35:47 -08:00
x86 x86/xen: fix migration when ACPI suspend is not available 2024-02-16 14:16:18 +01:00
xen x86/xen: fix HVM guest hypercall page setup 2024-01-16 18:50:54 +01:00