[Midnightbsd-cvs] src [9406] trunk/sys/amd64: Retire write-only PCB-GS32BIT pcb flag on amd64.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sat Mar 4 16:38:04 EST 2017


Revision: 9406
          http://svnweb.midnightbsd.org/src/?rev=9406
Author:   laffer1
Date:     2017-03-04 16:38:04 -0500 (Sat, 04 Mar 2017)
Log Message:
-----------
Retire write-only PCB-GS32BIT pcb flag on amd64.

Modified Paths:
--------------
    trunk/sys/amd64/amd64/genassym.c
    trunk/sys/amd64/amd64/machdep.c
    trunk/sys/amd64/ia32/ia32_signal.c
    trunk/sys/amd64/include/pcb.h
    trunk/sys/amd64/linux32/linux32_machdep.c
    trunk/sys/amd64/linux32/linux32_sysvec.c

Modified: trunk/sys/amd64/amd64/genassym.c
===================================================================
--- trunk/sys/amd64/amd64/genassym.c	2017-03-04 21:36:44 UTC (rev 9405)
+++ trunk/sys/amd64/amd64/genassym.c	2017-03-04 21:38:04 UTC (rev 9406)
@@ -160,7 +160,6 @@
 ASSYM(PCB_SIZE, sizeof(struct pcb));
 ASSYM(PCB_FULL_IRET, PCB_FULL_IRET);
 ASSYM(PCB_DBREGS, PCB_DBREGS);
-ASSYM(PCB_GS32BIT, PCB_GS32BIT);
 ASSYM(PCB_32BIT, PCB_32BIT);
 
 ASSYM(COMMON_TSS_RSP0, offsetof(struct amd64tss, tss_rsp0));

Modified: trunk/sys/amd64/amd64/machdep.c
===================================================================
--- trunk/sys/amd64/amd64/machdep.c	2017-03-04 21:36:44 UTC (rev 9405)
+++ trunk/sys/amd64/amd64/machdep.c	2017-03-04 21:38:04 UTC (rev 9406)
@@ -939,7 +939,7 @@
 	
 	pcb->pcb_fsbase = 0;
 	pcb->pcb_gsbase = 0;
-	clear_pcb_flags(pcb, PCB_32BIT | PCB_GS32BIT);
+	clear_pcb_flags(pcb, PCB_32BIT);
 	pcb->pcb_initial_fpucw = __INITIAL_FPUCW__;
 	set_pcb_flags(pcb, PCB_FULL_IRET);
 

Modified: trunk/sys/amd64/ia32/ia32_signal.c
===================================================================
--- trunk/sys/amd64/ia32/ia32_signal.c	2017-03-04 21:36:44 UTC (rev 9405)
+++ trunk/sys/amd64/ia32/ia32_signal.c	2017-03-04 21:38:04 UTC (rev 9406)
@@ -1001,6 +1001,5 @@
 
 	/* Return via doreti so that we can change to a different %cs */
 	set_pcb_flags(pcb, PCB_32BIT | PCB_FULL_IRET);
-	clear_pcb_flags(pcb, PCB_GS32BIT);
 	td->td_retval[1] = 0;
 }

Modified: trunk/sys/amd64/include/pcb.h
===================================================================
--- trunk/sys/amd64/include/pcb.h	2017-03-04 21:36:44 UTC (rev 9405)
+++ trunk/sys/amd64/include/pcb.h	2017-03-04 21:38:04 UTC (rev 9406)
@@ -77,7 +77,6 @@
 #define	PCB_KERNFPU	0x04	/* kernel uses fpu */
 #define	PCB_FPUINITDONE	0x08	/* fpu state is initialized */
 #define	PCB_USERFPUINITDONE 0x10 /* fpu user state is initialized */
-#define	PCB_GS32BIT	0x20	/* linux gs switch */
 #define	PCB_32BIT	0x40	/* process has 32 bit context (segs etc) */
 
 	uint16_t	pcb_initial_fpucw;

Modified: trunk/sys/amd64/linux32/linux32_machdep.c
===================================================================
--- trunk/sys/amd64/linux32/linux32_machdep.c	2017-03-04 21:36:44 UTC (rev 9405)
+++ trunk/sys/amd64/linux32/linux32_machdep.c	2017-03-04 21:38:04 UTC (rev 9406)
@@ -447,7 +447,7 @@
 		pcb->pcb_gsbase = (register_t)info.base_addr;
 /* XXXKIB	pcb->pcb_gs32sd = sd; */
 		td->td_frame->tf_gs = GSEL(GUGS32_SEL, SEL_UPL);
-		set_pcb_flags(pcb, PCB_GS32BIT | PCB_32BIT);
+		set_pcb_flags(pcb, PCB_32BIT);
 	}
 
 	return (error);
@@ -1026,7 +1026,7 @@
 
 	pcb = td->td_pcb;
 	pcb->pcb_gsbase = (register_t)info.base_addr;
-	set_pcb_flags(pcb, PCB_32BIT | PCB_GS32BIT);
+	set_pcb_flags(pcb, PCB_32BIT);
 	update_gdt_gsbase(td, info.base_addr);
 
 	return (0);

Modified: trunk/sys/amd64/linux32/linux32_sysvec.c
===================================================================
--- trunk/sys/amd64/linux32/linux32_sysvec.c	2017-03-04 21:36:44 UTC (rev 9405)
+++ trunk/sys/amd64/linux32/linux32_sysvec.c	2017-03-04 21:38:04 UTC (rev 9406)
@@ -869,7 +869,6 @@
 
 	/* Do full restore on return so that we can change to a different %cs */
 	set_pcb_flags(pcb, PCB_32BIT | PCB_FULL_IRET);
-	clear_pcb_flags(pcb, PCB_GS32BIT);
 	td->td_retval[1] = 0;
 }
 



More information about the Midnightbsd-cvs mailing list