Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Apr 2005 13:02:54 GMT
From:      David Xu <davidxu@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 75319 for review
Message-ID:  <200504161302.j3GD2svq068777@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=75319

Change 75319 by davidxu@davidxu_tiger on 2005/04/16 13:02:52

	Only need to update %gs.

Affected files ...

.. //depot/projects/davidxu_thread/src/sys/i386/i386/vm_machdep.c#8 edit

Differences ...

==== //depot/projects/davidxu_thread/src/sys/i386/i386/vm_machdep.c#8 (text+ko) ====

@@ -471,7 +471,7 @@
 
 void
 cpu_set_user_tls(struct thread *td, void *tls_base, size_t tls_size,
-	int tls_seg)
+	int tls_seg __unused)
 {
 	struct segment_descriptor sd;
 	uint32_t base;
@@ -494,19 +494,11 @@
 	sd.sd_def32 = 1;
 	sd.sd_gran  = 1;
 	mtx_lock_spin(&sched_lock);
-	if (tls_seg == 0) {
-		/* set %gs */
-		td->td_pcb->pcb_gsd = sd;
-		if (td == curthread) {
-			PCPU_GET(fsgs_gdt)[1] = sd;
-			load_gs(GSEL(GUGS_SEL, SEL_UPL));
-		}
-	} else {
-		/* set %fs */
-		td->td_pcb->pcb_fsd = sd;
-		if (td == curthread)
-			PCPU_GET(fsgs_gdt)[0] = sd;
-		td->td_frame->tf_fs = GSEL(GUFS_SEL, SEL_UPL);
+	/* current only uses %gs */
+	td->td_pcb->pcb_gsd = sd;
+	if (td == curthread) {
+		PCPU_GET(fsgs_gdt)[1] = sd;
+		load_gs(GSEL(GUGS_SEL, SEL_UPL));
 	}
 	mtx_unlock_spin(&sched_lock);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200504161302.j3GD2svq068777>