summaryrefslogtreecommitdiffstats
path: root/sys/x86
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2017-05-29 13:17:00 +0000
committerkib <kib@FreeBSD.org>2017-05-29 13:17:00 +0000
commit0bf386fbb2559e0d42ec9339380338a3dabd024a (patch)
tree07721955036c1b97ce614bf659e781cb69411494 /sys/x86
parenta8b78f2a29971b6fb72716fc181ec1553fd89fb3 (diff)
downloadFreeBSD-src-0bf386fbb2559e0d42ec9339380338a3dabd024a.zip
FreeBSD-src-0bf386fbb2559e0d42ec9339380338a3dabd024a.tar.gz
MFC r318318:
Ensure that resume path on amd64 only accesses page tables for normal operation after processor is configured to allow all required features.
Diffstat (limited to 'sys/x86')
-rw-r--r--sys/x86/acpica/acpi_wakeup.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/x86/acpica/acpi_wakeup.c b/sys/x86/acpica/acpi_wakeup.c
index 4a10ac7..74f4fed 100644
--- a/sys/x86/acpica/acpi_wakeup.c
+++ b/sys/x86/acpica/acpi_wakeup.c
@@ -223,7 +223,9 @@ acpi_sleep_machdep(struct acpi_softc *sc, int state)
WAKECODE_FIXUP(resume_beep, uint8_t, (acpi_resume_beep != 0));
WAKECODE_FIXUP(reset_video, uint8_t, (acpi_reset_video != 0));
-#ifndef __amd64__
+#ifdef __amd64__
+ WAKECODE_FIXUP(wakeup_efer, uint64_t, rdmsr(MSR_EFER));
+#else
WAKECODE_FIXUP(wakeup_cr4, register_t, pcb->pcb_cr4);
#endif
WAKECODE_FIXUP(wakeup_pcb, struct pcb *, pcb);
OpenPOWER on IntegriCloud