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
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to