summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authoryokota <yokota@FreeBSD.org>1998-09-10 12:16:06 +0000
committeryokota <yokota@FreeBSD.org>1998-09-10 12:16:06 +0000
commit645b31eaf0f80a48e0303c8d01871b3473d15a6b (patch)
treed556f4cede5d57c14d3ba6746e2d80e9e3cf5b6a /sys
parentd13f591809cf241bbddc98b79ffeb19d0bdeaafc (diff)
downloadFreeBSD-src-645b31eaf0f80a48e0303c8d01871b3473d15a6b.zip
FreeBSD-src-645b31eaf0f80a48e0303c8d01871b3473d15a6b.tar.gz
Pass the correct argument to npxsave(), otherwise vm86pcb will be
overwritten.
Diffstat (limited to 'sys')
-rw-r--r--sys/i386/i386/vm86bios.s6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/i386/i386/vm86bios.s b/sys/i386/i386/vm86bios.s
index 61cd38c..34755a5 100644
--- a/sys/i386/i386/vm86bios.s
+++ b/sys/i386/i386/vm86bios.s
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: vm86bios.s,v 1.2 1998/03/24 16:51:36 jlemon Exp $
+ * $Id: vm86bios.s,v 1.3 1998/07/27 16:45:05 jlemon Exp $
*/
#include "opt_vm86.h"
@@ -78,10 +78,12 @@ ENTRY(vm86_bioscall)
#if NNPX > 0
cmpl %ecx,_npxproc /* do we need to save fp? */
jne 1f
+ pushl %edx
movl P_ADDR(%ecx),%ecx
addl $PCB_SAVEFPU,%ecx
- pushl %edx
+ pushl %ecx
call _npxsave
+ popl %ecx
popl %edx /* recover our pcb */
#endif
OpenPOWER on IntegriCloud