From owner-p4-projects@FreeBSD.ORG Fri Apr 4 18:09:34 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 09DDD37B405; Fri, 4 Apr 2003 18:09:34 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 87DDF37B401 for ; Fri, 4 Apr 2003 18:09:33 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2162343F3F for ; Fri, 4 Apr 2003 18:09:33 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h3529W0U092975 for ; Fri, 4 Apr 2003 18:09:32 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h3529WJB092972 for perforce@freebsd.org; Fri, 4 Apr 2003 18:09:32 -0800 (PST) Date: Fri, 4 Apr 2003 18:09:32 -0800 (PST) Message-Id: <200304050209.h3529WJB092972@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 28128 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Apr 2003 02:09:35 -0000 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 -#include - -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 #include #include -#include /* pcb.h included via sys/user.h */ #include #ifdef PERFMON #include @@ -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 #include #include -#include #include #include @@ -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.