changeset 11519:830c5c1800bc

Save fs before calling vm86, this might eleminate bugs (if there were any) in cooperation of using vesa with win32 dlls. Patch by Peter Kosinar <goober@ksp.sk>
author alex
date Mon, 24 Nov 2003 22:39:03 +0000
parents 49de4a85957f
children dd17c00dff68
files osdep/lrmi.c
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/osdep/lrmi.c	Mon Nov 24 21:45:46 2003 +0000
+++ b/osdep/lrmi.c	Mon Nov 24 22:39:03 2003 +0000
@@ -794,14 +794,16 @@
 	{
 	unsigned int vret;
 	sigset_t allsigs, cursigs;
-	unsigned long oldgs;
+	unsigned long oldgs, oldfs;
 
 	while (1)
 		{
 		sigfillset(&allsigs);
 	        sigprocmask(SIG_SETMASK, &allsigs, &cursigs);
 		asm volatile ("movl %%gs, %0" : "=g" (oldgs));
+		asm volatile ("movl %%fs, %0" : "=g" (oldfs));
 		vret = lrmi_vm86(&context.vm);
+		asm volatile ("movl %0, %%fs" :: "g" (oldfs));
 		asm volatile ("movl %0, %%gs" :: "g" (oldgs));
 		sigprocmask(SIG_SETMASK, &cursigs, NULL);