Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Nov 2010 21:39:12 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r215904 - in stable/8/sys/amd64: acpica amd64
Message-ID:  <201011262139.oAQLdCGW082796@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201011262139.oAQLdCGW082796>