Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Apr 2003 18:09:32 -0800 (PST)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 28128 for review
Message-ID:  <200304050209.h3529WJB092972@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=28128

Change 28128 by peter@peter_daintree on 2003/04/04 18:08:46

	nuke pcb_ext, thats another complication I dont need yet

Affected files ...

.. //depot/projects/hammer/sys/x86_64/include/pcb.h#7 edit
.. //depot/projects/hammer/sys/x86_64/include/pcb_ext.h#3 edit
.. //depot/projects/hammer/sys/x86_64/x86_64/machdep.c#32 edit
.. //depot/projects/hammer/sys/x86_64/x86_64/swtch.s#9 edit
.. //depot/projects/hammer/sys/x86_64/x86_64/vm_machdep.c#11 edit

Differences ...

==== //depot/projects/hammer/sys/x86_64/include/pcb.h#7 (text+ko) ====

@@ -60,7 +60,6 @@
 #define	PCB_NPXINITDONE	0x08	/* fpu state is initialized */
 
 	caddr_t	pcb_onfault;	/* copyin/out fault recovery */
-	struct	pcb_ext	*pcb_ext;	/* optional pcb extension */
 	long	pcb_gs;
 	long	pcb_psl;	/* process status long */
 };

==== //depot/projects/hammer/sys/x86_64/include/pcb_ext.h#3 (text+ko) ====

@@ -29,22 +29,4 @@
 #ifndef _I386_PCB_EXT_H_
 #define _I386_PCB_EXT_H_
 
-/*
- * Extension to the 386 process control block
- */
-#include <machine/tss.h>
-#include <machine/segments.h>
-
-struct pcb_ext {
-	struct 	segment_descriptor ext_tssd;	/* tss descriptor */
-	struct 	i386tss	ext_tss;	/* per-process i386tss */
-	caddr_t	ext_iomap;		/* i/o permission bitmap */
-};
-
-#ifdef _KERNEL
-
-int i386_extend_pcb(struct thread *);
-
-#endif
-
 #endif /* _I386_PCB_EXT_H_ */

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

@@ -100,7 +100,6 @@
 #include <machine/clock.h>
 #include <machine/specialreg.h>
 #include <machine/md_var.h>
-#include <machine/pcb_ext.h>		/* pcb.h included via sys/user.h */
 #include <machine/proc.h>
 #ifdef PERFMON
 #include <machine/perfmon.h>
@@ -1354,7 +1353,6 @@
 #else
 	thread0.td_pcb->pcb_cr3 = (int)IdlePTD;
 #endif
-	thread0.td_pcb->pcb_ext = 0;
 	thread0.td_frame = &proc0_tf;
 }
 

==== //depot/projects/hammer/sys/x86_64/x86_64/swtch.s#9 (text+ko) ====

@@ -167,37 +167,6 @@
 	 * At this point, we've switched address spaces and are ready
 	 * to load up the rest of the next context.
 	 */
-	cmpl	$0, PCB_EXT(%edx)		/* has pcb extension? */
-	je	1f				/* If not, use the default */
-	btsl	%esi, private_tss		/* mark use of private tss */
-	movl	PCB_EXT(%edx), %edi		/* new tss descriptor */
-	jmp	2f				/* Load it up */
-
-1:	/*
-	 * Use the common default TSS instead of our own.
-	 * Set our stack pointer into the TSS, it's set to just
-	 * below the PCB.  In C, common_tss.tss_esp0 = &pcb;
-	 */
-	movl	%ebx, PCPU(COMMON_TSS) + TSS_ESP0
-
-	/*
-	 * Test this CPU's  bit in the bitmap to see if this
-	 * CPU was using a private TSS.
-	 */
-	btrl	%esi, private_tss		/* Already using the common? */
-	jae	3f				/* if so, skip reloading */
-	PCPU_ADDR(COMMON_TSSD, %edi)
-2:
-	/* Move correct tss descriptor into GDT slot, then reload tr. */
-	movl	PCPU(TSS_GDT), %ebx		/* entry in GDT */
-	movl	0(%edi), %eax
-	movl	%eax, 0(%ebx)
-	movl	4(%edi), %eax
-	movl	%eax, 4(%ebx)
-	movl	$GPROC0_SEL*8, %esi		/* GSEL(entry, SEL_KPL) */
-	ltr	%si
-3:
-
 	/* Restore context. */
 	movl	PCB_EBX(%edx),%ebx
 	movl	PCB_ESP(%edx),%esp

==== //depot/projects/hammer/sys/x86_64/x86_64/vm_machdep.c#11 (text+ko) ====

@@ -64,7 +64,6 @@
 #include <machine/cpu.h>
 #include <machine/md_var.h>
 #include <machine/pcb.h>
-#include <machine/pcb_ext.h>
 
 #include <vm/vm.h>
 #include <vm/vm_param.h>
@@ -154,15 +153,9 @@
 	 * pcb2->pcb_flags:	cloned above.
 	 * pcb2->pcb_onfault:	cloned above (always NULL here?).
 	 * pcb2->pcb_gs:	cloned above.
-	 * pcb2->pcb_ext:	cleared below.
 	 */
 
 	/*
-	 * XXX don't copy the i/o pages.  this should probably be fixed.
-	 */
-	pcb2->pcb_ext = 0;
-
-	/*
 	 * Now, cpu_switch() can schedule the new process.
 	 * pcb_esp is loaded pointing to the cpu_switch() stack frame
 	 * containing the return address when exiting cpu_switch.



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