diff options
author | jkim <jkim@FreeBSD.org> | 2010-11-23 16:12:35 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2010-11-23 16:12:35 +0000 |
commit | f7107036f83abb9f2e1630b64514a0bdd1073b62 (patch) | |
tree | 1097aa6257ca7d5a45f326f59fe0dc3104d6574b /sys/amd64/acpica/acpi_wakeup.c | |
parent | 89c3fe1b1508684aa023a875bc977a7adb695e0d (diff) | |
download | FreeBSD-src-f7107036f83abb9f2e1630b64514a0bdd1073b62.zip FreeBSD-src-f7107036f83abb9f2e1630b64514a0bdd1073b62.tar.gz |
Reinitialize PAT MSR via pmap_init_pat() while resuming. This function does
better job since r215703 and it is safer now.
Diffstat (limited to 'sys/amd64/acpica/acpi_wakeup.c')
-rw-r--r-- | sys/amd64/acpica/acpi_wakeup.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/amd64/acpica/acpi_wakeup.c b/sys/amd64/acpica/acpi_wakeup.c index c25d802..57341c9 100644 --- a/sys/amd64/acpica/acpi_wakeup.c +++ b/sys/amd64/acpica/acpi_wakeup.c @@ -278,6 +278,7 @@ acpi_sleep_machdep(struct acpi_softc *sc, int state) for (;;) ia32_pause(); } else { + pmap_init_pat(); PCPU_SET(switchtime, 0); PCPU_SET(switchticks, ticks); #ifdef SMP @@ -372,7 +373,6 @@ acpi_install_wakeup_handler(struct acpi_softc *sc) WAKECODE_FIXUP(wakeup_ctx, vm_offset_t, WAKECODE_VADDR(sc) + wakeup_ctx); WAKECODE_FIXUP(wakeup_efer, uint64_t, rdmsr(MSR_EFER)); - WAKECODE_FIXUP(wakeup_pat, uint64_t, rdmsr(MSR_PAT)); WAKECODE_FIXUP(wakeup_star, uint64_t, rdmsr(MSR_STAR)); WAKECODE_FIXUP(wakeup_lstar, uint64_t, rdmsr(MSR_LSTAR)); WAKECODE_FIXUP(wakeup_cstar, uint64_t, rdmsr(MSR_CSTAR)); |