svn commit: r215904 - in stable/8/sys/amd64: acpica amd64
Jung-uk Kim
jkim at FreeBSD.org
Fri Nov 26 21:39:12 UTC 2010
Author: jkim
Date: Fri Nov 26 21:39:11 2010
New Revision: 215904
URL: http://svn.freebsd.org/changeset/base/215904
Log:
MFC: r215753
Reinitialize PAT MSR via pmap_init_pat() while resuming.
Modified:
stable/8/sys/amd64/acpica/acpi_switch.S
stable/8/sys/amd64/acpica/acpi_wakecode.S
stable/8/sys/amd64/acpica/acpi_wakeup.c
stable/8/sys/amd64/amd64/mp_machdep.c
Directory Properties:
stable/8/sys/ (props changed)
stable/8/sys/amd64/include/xen/ (props changed)
stable/8/sys/cddl/contrib/opensolaris/ (props changed)
stable/8/sys/contrib/dev/acpica/ (props changed)
stable/8/sys/contrib/pf/ (props changed)
Modified: stable/8/sys/amd64/acpica/acpi_switch.S
==============================================================================
--- stable/8/sys/amd64/acpica/acpi_switch.S Fri Nov 26 21:36:38 2010 (r215903)
+++ stable/8/sys/amd64/acpica/acpi_switch.S Fri Nov 26 21:39:11 2010 (r215904)
@@ -76,12 +76,6 @@ ENTRY(acpi_restorecpu)
movl WAKEUP_CTX(efer), %eax
wrmsr
- /* Restore PAT. */
- movl $MSR_PAT, %ecx
- movl WAKEUP_CTX(pat), %eax
- movl 4 + WAKEUP_CTX(pat), %edx
- wrmsr
-
/* Restore fast syscall stuff. */
movl $MSR_STAR, %ecx
movl WAKEUP_CTX(star), %eax
Modified: stable/8/sys/amd64/acpica/acpi_wakecode.S
==============================================================================
--- stable/8/sys/amd64/acpica/acpi_wakecode.S Fri Nov 26 21:36:38 2010 (r215903)
+++ stable/8/sys/amd64/acpica/acpi_wakecode.S Fri Nov 26 21:39:11 2010 (r215904)
@@ -274,8 +274,6 @@ wakeup_gdt:
ALIGN_DATA
wakeup_efer:
.quad 0
-wakeup_pat:
- .quad 0
wakeup_star:
.quad 0
wakeup_lstar:
Modified: stable/8/sys/amd64/acpica/acpi_wakeup.c
==============================================================================
--- stable/8/sys/amd64/acpica/acpi_wakeup.c Fri Nov 26 21:36:38 2010 (r215903)
+++ stable/8/sys/amd64/acpica/acpi_wakeup.c Fri Nov 26 21:39:11 2010 (r215904)
@@ -278,6 +278,7 @@ acpi_sleep_machdep(struct acpi_softc *sc
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_
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));
Modified: stable/8/sys/amd64/amd64/mp_machdep.c
==============================================================================
--- stable/8/sys/amd64/amd64/mp_machdep.c Fri Nov 26 21:36:38 2010 (r215903)
+++ stable/8/sys/amd64/amd64/mp_machdep.c Fri Nov 26 21:39:11 2010 (r215904)
@@ -1328,6 +1328,7 @@ cpususpend_handler(void)
wbinvd();
atomic_set_int(&stopped_cpus, cpumask);
} else {
+ pmap_init_pat();
PCPU_SET(switchtime, 0);
PCPU_SET(switchticks, ticks);
}
More information about the svn-src-stable
mailing list