freebsd-skq/sys/x86/acpica
kib 1ff881a6a6 Fix resume on i386 PAE.
It was broken before PAE/no-PAE merge, but since now PAE is the
default, resume is apparently becomes for all machines.

The corrected issues:
- the trampoline page is not mapped executable, so machine faults when
  paging is on;
- MSR.EFER and %cr4 both should be loaded before paging is enabled,
  otherwise paging structures are invalid (cr4.PAE and EFER.NX).
- MSR.EFER and %cr4 should be only loaded if present.  I attempt to handle
  this by not touching the registers if the value is zero.

There are some more bits still not quite correct, e.g. unconditional
access to %cr4 in resumectx.

Reported and debugging help by:	bde
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2019-02-07 02:09:34 +00:00
..
acpi_apm.c
acpi_wakeup.c Fix resume on i386 PAE. 2019-02-07 02:09:34 +00:00
madt.c Dynamically allocate IRQ ranges on x86. 2018-08-28 21:09:19 +00:00
OsdEnvironment.c
srat.c acpica : move SRAT/SLIT parsing to sys/dev/acpica 2018-12-08 19:10:58 +00:00