[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