Date: Wed, 21 May 2003 08:12:04 -0700 (PDT) From: John Baldwin <jhb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 31564 for review Message-ID: <200305211512.h4LFC4l0029115@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=31564 Change 31564 by jhb@jhb_laptop on 2003/05/21 08:11:24 IFC @31562. Affected files ... .. //depot/projects/smpng/sys/alpha/conf/GENERIC#29 integrate .. //depot/projects/smpng/sys/alpha/include/_limits.h#5 integrate .. //depot/projects/smpng/sys/alpha/include/limits.h#7 integrate .. //depot/projects/smpng/sys/amd64/amd64/cpu_switch.S#4 integrate .. //depot/projects/smpng/sys/amd64/amd64/genassym.c#4 integrate .. //depot/projects/smpng/sys/amd64/amd64/locore.S#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/machdep.c#6 integrate .. //depot/projects/smpng/sys/amd64/ia32/ia32_sysvec.c#2 integrate .. //depot/projects/smpng/sys/amd64/include/_limits.h#2 integrate .. //depot/projects/smpng/sys/amd64/include/cpufunc.h#3 integrate .. //depot/projects/smpng/sys/amd64/include/limits.h#2 integrate .. //depot/projects/smpng/sys/amd64/include/pcb.h#4 integrate .. //depot/projects/smpng/sys/amd64/include/pmap.h#2 integrate .. //depot/projects/smpng/sys/arm/include/_limits.h#4 integrate .. //depot/projects/smpng/sys/arm/include/limits.h#5 integrate .. //depot/projects/smpng/sys/boot/common/loader.8#23 integrate .. //depot/projects/smpng/sys/boot/forth/loader.conf#18 integrate .. //depot/projects/smpng/sys/boot/i386/libi386/amd64_tramp.S#2 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#39 integrate .. //depot/projects/smpng/sys/conf/Makefile.amd64#3 integrate .. //depot/projects/smpng/sys/conf/Makefile.ia64#24 integrate .. //depot/projects/smpng/sys/conf/NOTES#44 integrate .. //depot/projects/smpng/sys/conf/files.amd64#3 integrate .. //depot/projects/smpng/sys/conf/files.ia64#28 integrate .. //depot/projects/smpng/sys/conf/ldscript.ia64#5 integrate .. //depot/projects/smpng/sys/conf/options#54 integrate .. //depot/projects/smpng/sys/conf/options.amd64#3 integrate .. //depot/projects/smpng/sys/conf/options.ia64#14 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/Makefile#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx.h#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_bstream.c#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_bstream.h#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_context.c#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_context.h#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_env.c#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_env.h#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_scoreboard.c#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_scoreboard.h#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_self.c#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_self.h#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_self_context.s#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_step.c#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_str.c#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_str.h#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_swap.c#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_swap.h#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_trace.c#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_trace.h#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_ttrace.c#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_ttrace.h#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_uinfo.c#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_uinfo.h#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_utable.c#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_utable.h#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/test/Makefile#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/test/dump_context.c#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/test/dumpmyself.c#1 branch .. //depot/projects/smpng/sys/dev/ata/ata-all.c#37 integrate .. //depot/projects/smpng/sys/dev/ata/ata-chipset.c#13 integrate .. //depot/projects/smpng/sys/dev/ata/ata-disk.c#30 integrate .. //depot/projects/smpng/sys/dev/ata/ata-pci.h#9 integrate .. //depot/projects/smpng/sys/dev/bge/if_bge.c#27 integrate .. //depot/projects/smpng/sys/dev/bge/if_bgereg.h#15 integrate .. //depot/projects/smpng/sys/dev/ciss/ciss.c#14 integrate .. //depot/projects/smpng/sys/dev/fxp/if_fxp.c#35 integrate .. //depot/projects/smpng/sys/dev/fxp/if_fxpreg.h#8 integrate .. //depot/projects/smpng/sys/dev/gem/if_gem.c#13 integrate .. //depot/projects/smpng/sys/dev/gem/if_gemvar.h#8 integrate .. //depot/projects/smpng/sys/dev/md/md.c#36 integrate .. //depot/projects/smpng/sys/dev/sio/sio_isa.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/ugen.c#14 integrate .. //depot/projects/smpng/sys/dev/usb/umass.c#24 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#32 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs.h#33 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs_data.h#33 integrate .. //depot/projects/smpng/sys/dev/vinum/vinumio.c#13 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC#37 integrate .. //depot/projects/smpng/sys/i386/conf/NOTES#59 integrate .. //depot/projects/smpng/sys/i386/conf/PAE#4 integrate .. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#45 integrate .. //depot/projects/smpng/sys/i386/i386/trap.c#57 integrate .. //depot/projects/smpng/sys/i386/i386/vm_machdep.c#35 integrate .. //depot/projects/smpng/sys/i386/include/_limits.h#4 integrate .. //depot/projects/smpng/sys/i386/include/limits.h#7 integrate .. //depot/projects/smpng/sys/ia64/ia32/ia32_sysvec.c#3 integrate .. //depot/projects/smpng/sys/ia64/ia32/ia32_util.h#3 integrate .. //depot/projects/smpng/sys/ia64/ia64/clock.c#12 integrate .. //depot/projects/smpng/sys/ia64/ia64/context.s#1 branch .. //depot/projects/smpng/sys/ia64/ia64/db_interface.c#16 integrate .. //depot/projects/smpng/sys/ia64/ia64/db_trace.c#10 integrate .. //depot/projects/smpng/sys/ia64/ia64/elf_machdep.c#8 integrate .. //depot/projects/smpng/sys/ia64/ia64/exception.s#24 integrate .. //depot/projects/smpng/sys/ia64/ia64/genassym.c#20 integrate .. //depot/projects/smpng/sys/ia64/ia64/interrupt.c#18 integrate .. //depot/projects/smpng/sys/ia64/ia64/locore.s#18 integrate .. //depot/projects/smpng/sys/ia64/ia64/machdep.c#55 integrate .. //depot/projects/smpng/sys/ia64/ia64/mp_machdep.c#21 integrate .. //depot/projects/smpng/sys/ia64/ia64/pmap.c#44 integrate .. //depot/projects/smpng/sys/ia64/ia64/support.s#11 integrate .. //depot/projects/smpng/sys/ia64/ia64/swtch.s#14 delete .. //depot/projects/smpng/sys/ia64/ia64/syscall.s#1 branch .. //depot/projects/smpng/sys/ia64/ia64/trap.c#47 integrate .. //depot/projects/smpng/sys/ia64/ia64/unaligned.c#3 integrate .. //depot/projects/smpng/sys/ia64/ia64/unwind.c#6 integrate .. //depot/projects/smpng/sys/ia64/ia64/vm_machdep.c#24 integrate .. //depot/projects/smpng/sys/ia64/include/_limits.h#4 integrate .. //depot/projects/smpng/sys/ia64/include/_regset.h#1 branch .. //depot/projects/smpng/sys/ia64/include/asm.h#7 integrate .. //depot/projects/smpng/sys/ia64/include/cpu.h#12 integrate .. //depot/projects/smpng/sys/ia64/include/db_machdep.h#7 integrate .. //depot/projects/smpng/sys/ia64/include/frame.h#3 integrate .. //depot/projects/smpng/sys/ia64/include/limits.h#7 integrate .. //depot/projects/smpng/sys/ia64/include/pcb.h#8 integrate .. //depot/projects/smpng/sys/ia64/include/pmap.h#13 integrate .. //depot/projects/smpng/sys/ia64/include/proc.h#6 integrate .. //depot/projects/smpng/sys/ia64/include/reg.h#9 integrate .. //depot/projects/smpng/sys/ia64/include/rse.h#2 delete .. //depot/projects/smpng/sys/ia64/include/signal.h#8 integrate .. //depot/projects/smpng/sys/ia64/include/smp.h#6 integrate .. //depot/projects/smpng/sys/ia64/include/ucontext.h#2 integrate .. //depot/projects/smpng/sys/ia64/include/unwind.h#3 integrate .. //depot/projects/smpng/sys/ia64/include/vmparam.h#5 integrate .. //depot/projects/smpng/sys/kern/kern_descrip.c#45 integrate .. //depot/projects/smpng/sys/kern/kern_sig.c#68 integrate .. //depot/projects/smpng/sys/kern/kern_synch.c#50 integrate .. //depot/projects/smpng/sys/kern/kern_thr.c#7 integrate .. //depot/projects/smpng/sys/kern/kern_thread.c#33 integrate .. //depot/projects/smpng/sys/kern/subr_mbuf.c#32 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#53 integrate .. //depot/projects/smpng/sys/netgraph/ng_bridge.c#8 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_bio.c#18 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vfsops.c#23 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#29 integrate .. //depot/projects/smpng/sys/pc98/conf/NOTES#7 integrate .. //depot/projects/smpng/sys/pc98/i386/machdep.c#54 integrate .. //depot/projects/smpng/sys/pci/if_dc.c#37 integrate .. //depot/projects/smpng/sys/powerpc/include/_limits.h#4 integrate .. //depot/projects/smpng/sys/powerpc/include/limits.h#8 integrate .. //depot/projects/smpng/sys/sparc64/include/_limits.h#4 integrate .. //depot/projects/smpng/sys/sparc64/include/limits.h#7 integrate .. //depot/projects/smpng/sys/sys/ata.h#14 integrate .. //depot/projects/smpng/sys/sys/limits.h#4 integrate .. //depot/projects/smpng/sys/sys/mutex.h#36 integrate .. //depot/projects/smpng/sys/sys/proc.h#87 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_rawread.c#4 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_extattr.c#23 integrate .. //depot/projects/smpng/sys/vm/vm_object.c#36 integrate .. //depot/projects/smpng/sys/vm/vm_object.h#18 integrate .. //depot/projects/smpng/sys/vm/vm_pageout.c#31 integrate Differences ... ==== //depot/projects/smpng/sys/alpha/conf/GENERIC#29 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.159 2003/04/21 16:44:04 simokawa Exp $ +# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.160 2003/05/18 20:39:15 ru Exp $ machine alpha cpu EV4 @@ -95,6 +95,7 @@ # SCSI Controllers device ahc # AHA2940 and onboard AIC7xxx devices device isp # Qlogic family +device ispfw # Firmware module for Qlogic host adapters device mpt # LSI-Logic MPT-Fusion #device ncr # NCR/Symbios Logic device sym # NCR/Symbios Logic (newer chipsets + those of `ncr') ==== //depot/projects/smpng/sys/alpha/include/_limits.h#5 (text+ko) ==== @@ -32,14 +32,12 @@ * * @(#)limits.h 8.3 (Berkeley) 1/4/94 * From: NetBSD: limits.h,v 1.3 1997/04/06 08:47:31 cgd Exp - * $FreeBSD: src/sys/alpha/include/_limits.h,v 1.13 2003/05/04 22:13:03 kan Exp $ + * $FreeBSD: src/sys/alpha/include/_limits.h,v 1.14 2003/05/19 20:29:06 kan Exp $ */ -#ifndef _MACHINE__LIMITS_H_ +#ifndef _MACHINE__LIMITS_H_ #define _MACHINE__LIMITS_H_ -#define __CHAR_BIT 8 /* number of bits in a char */ - /* * According to ANSI (section 2.2.4.2), the values below must be usable by * #if preprocessing directives. Additionally, the expression must have the @@ -51,6 +49,8 @@ * some other compilers as well, but this should not be depended on. */ +#define __CHAR_BIT 8 /* number of bits in a char */ + #define __SCHAR_MAX 0x7f /* max value for a signed char */ #define __SCHAR_MIN (-0x7f-1) /* min value for a signed char */ ==== //depot/projects/smpng/sys/alpha/include/limits.h#7 (text+ko) ==== @@ -32,10 +32,10 @@ * * @(#)limits.h 8.3 (Berkeley) 1/4/94 * From: NetBSD: limits.h,v 1.3 1997/04/06 08:47:31 cgd Exp - * $FreeBSD: src/sys/alpha/include/limits.h,v 1.11 2003/04/29 13:35:58 kan Exp $ + * $FreeBSD: src/sys/alpha/include/limits.h,v 1.12 2003/05/19 20:29:06 kan Exp $ */ -#ifndef _MACHINE_LIMITS_H_ +#ifndef _MACHINE_LIMITS_H_ #define _MACHINE_LIMITS_H_ #if __GNUC__ ==== //depot/projects/smpng/sys/amd64/amd64/cpu_switch.S#4 (text+ko) ==== @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.140 2003/05/14 04:10:47 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.141 2003/05/15 00:23:39 peter Exp $ */ #include <machine/asmacros.h> @@ -106,12 +106,6 @@ pushfq /* PSL */ popq PCB_RFLAGS(%r8) - /* Save kernel %gs.base */ - movl $MSR_GSBASE,%ecx - rdmsr - movl %eax,PCB_KGSBASE(%r8) - movl %edx,PCB_KGSBASE+4(%r8) - /* Save userland %fs */ movl $MSR_FSBASE,%ecx rdmsr @@ -176,12 +170,11 @@ movl PCB_DS(%r8),%ds movl PCB_ES(%r8),%es movl PCB_FS(%r8),%fs - movl PCB_GS(%r8),%gs - /* Restore kernel %gs.base */ + /* Restore userland %gs while preserving kernel gsbase */ movl $MSR_GSBASE,%ecx - movl PCB_KGSBASE(%r8),%eax - movl PCB_KGSBASE+4(%r8),%edx + rdmsr + movl PCB_GS(%r8),%gs wrmsr /* Restore userland %fs */ ==== //depot/projects/smpng/sys/amd64/amd64/genassym.c#4 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)genassym.c 5.11 (Berkeley) 5/10/91 - * $FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.145 2003/05/14 04:10:48 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.146 2003/05/15 00:23:39 peter Exp $ */ #include "opt_compat.h" @@ -125,7 +125,6 @@ ASSYM(PCB_RFLAGS, offsetof(struct pcb, pcb_rflags)); ASSYM(PCB_FSBASE, offsetof(struct pcb, pcb_fsbase)); ASSYM(PCB_GSBASE, offsetof(struct pcb, pcb_gsbase)); -ASSYM(PCB_KGSBASE, offsetof(struct pcb, pcb_kgsbase)); ASSYM(PCB_DS, offsetof(struct pcb, pcb_ds)); ASSYM(PCB_ES, offsetof(struct pcb, pcb_es)); ASSYM(PCB_FS, offsetof(struct pcb, pcb_fs)); ==== //depot/projects/smpng/sys/amd64/amd64/locore.S#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/locore.S,v 1.172 2003/05/01 01:05:21 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/locore.S,v 1.173 2003/05/15 00:20:17 peter Exp $ */ #include <machine/asmacros.h> @@ -34,15 +34,6 @@ #include "assym.s" /* - * PTmap is recursive pagemap at top of virtual address space. - * Within PTmap, the page directory can be found (third indirection). - */ - .globl PTmap,PTD,PTDpde - .set PTmap,(PTDPTDI << PDRSHIFT) - .set PTD,PTmap + (PTDPTDI * PAGE_SIZE) - .set PTDpde,PTD + (PTDPTDI * PDESIZE) - -/* * Compiled KERNBASE location */ .globl kernbase ==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#6 (text+ko) ==== @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 - * $FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.577 2003/05/14 04:10:48 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.579 2003/05/17 02:05:10 peter Exp $ */ #include "opt_atalk.h" @@ -476,21 +476,15 @@ { struct trapframe *regs = td->td_frame; struct pcb *pcb = td->td_pcb; - u_int64_t pc; wrmsr(MSR_FSBASE, 0); wrmsr(MSR_KGSBASE, 0); /* User value while we're in the kernel */ pcb->pcb_fsbase = 0; pcb->pcb_gsbase = 0; - pcb->pcb_kgsbase = rdmsr(MSR_GSBASE); load_ds(_udatasel); load_es(_udatasel); load_fs(_udatasel); - critical_enter(); - pc = rdmsr(MSR_GSBASE); - load_gs(_udatasel); /* Clobbers kernel %GS.base */ - wrmsr(MSR_GSBASE, pc); - critical_exit(); + load_gs(_udatasel); pcb->pcb_ds = _udatasel; pcb->pcb_es = _udatasel; pcb->pcb_fs = _udatasel; @@ -728,7 +722,7 @@ { sd->sd_lobase = (ssd->ssd_base) & 0xffffff; - sd->sd_hibase = (ssd->ssd_base >> 24) & 0xffffff; + sd->sd_hibase = (ssd->ssd_base >> 24) & 0xfffffffffful; sd->sd_lolimit = (ssd->ssd_limit) & 0xffff; sd->sd_hilimit = (ssd->ssd_limit >> 16) & 0xf; sd->sd_type = ssd->ssd_type; @@ -1317,7 +1311,6 @@ /* setup proc 0's pcb */ thread0.td_pcb->pcb_flags = 0; /* XXXKSE */ thread0.td_pcb->pcb_cr3 = IdlePML4; - thread0.td_pcb->pcb_kgsbase = (u_int64_t)pc; thread0.td_frame = &proc0_tf; } ==== //depot/projects/smpng/sys/amd64/ia32/ia32_sysvec.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/ia32/ia32_sysvec.c,v 1.3 2003/05/14 04:10:48 peter Exp $ + * $FreeBSD: src/sys/amd64/ia32/ia32_sysvec.c,v 1.4 2003/05/15 00:23:39 peter Exp $ */ #include "opt_compat.h" @@ -241,22 +241,15 @@ { struct trapframe *regs = td->td_frame; struct pcb *pcb = td->td_pcb; - u_int64_t pc; - register_t s; wrmsr(MSR_FSBASE, 0); wrmsr(MSR_KGSBASE, 0); /* User value while we're in the kernel */ pcb->pcb_fsbase = 0; pcb->pcb_gsbase = 0; - pcb->pcb_kgsbase = rdmsr(MSR_GSBASE); load_ds(_udatasel); load_es(_udatasel); load_fs(_udatasel); - s = intr_disable(); - pc = rdmsr(MSR_GSBASE); - load_gs(_udatasel); /* Clobbers kernel %GS.base */ - wrmsr(MSR_GSBASE, pc); - intr_restore(s); + load_gs(_udatasel); pcb->pcb_ds = _udatasel; pcb->pcb_es = _udatasel; pcb->pcb_fs = _udatasel; ==== //depot/projects/smpng/sys/amd64/include/_limits.h#2 (text+ko) ==== @@ -33,14 +33,12 @@ * @(#)limits.h 8.3 (Berkeley) 1/4/94 * From: NetBSD: limits.h,v 1.3 1997/04/06 08:47:31 cgd Exp * From: FreeBSD: src/sys/alpha/include/limits.h,v 1.8 2001/11/02 - * $FreeBSD: src/sys/amd64/include/_limits.h,v 1.6 2003/05/04 22:13:04 kan Exp $ + * $FreeBSD: src/sys/amd64/include/_limits.h,v 1.7 2003/05/19 20:29:06 kan Exp $ */ #ifndef _MACHINE__LIMITS_H_ #define _MACHINE__LIMITS_H_ -#define __CHAR_BIT 8 /* number of bits in a char */ - /* * According to ANSI (section 2.2.4.2), the values below must be usable by * #if preprocessing directives. Additionally, the expression must have the @@ -52,6 +50,8 @@ * some other compilers as well, but this should not be depended on. */ +#define __CHAR_BIT 8 /* number of bits in a char */ + #define __SCHAR_MAX 0x7f /* max value for a signed char */ #define __SCHAR_MIN (-0x7f-1) /* min value for a signed char */ ==== //depot/projects/smpng/sys/amd64/include/cpufunc.h#3 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/cpufunc.h,v 1.135 2003/05/14 04:10:49 peter Exp $ + * $FreeBSD: src/sys/amd64/include/cpufunc.h,v 1.136 2003/05/15 00:23:40 peter Exp $ */ /* @@ -475,6 +475,41 @@ __asm __volatile("movl %0,%%es" : : "rm" (sel)); } +#ifdef _KERNEL +/* This is defined in <machine/specialreg.h> but is too painful to get to */ +#ifndef MSR_FSBASE +#define MSR_FSBASE 0xc0000100 +#endif +static __inline void +load_fs(u_int sel) +{ + register u_int32_t fsbase __asm("ecx"); + + /* Preserve the fsbase value across the selector load */ + fsbase = MSR_FSBASE; + __asm __volatile("rdmsr; movl %0,%%fs; wrmsr" + : : "rm" (sel), "c" (fsbase) : "eax", "edx"); +} + +#ifndef MSR_GSBASE +#define MSR_GSBASE 0xc0000101 +#endif +static __inline void +load_gs(u_int sel) +{ + register u_int32_t gsbase __asm("ecx"); + + /* + * Preserve the gsbase value across the selector load. + * Note that we have to disable interrupts because the gsbase + * being trashed happens to be the kernel gsbase at the time. + */ + gsbase = MSR_GSBASE; + __asm __volatile("pushfq; cli; rdmsr; movl %0,%%gs; wrmsr; popfq" + : : "rm" (sel), "c" (gsbase) : "eax", "edx"); +} +#else +/* Usable by userland */ static __inline void load_fs(u_int sel) { @@ -486,6 +521,7 @@ { __asm __volatile("movl %0,%%gs" : : "rm" (sel)); } +#endif /* void lidt(struct region_descriptor *addr); */ static __inline void ==== //depot/projects/smpng/sys/amd64/include/limits.h#2 (text+ko) ==== @@ -33,10 +33,10 @@ * @(#)limits.h 8.3 (Berkeley) 1/4/94 * From: NetBSD: limits.h,v 1.3 1997/04/06 08:47:31 cgd Exp * From: FreeBSD: src/sys/alpha/include/limits.h,v 1.8 2001/11/02 - * $FreeBSD: src/sys/amd64/include/limits.h,v 1.5 2003/04/29 13:36:06 kan Exp $ + * $FreeBSD: src/sys/amd64/include/limits.h,v 1.6 2003/05/19 20:29:06 kan Exp $ */ -#ifndef _MACHINE_LIMITS_H_ +#ifndef _MACHINE_LIMITS_H_ #define _MACHINE_LIMITS_H_ #if __GNUC__ ==== //depot/projects/smpng/sys/amd64/include/pcb.h#4 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)pcb.h 5.10 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.52 2003/05/14 04:10:49 peter Exp $ + * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.53 2003/05/15 00:23:40 peter Exp $ */ #ifndef _I386_PCB_H_ @@ -59,7 +59,6 @@ register_t pcb_rflags; register_t pcb_fsbase; register_t pcb_gsbase; - register_t pcb_kgsbase; u_int32_t pcb_ds; u_int32_t pcb_es; u_int32_t pcb_fs; ==== //depot/projects/smpng/sys/amd64/include/pmap.h#2 (text+ko) ==== @@ -42,7 +42,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.100 2003/05/01 01:05:23 peter Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.101 2003/05/15 00:20:17 peter Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -145,13 +145,9 @@ * in the page tables and the evil overlapping. */ #ifdef _KERNEL -extern pt_entry_t PTmap[]; -extern pd_entry_t PDmap[]; -extern pdp_entry_t PDPmap[]; -extern pml4_entry_t PML4[]; -extern pdp_entry_t PDP[]; -extern pd_entry_t PTD[]; -extern pd_entry_t PTDpde[]; +#define PTmap ((pt_entry_t *)(VADDR(0, 0, PTDPTDI, 0))) +#define PTD ((pd_entry_t *)(VADDR(0, 0, PTDPTDI, PTDPTDI))) +#define PTDpde ((pd_entry_t *)(VADDR(0, 0, PTDPTDI, PTDPTDI) + (PTDPTDI * sizeof(pd_entry_t)))) extern u_int64_t IdlePML4; /* physical address of "Idle" state directory */ extern u_int64_t IdlePDP; /* physical address of "Idle" state directory */ ==== //depot/projects/smpng/sys/arm/include/_limits.h#4 (text+ko) ==== @@ -31,14 +31,12 @@ * SUCH DAMAGE. * * @(#)limits.h 8.3 (Berkeley) 1/4/94 - * $FreeBSD: src/sys/arm/include/_limits.h,v 1.5 2003/05/04 22:13:03 kan Exp $ + * $FreeBSD: src/sys/arm/include/_limits.h,v 1.6 2003/05/19 20:29:06 kan Exp $ */ #ifndef _MACHINE__LIMITS_H_ #define _MACHINE__LIMITS_H_ -#define __CHAR_BIT 8 /* number of bits in a char */ - /* * According to ANSI (section 2.2.4.2), the values below must be usable by * #if preprocessing directives. Additionally, the expression must have the @@ -50,6 +48,8 @@ * some other compilers as well, but this should not be depended on. */ +#define __CHAR_BIT 8 /* number of bits in a char */ + #define __SCHAR_MAX 0x7f /* max value for a signed char */ #define __SCHAR_MIN (-0x7f - 1) /* min value for a signed char */ ==== //depot/projects/smpng/sys/arm/include/limits.h#5 (text+ko) ==== @@ -31,10 +31,10 @@ * SUCH DAMAGE. * * @(#)limits.h 8.3 (Berkeley) 1/4/94 - * $FreeBSD: src/sys/arm/include/limits.h,v 1.4 2003/04/29 13:35:58 kan Exp $ + * $FreeBSD: src/sys/arm/include/limits.h,v 1.5 2003/05/19 20:29:06 kan Exp $ */ -#ifndef _MACHINE_LIMITS_H_ +#ifndef _MACHINE_LIMITS_H_ #define _MACHINE_LIMITS_H_ #if __GNUC__ ==== //depot/projects/smpng/sys/boot/common/loader.8#23 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.55 2003/05/04 08:23:24 murray Exp $ +.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.56 2003/05/17 22:17:23 ru Exp $ .\" .\" Note: The date here should be updated whenever a non-trivial .\" change is made to the manual page. @@ -446,9 +446,11 @@ Modifies .Va NMBCLUSTERS . .It Va kern.ipc.nsfbufs -Set the number of sendfile buffers to be allocated. -Modifies -.Va NSFBUFS . +Set the number of +.Xr sendfile 2 +buffers to be allocated. +Overrides +.Dv NSFBUFS . .It Va kern.vm.kmem.size Sets the size of kernel memory (bytes). This overrides the value determined when the kernel was compiled. ==== //depot/projects/smpng/sys/boot/forth/loader.conf#18 (text+ko) ==== @@ -6,7 +6,7 @@ # # All arguments must be in double quotes. # -# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.70 2003/03/11 12:09:25 ru Exp $ +# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.71 2003/05/16 04:31:00 murray Exp $ ############################################################## ### Basic configuration options ############################ @@ -179,6 +179,7 @@ miibus_load="NO" # miibus support, needed for some drivers if_an_load="NO" # Aironet 4500/4800 802.11 wireless NICs if_ar_load="NO" # Digi SYNC/570i +if_awi_load="NO" # AMD PCnetMobile IEEE 802.11 wireless NICs if_bge_load="NO" # Broadcom BCM570x PCI gigabit ethernet if_cm_load="NO" # SMC (90c26, 90c56, 90c66) if_dc_load="NO" # DEC/Intel 21143 and various workalikes @@ -186,12 +187,16 @@ if_ed_load="NO" # National Semiconductor DS8390/WD83C690 ethernet if_el_load="NO" # 3Com Etherlink 3C501 if_em_load="NO" # Intel(R) PRO/1000 gigabit ethernet +if_en_load="NO" # Midway-based ATM interfaces if_ep_load="NO" # 3Com Etherlink III (3c5x9) +if_ex_load="NO" # Intel EtherExpress Pro/10 ethernet if_fe_load="NO" # Fujitsu MB86960A/MB86965A based Ethernet adapters if_fxp_load="NO" # Intel EtherExpress PRO/100B (82557, 82558) if_gx_load="NO" # Intel Pro/1000 gigabit ethernet +if_ie_load="NO" # Intel 82586 if_lge_load="NO" # Level 1 LXT1001 NetCellerator PCI gigabit ethernet if_lnc_load="NO" # AMD Lance/PCnet Ethernet +if_my_load="NO" # Myson PCI fast ethernet if_nge_load="NO" # National Semiconductor PCI gigabit ethernet if_oltr_load="NO" # Olicom if_pcn_load="NO" # AMD PCnet PCI @@ -287,6 +292,7 @@ umodem_load="NO" # Modems uscanner_load="NO" # Scanners if_aue_load="NO" # ADMtek USB ethernet +if_axe_load="NO" # ASIX Electronics AX88172 USB ethernet if_cue_load="NO" # CATC USB ethernet if_kue_load="NO" # Kawasaki LSI USB ethernet ==== //depot/projects/smpng/sys/boot/i386/libi386/amd64_tramp.S#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/i386/libi386/amd64_tramp.S,v 1.1 2003/05/01 03:56:29 peter Exp $ + * $FreeBSD: src/sys/boot/i386/libi386/amd64_tramp.S,v 1.2 2003/05/17 00:30:51 peter Exp $ */ /* @@ -108,6 +108,6 @@ /* We're still running V=P, jump to entry point */ movl %esi, %eax salq $32, %rax - movl %edi, %eax + orq %rdi, %rax pushq %rax ret ==== //depot/projects/smpng/sys/cam/scsi/scsi_da.c#39 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.142 2003/05/03 00:21:40 ken Exp $ + * $FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.143 2003/05/15 17:35:35 njl Exp $ */ #ifdef _KERNEL @@ -499,6 +499,14 @@ */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "MITSUMI", "USB FDD", "*"}, /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + }, + { + /* + * OTi USB Flash Key + * PR: kern/51825 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "OTi", "Flash Disk", "*"}, + /*quirks*/ DA_Q_NO_6_BYTE } }; ==== //depot/projects/smpng/sys/conf/Makefile.amd64#3 (text+ko) ==== @@ -1,19 +1,19 @@ -# Makefile.x86_64 -- with config changes. +# Makefile.amd64 -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 # from FreeBSD: src/sys/conf/Makefile.i386,v 1.255 2002/02/20 23:35:49 -# $FreeBSD: src/sys/conf/Makefile.amd64,v 1.7 2003/05/10 01:12:24 peter Exp $ +# $FreeBSD: src/sys/conf/Makefile.amd64,v 1.8 2003/05/19 22:15:30 peter Exp $ # # Makefile for FreeBSD # # This makefile is constructed from a machine description: # config machineid # Most changes should be made in the machine description -# /sys/x86_64/conf/``machineid'' +# /sys/amd64/conf/``machineid'' # after which you should do # config machineid # Generic makefile changes should be made in -# /sys/conf/Makefile.x86_64 +# /sys/conf/Makefile.amd64 # after which config should be rerun for all machines. # ==== //depot/projects/smpng/sys/conf/Makefile.ia64#24 (text+ko) ==== @@ -1,7 +1,7 @@ # Makefile.ia64 -- with config changes. # Copyright 1990 W. Jolitz # from: src/sys/conf/Makefile.alpha,v 1.76 -# $FreeBSD: src/sys/conf/Makefile.ia64,v 1.55 2003/04/15 21:29:11 phk Exp $ +# $FreeBSD: src/sys/conf/Makefile.ia64,v 1.56 2003/05/16 21:26:40 marcel Exp $ # # Makefile for FreeBSD # @@ -32,6 +32,8 @@ .endif .include "$S/conf/kern.pre.mk" +INCLUDES+= -I$S/contrib/ia64/libuwx/src + CFLAGS+= -mconstant-gp ASM_CFLAGS= -x assembler-with-cpp -Wa,-x -DLOCORE ${CFLAGS} ==== //depot/projects/smpng/sys/conf/NOTES#44 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1148 2003/05/05 21:21:31 phk Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1149 2003/05/15 02:10:29 jmallett Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -208,10 +208,19 @@ # # Implement system calls compatible with 4.3BSD and older versions of # FreeBSD. You probably do NOT want to remove this as much current code -# still relies on the 4.3 emulation. +# still relies on the 4.3 emulation. Note that some architectures that +# are supported by FreeBSD do not include support for certain important +# aspects of this compatibility option, namely those related to the +# signal delivery mechanism. # options COMPAT_43 +# +# Be compatible with SunOS. The COMPAT_43 option above pulls in most +# (all?) of the changes that this option turns on. +# +options COMPAT_SUNOS + # Enable FreeBSD4 compatibility syscalls options COMPAT_FREEBSD4 ==== //depot/projects/smpng/sys/conf/files.amd64#3 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.amd64,v 1.14 2003/05/14 04:10:49 peter Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.15 2003/05/16 02:27:17 obrien Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -16,7 +16,7 @@ # ia32_assym.h optional ia32 \ dependency "$S/kern/genassym.sh ia32_genassym.o" \ - compile-with "sh $S/kern/genassym.sh ia32_genassym.o > ${.TARGET}" \ + compile-with "env NM=${NM} sh $S/kern/genassym.sh ia32_genassym.o > ${.TARGET}" \ no-obj no-implicit-rule before-depend \ clean "ia32_assym.h" # ==== //depot/projects/smpng/sys/conf/files.ia64#28 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.ia64,v 1.51 2003/04/29 05:38:41 marcel Exp $ +# $FreeBSD: src/sys/conf/files.ia64,v 1.52 2003/05/16 21:26:40 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -18,6 +18,19 @@ no-obj no-implicit-rule before-depend \ clean "atkbdmap.h" # +contrib/ia64/libuwx/src/uwx_bstream.c standard +contrib/ia64/libuwx/src/uwx_context.c standard +contrib/ia64/libuwx/src/uwx_env.c standard +contrib/ia64/libuwx/src/uwx_scoreboard.c standard +#contrib/ia64/libuwx/src/uwx_self.c standard +#contrib/ia64/libuwx/src/uwx_self_context.s standard +contrib/ia64/libuwx/src/uwx_step.c standard +contrib/ia64/libuwx/src/uwx_str.c standard +contrib/ia64/libuwx/src/uwx_swap.c standard +contrib/ia64/libuwx/src/uwx_trace.c standard +#contrib/ia64/libuwx/src/uwx_ttrace.c standard +contrib/ia64/libuwx/src/uwx_uinfo.c standard +contrib/ia64/libuwx/src/uwx_utable.c standard crypto/blowfish/bf_enc.c optional crypto crypto/blowfish/bf_enc.c optional ipsec ipsec_esp crypto/des/des_enc.c optional crypto @@ -62,6 +75,7 @@ ia64/ia64/busdma_machdep.c standard ia64/ia64/clock.c standard ia64/ia64/clock_if.m standard +ia64/ia64/context.s standard ia64/ia64/critical.c standard ia64/ia64/db_disasm.c optional ddb ia64/ia64/db_interface.c optional ddb @@ -88,8 +102,8 @@ ia64/ia64/ssc.c optional ski ia64/ia64/sscdisk.c optional ski ia64/ia64/support.s standard -ia64/ia64/swtch.s standard ia64/ia64/sys_machdep.c standard +ia64/ia64/syscall.s standard ia64/ia64/trap.c standard ia64/ia64/unaligned.c standard ia64/ia64/unwind.c standard ==== //depot/projects/smpng/sys/conf/ldscript.ia64#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/conf/ldscript.ia64,v 1.8 2002/12/05 18:35:44 obrien Exp $ */ +/* $FreeBSD: src/sys/conf/ldscript.ia64,v 1.9 2003/05/16 06:03:45 marcel Exp $ */ OUTPUT_FORMAT("elf64-ia64-little", "elf64-ia64-little", "elf64-ia64-little") OUTPUT_ARCH(ia64) ENTRY(__start) @@ -8,107 +8,115 @@ { /* Read-only sections, merged into text segment: */ . = kernel_text + SIZEOF_HEADERS; - - .text : + .interp : { *(.interp) } + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .gnu.version : { *(.gnu.version) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version_r : { *(.gnu.version_r) } + .rela.init : { *(.rela.init) } + .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } + .rela.fini : { *(.rela.fini) } + .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } + .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } + .rela.ctors : { *(.rela.ctors) } + .rela.dtors : { *(.rela.dtors) } + .rela.got : { *(.rela.got) } + .rela.sdata : { *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*) } + .rela.sbss : { *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*) } + .rela.sdata2 : { *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*) } + .rela.sbss2 : { *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) } + .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } + .rela.plt : { *(.rela.plt) } + .rela.IA_64.pltoff : { *(.rela.IA_64.pltoff) } + .init : + { + *(.init) + } =0x00300000010070000002000001000400 + .plt : { *(.plt) } + .text : { - *(.text.ivt) - . += 8192; - *(.text) - *(.stub) + *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) - *(.gnu.linkonce.t*) - } =0x47ff041f - .interp : { *(.interp) } - .hash : { *(.hash) } - .dynsym : { *(.dynsym) } - .dynstr : { *(.dynstr) } - .gnu.version : { *(.gnu.version) } - .gnu.version_d : { *(.gnu.version_d) } - .gnu.version_r : { *(.gnu.version_r) } - .rel.text : - { *(.rel.text) *(.rel.gnu.linkonce.t*) } - .rela.text : - { *(.rela.text) *(.rela.gnu.linkonce.t*) } - .rel.data : - { *(.rel.data) *(.rel.gnu.linkonce.d*) } - .rela.data : - { *(.rela.data) *(.rela.gnu.linkonce.d*) } - .rel.rodata : - { *(.rel.rodata) *(.rel.gnu.linkonce.r*) } - .rela.rodata : - { *(.rela.rodata) *(.rela.gnu.linkonce.r*) } - .rel.got : { *(.rel.got) } - .rela.got : { *(.rela.got) } - .rel.ctors : { *(.rel.ctors) } - .rela.ctors : { *(.rela.ctors) } - .rel.dtors : { *(.rel.dtors) } - .rela.dtors : { *(.rela.dtors) } - .rel.init : { *(.rel.init) } - .rela.init : { *(.rela.init) } - .rel.fini : { *(.rel.fini) } - .rela.fini : { *(.rela.fini) } - .rel.bss : { *(.rel.bss) } - .rela.bss : { *(.rela.bss) } - .rel.plt : { *(.rel.plt) } - .rela.plt : { *(.rela.plt) } - .init : { *(.init) } =0x47ff041f + } =0x00300000010070000002000001000400 + .fini : + { + *(.fini) + } =0x00300000010070000002000001000400 _etext = .; PROVIDE (etext = .); - .fini : { *(.fini) } =0x47ff041f - .rodata : { *(.rodata) *(.gnu.linkonce.r*) } - .rodata1 : { *(.rodata1) } - .reginfo : { *(.reginfo) } - .IA_64.unwind_info : { *(.IA_64.unwind_info*) } - .IA_64.unwind : { *(.IA_64.unwind*) } + .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } + .rodata1 : { *(.rodata1) } + .sdata2 : { *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) } + .sbss2 : { *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) } + .opd : { *(.opd) } + .IA_64.unwind_info : { *(.IA_64.unwind_info* .gnu.linkonce.ia64unwi.*) } + .IA_64.unwind : { *(.IA_64.unwind* .gnu.linkonce.ia64unw.*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ - . = .; - .data : + . = . + 8192; + .data : { - *(.data) - *(.gnu.linkonce.d*) - CONSTRUCTORS + *(.data.proc0 .data .data.* .gnu.linkonce.d.*) + SORT(CONSTRUCTORS) } - .data1 : { *(.data1) } - .ctors : + .data1 : { *(.data1) } + .dynamic : { *(.dynamic) } + .ctors : { *(.ctors) + *(SORT(.ctors.*)) } - .dtors : + .dtors : { *(.dtors) + *(SORT(.dtors.*)) >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200305211512.h4LFC4l0029115>