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>