Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Sep 2002 22:05:18 -0700 (PDT)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 17830 for review
Message-ID:  <200209210505.g8L55IBJ034663@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://people.freebsd.org/~peter/p4db/chv.cgi?CH=17830

Change 17830 by peter@peter_daintree on 2002/09/20 22:04:40

	remove traces of GPRIV_SEL - we dont need this crud.  We can either
	use a pointer register, or use the hammer's swapgs stuff which has
	a flat 64 bit base arrangement that doesn't use segments.

Affected files ...

.. //depot/projects/hammer/sys/x86_64/x86_64/genassym.c#5 edit
.. //depot/projects/hammer/sys/x86_64/x86_64/machdep.c#13 edit

Differences ...

==== //depot/projects/hammer/sys/x86_64/x86_64/genassym.c#5 (text+ko) ====

@@ -187,7 +187,6 @@
 
 ASSYM(KCSEL, GSEL(GCODE_SEL, SEL_KPL));
 ASSYM(KDSEL, GSEL(GDATA_SEL, SEL_KPL));
-ASSYM(KPSEL, GSEL(GPRIV_SEL, SEL_KPL));
 
 ASSYM(GPROC0_SEL, GPROC0_SEL);
 

==== //depot/projects/hammer/sys/x86_64/x86_64/machdep.c#13 (text+ko) ====

@@ -1156,10 +1156,6 @@
 	 */
 	gdt_segs[GCODE_SEL].ssd_limit = atop(0 - 1);
 	gdt_segs[GDATA_SEL].ssd_limit = atop(0 - 1);
-	pc = &__pcpu;
-	gdt_segs[GPRIV_SEL].ssd_limit =
-		atop(sizeof(struct pcpu) - 1);
-	gdt_segs[GPRIV_SEL].ssd_base = (int) pc;
 	gdt_segs[GPROC0_SEL].ssd_base = (int) &pc->pc_common_tss;
 
 	for (x = 0; x < NGDT; x++)
@@ -1169,6 +1165,7 @@
 	r_gdt.rd_base =  (int) gdt;
 	lgdt(&r_gdt);
 
+	pc = &__pcpu;	
 	pcpu_init(pc, 0, sizeof(struct pcpu));
 	PCPU_SET(prvspace, pc);
 	PCPU_SET(curthread, &thread0);
@@ -1292,9 +1289,8 @@
 	dblfault_tss.tss_cr3 = (int)IdlePTD;
 	dblfault_tss.tss_eip = (int)dblfault_handler;
 	dblfault_tss.tss_eflags = PSL_KERNEL;
-	dblfault_tss.tss_ds = dblfault_tss.tss_es =
+	dblfault_tss.tss_ds = dblfault_tss.tss_es = dblfault_tss.tss_fs =
 	    dblfault_tss.tss_gs = GSEL(GDATA_SEL, SEL_KPL);
-	dblfault_tss.tss_fs = GSEL(GPRIV_SEL, SEL_KPL);
 	dblfault_tss.tss_cs = GSEL(GCODE_SEL, SEL_KPL);
 	dblfault_tss.tss_ldt = GSEL(GLDT_SEL, SEL_KPL);
 

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe p4-projects" in the body of the message




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