Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jul 2010 17:00:41 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r210617 - head/sys/i386/i386
Message-ID:  <201007291700.o6TH0ftm000411@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Thu Jul 29 17:00:41 2010
New Revision: 210617
URL: http://svn.freebsd.org/changeset/base/210617

Log:
  MFamd64:	r210615
  
  Fix another fallout from r208833.  savectx() is used to save CPU context
  for crash dump (dumppcb) and kdb (stoppcbs).  For both cases, we cannot
  have a valid pointer in pcb_save.  This should restore the previous
  behaviour.

Modified:
  head/sys/i386/i386/genassym.c
  head/sys/i386/i386/swtch.s

Modified: head/sys/i386/i386/genassym.c
==============================================================================
--- head/sys/i386/i386/genassym.c	Thu Jul 29 16:55:27 2010	(r210616)
+++ head/sys/i386/i386/genassym.c	Thu Jul 29 17:00:41 2010	(r210617)
@@ -137,6 +137,7 @@ ASSYM(PCB_DR2, offsetof(struct pcb, pcb_
 ASSYM(PCB_DR3, offsetof(struct pcb, pcb_dr3));
 ASSYM(PCB_DR6, offsetof(struct pcb, pcb_dr6));
 ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7));
+ASSYM(PCB_USERFPU, offsetof(struct pcb, pcb_user_save));
 ASSYM(PCB_PSL, offsetof(struct pcb, pcb_psl));
 ASSYM(PCB_DBREGS, PCB_DBREGS);
 ASSYM(PCB_EXT, offsetof(struct pcb, pcb_ext));

Modified: head/sys/i386/i386/swtch.s
==============================================================================
--- head/sys/i386/i386/swtch.s	Thu Jul 29 16:55:27 2010	(r210616)
+++ head/sys/i386/i386/swtch.s	Thu Jul 29 17:00:41 2010	(r210617)
@@ -416,7 +416,7 @@ ENTRY(savectx)
 	popl	%ecx
 
 	pushl	$PCB_SAVEFPU_SIZE
-	movl	PCB_SAVEFPU(%ecx),%ecx
+	leal	PCB_USERFPU(%ecx),%ecx
 	pushl	%ecx
 	pushl	%eax
 	call	bcopy



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