svn commit: r249991 - in user/dchagin/lemul/sys/amd64: amd64 ia32 include linux32
Dmitry Chagin
dchagin at FreeBSD.org
Sat Apr 27 17:51:11 UTC 2013
Author: dchagin
Date: Sat Apr 27 17:51:09 2013
New Revision: 249991
URL: http://svnweb.freebsd.org/changeset/base/249991
Log:
Retire write-only PCB_GS32BIT pcb flag.
Modified:
user/dchagin/lemul/sys/amd64/amd64/genassym.c
user/dchagin/lemul/sys/amd64/amd64/machdep.c
user/dchagin/lemul/sys/amd64/ia32/ia32_signal.c
user/dchagin/lemul/sys/amd64/include/pcb.h
user/dchagin/lemul/sys/amd64/linux32/linux32_machdep.c
user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c
Modified: user/dchagin/lemul/sys/amd64/amd64/genassym.c
==============================================================================
--- user/dchagin/lemul/sys/amd64/amd64/genassym.c Sat Apr 27 17:27:54 2013 (r249990)
+++ user/dchagin/lemul/sys/amd64/amd64/genassym.c Sat Apr 27 17:51:09 2013 (r249991)
@@ -167,7 +167,6 @@ ASSYM(PCB_FPUSUSPEND, offsetof(struct pc
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: user/dchagin/lemul/sys/amd64/amd64/machdep.c
==============================================================================
--- user/dchagin/lemul/sys/amd64/amd64/machdep.c Sat Apr 27 17:27:54 2013 (r249990)
+++ user/dchagin/lemul/sys/amd64/amd64/machdep.c Sat Apr 27 17:51:09 2013 (r249991)
@@ -964,7 +964,7 @@ exec_setregs(struct thread *td, struct i
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: user/dchagin/lemul/sys/amd64/ia32/ia32_signal.c
==============================================================================
--- user/dchagin/lemul/sys/amd64/ia32/ia32_signal.c Sat Apr 27 17:27:54 2013 (r249990)
+++ user/dchagin/lemul/sys/amd64/ia32/ia32_signal.c Sat Apr 27 17:51:09 2013 (r249991)
@@ -1001,6 +1001,5 @@ ia32_setregs(struct thread *td, struct i
/* 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: user/dchagin/lemul/sys/amd64/include/pcb.h
==============================================================================
--- user/dchagin/lemul/sys/amd64/include/pcb.h Sat Apr 27 17:27:54 2013 (r249990)
+++ user/dchagin/lemul/sys/amd64/include/pcb.h Sat Apr 27 17:51:09 2013 (r249991)
@@ -77,7 +77,6 @@ struct pcb {
#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: user/dchagin/lemul/sys/amd64/linux32/linux32_machdep.c
==============================================================================
--- user/dchagin/lemul/sys/amd64/linux32/linux32_machdep.c Sat Apr 27 17:27:54 2013 (r249990)
+++ user/dchagin/lemul/sys/amd64/linux32/linux32_machdep.c Sat Apr 27 17:51:09 2013 (r249991)
@@ -438,7 +438,7 @@ linux_set_cloned_tls(struct thread *td,
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);
@@ -1014,7 +1014,7 @@ linux_set_thread_area(struct thread *td,
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: user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c
==============================================================================
--- user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c Sat Apr 27 17:27:54 2013 (r249990)
+++ user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c Sat Apr 27 17:51:09 2013 (r249991)
@@ -880,7 +880,6 @@ exec_linux_setregs(struct thread *td, st
/* 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 svn-src-user
mailing list