Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Apr 2013 17:51:10 +0000 (UTC)
From:      Dmitry Chagin <dchagin@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r249991 - in user/dchagin/lemul/sys/amd64: amd64 ia32 include linux32
Message-ID:  <201304271751.r3RHpACQ093136@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;
 }
 



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