Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Aug 2010 09:56:43 +0000 (UTC)
From:      Tijl Coosemans <tijl@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org
Subject:   svn commit: r210840 - stable/7/sys/amd64/amd64
Message-ID:  <201008040956.o749uhG9032997@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tijl
Date: Wed Aug  4 09:56:43 2010
New Revision: 210840
URL: http://svn.freebsd.org/changeset/base/210840

Log:
  MFC r209955:
  
  When switching the thread from the processor, store %dr7 content
  into the pcb before disabling watchpoints. Otherwise, when the
  thread is restored on a processor, watchpoints are still disabled.
  
  Approved by:	kib (mentor)

Modified:
  stable/7/sys/amd64/amd64/cpu_switch.S
Directory Properties:
  stable/7/sys/   (props changed)
  stable/7/sys/cddl/contrib/opensolaris/   (props changed)
  stable/7/sys/contrib/dev/acpica/   (props changed)
  stable/7/sys/contrib/pf/   (props changed)

Modified: stable/7/sys/amd64/amd64/cpu_switch.S
==============================================================================
--- stable/7/sys/amd64/amd64/cpu_switch.S	Wed Aug  4 07:49:40 2010	(r210839)
+++ stable/7/sys/amd64/amd64/cpu_switch.S	Wed Aug  4 09:56:43 2010	(r210840)
@@ -296,13 +296,13 @@ store_dr:
 	movq	%dr2,%r13
 	movq	%dr3,%r12
 	movq	%dr6,%r11
-	andq	$0x0000fc00, %rax		/* disable all watchpoints */
 	movq	%r15,PCB_DR0(%r8)
 	movq	%r14,PCB_DR1(%r8)
 	movq	%r13,PCB_DR2(%r8)
 	movq	%r12,PCB_DR3(%r8)
 	movq	%r11,PCB_DR6(%r8)
 	movq	%rax,PCB_DR7(%r8)
+	andq	$0x0000fc00, %rax		/* disable all watchpoints */
 	movq	%rax,%dr7
 	jmp	done_store_dr
 



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