svn commit: r210617 - head/sys/i386/i386

Jung-uk Kim jkim at FreeBSD.org
Thu Jul 29 17:00:42 UTC 2010


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


More information about the svn-src-all mailing list