PERFORCE change 28128 for review
Peter Wemm
peter at FreeBSD.org
Fri Apr 4 18:09:35 PST 2003
http://perforce.freebsd.org/chv.cgi?CH=28128
Change 28128 by peter at 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.
More information about the p4-projects
mailing list