Browse Source

Plan 9 from Bell Labs 2008-07-11

David du Colombier 12 years ago
parent
commit
04848fe225
4 changed files with 14 additions and 7 deletions
  1. 1 1
      dist/replica/_plan9.db
  2. 1 1
      dist/replica/plan9.db
  3. 1 0
      dist/replica/plan9.log
  4. 11 5
      sys/src/9/pc/trap.c

+ 1 - 1
dist/replica/_plan9.db

@@ -8196,7 +8196,7 @@ sys/src/9/pc/sdiahci.c - 664 sys sys 1213134393 39005
 sys/src/9/pc/sdmv50xx.c - 664 sys sys 1204232564 34031
 sys/src/9/pc/sdmylex.c - 664 sys sys 1189229947 28395
 sys/src/9/pc/sdscsi.c - 664 sys sys 1186618532 7957
-sys/src/9/pc/trap.c - 664 sys sys 1197062171 21897
+sys/src/9/pc/trap.c - 664 sys sys 1215712014 22027
 sys/src/9/pc/uartaxp.c - 664 sys sys 1207419955 18931
 sys/src/9/pc/uartaxp.i - 664 sys sys 1155243528 111326
 sys/src/9/pc/uarti8250.c - 664 sys sys 1177676872 13957

+ 1 - 1
dist/replica/plan9.db

@@ -8196,7 +8196,7 @@ sys/src/9/pc/sdiahci.c - 664 sys sys 1213134393 39005
 sys/src/9/pc/sdmv50xx.c - 664 sys sys 1204232564 34031
 sys/src/9/pc/sdmylex.c - 664 sys sys 1189229947 28395
 sys/src/9/pc/sdscsi.c - 664 sys sys 1186618532 7957
-sys/src/9/pc/trap.c - 664 sys sys 1197062171 21897
+sys/src/9/pc/trap.c - 664 sys sys 1215712014 22027
 sys/src/9/pc/uartaxp.c - 664 sys sys 1207419955 18931
 sys/src/9/pc/uartaxp.i - 664 sys sys 1155243528 111326
 sys/src/9/pc/uarti8250.c - 664 sys sys 1177676872 13957

+ 1 - 0
dist/replica/plan9.log

@@ -20044,3 +20044,4 @@
 1215545404 0 c 386/bin/aux/vmware - 775 sys sys 1215545344 532
 1215621004 0 c sys/src/cmd/du.c - 664 sys sys 1215620597 5427
 1215635404 0 c 386/bin/du - 775 sys sys 1215633035 76279
+1215712804 0 c sys/src/9/pc/trap.c - 664 sys sys 1215712014 22027

+ 11 - 5
sys/src/9/pc/trap.c

@@ -968,16 +968,22 @@ userpc(void)
 void
 setregisters(Ureg* ureg, char* pureg, char* uva, int n)
 {
-	ulong flags;
-	ulong cs;
-	ulong ss;
+	ulong cs, ds, es, flags, fs, gs, ss;
 
+	ss = ureg->ss;
 	flags = ureg->flags;
 	cs = ureg->cs;
-	ss = ureg->ss;
+	ds = ureg->ds;
+	es = ureg->es;
+	fs = ureg->fs;
+	gs = ureg->gs;
 	memmove(pureg, uva, n);
-	ureg->flags = (ureg->flags & 0x00FF) | (flags & 0xFF00);
+	ureg->gs = gs;
+	ureg->fs = fs;
+	ureg->es = es;
+	ureg->ds = ds;
 	ureg->cs = cs;
+	ureg->flags = (ureg->flags & 0x00FF) | (flags & 0xFF00);
 	ureg->ss = ss;
 }