Author: bde
Date: Sun Jun 10 14:21:01 2018
New Revision: 334924
URL: https://svnweb.freebsd.org/changeset/base/334924

Log:
  Fix panics in potentially all x86bios calls on i386 since r332489.
  
  A call to npxsave() in the exception trampolines was not relocated.
  This call to a garbage address usually paniced when made, but it is only
  made when the thread has used an FPU recently, and this is not the usual
  case.
  
  PR:           228755
  Reviewed by:  kib

Modified:
  head/sys/i386/i386/vm86bios.s

Modified: head/sys/i386/i386/vm86bios.s
==============================================================================
--- head/sys/i386/i386/vm86bios.s       Sun Jun 10 10:23:31 2018        
(r334923)
+++ head/sys/i386/i386/vm86bios.s       Sun Jun 10 14:21:01 2018        
(r334924)
@@ -67,7 +67,8 @@ ENTRY(vm86_bioscall)
        pushl   %edx
        movl    TD_PCB(%ecx),%ecx
        pushl   PCB_SAVEFPU(%ecx)
-       call    npxsave
+       movl    $npxsave,%eax
+       call    *%eax
        addl    $4,%esp
        popl    %edx                    /* recover our pcb */
 1:
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to