From owner-p4-projects@FreeBSD.ORG Sun Mar 28 00:20:05 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1017A16A4D0; Sun, 28 Mar 2004 00:20:05 -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 DB66D16A4CE for ; Sun, 28 Mar 2004 00:20:04 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BCA7543D3F for ; Sun, 28 Mar 2004 00:20:04 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2S8K4Ge016744 for ; Sun, 28 Mar 2004 00:20:04 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2S8K4le016741 for perforce@freebsd.org; Sun, 28 Mar 2004 00:20:04 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sun, 28 Mar 2004 00:20:04 -0800 (PST) Message-Id: <200403280820.i2S8K4le016741@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 49830 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: Sun, 28 Mar 2004 08:20:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=49830 Change 49830 by marcel@marcel_nfs on 2004/03/28 00:19:08 Remove a debugging printf. Affected files ... .. //depot/projects/gdb/sys/gdb/gdb_packet.c#7 edit Differences ... ==== //depot/projects/gdb/sys/gdb/gdb_packet.c#7 (text+ko) ==== @@ -136,8 +136,6 @@ gdb_rxsz += 1 + neg - valid; } *vp = (neg) ? -v : v; - if (valid) - printf("GDB: %s: v=%jd (%jx)\n", __func__, *vp, *vp); return ((valid) ? 0 : -1); } From owner-p4-projects@FreeBSD.ORG Sun Mar 28 00:50:43 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 11BE816A4D0; Sun, 28 Mar 2004 00:50:43 -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 DBB3416A4CE for ; Sun, 28 Mar 2004 00:50:42 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BD24443D2D for ; Sun, 28 Mar 2004 00:50:42 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2S8ogGe028775 for ; Sun, 28 Mar 2004 00:50:42 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2S8ofs9028772 for perforce@freebsd.org; Sun, 28 Mar 2004 00:50:41 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sun, 28 Mar 2004 00:50:41 -0800 (PST) Message-Id: <200403280850.i2S8ofs9028772@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 49831 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: Sun, 28 Mar 2004 08:50:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=49831 Change 49831 by marcel@marcel_nfs on 2004/03/28 00:50:36 Add support for machine dependent queries. Use this on ia64 to handle the Part:dirty:read:: query added to the remote protocol to support the TARGET_OBJECT_DIRTY partial xfer. In short: can can read the dirty stacked registers. Affected files ... .. //depot/projects/gdb/sys/gdb/gdb_main.c#11 edit .. //depot/projects/gdb/sys/i386/include/gdb_machdep.h#5 edit .. //depot/projects/gdb/sys/ia64/ia64/gdb_machdep.c#6 edit .. //depot/projects/gdb/sys/ia64/include/gdb_machdep.h#5 edit Differences ... ==== //depot/projects/gdb/sys/gdb/gdb_main.c#11 (text+ko) ==== @@ -183,7 +183,7 @@ gdb_tx_begin('l'); gdb_tx_end(); } - } else + } else if (!gdb_cpu_query()) gdb_tx_empty(); break; case 's': { /* single step */ ==== //depot/projects/gdb/sys/i386/include/gdb_machdep.h#5 (text+ko) ==== @@ -39,6 +39,12 @@ return (sizeof(int)); } +static __inline int +gdb_cpu_query(void) +{ + return (0); +} + void *gdb_cpu_getreg(int, size_t *); void gdb_cpu_setreg(int, register_t); int gdb_cpu_signal(int, int); ==== //depot/projects/gdb/sys/ia64/ia64/gdb_machdep.c#6 (text+ko) ==== @@ -39,6 +39,7 @@ #include #include +#include void * gdb_cpu_getreg(int regnum, size_t *regsz) @@ -122,3 +123,26 @@ case GDB_REG_PC: break; } } + +int +gdb_cpu_query(void) +{ + if (gdb_rx_equal("Part:dirty:read::")) { + uint64_t *kstack; + uintmax_t slot; + if (gdb_rx_varhex(&slot) < 0) { + gdb_tx_err(EINVAL); + return (-1); + } + if (slot >= 0 && slot < (kdb_frame->tf_special.ndirty >> 3)) { + kstack = (uint64_t*)(kdb_thread->td_kstack + + (kdb_frame->tf_special.bspstore & 0x1ffUL)); + gdb_tx_begin('\0'); + gdb_tx_mem((void*)(kstack + slot), 8); + gdb_tx_end(); + } + return (1); + } + + return (0); +} ==== //depot/projects/gdb/sys/ia64/include/gdb_machdep.h#5 (text+ko) ==== @@ -48,5 +48,6 @@ void *gdb_cpu_getreg(int, size_t *); void gdb_cpu_setreg(int, register_t); +int gdb_cpu_query(void); #endif /* !_MACHINE_GDB_MACHDEP_H_ */ From owner-p4-projects@FreeBSD.ORG Sun Mar 28 00:55:50 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 75CD116A4CF; Sun, 28 Mar 2004 00:55:50 -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 27D2D16A4D0 for ; Sun, 28 Mar 2004 00:55:50 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0B49943D1D for ; Sun, 28 Mar 2004 00:55:50 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2S8tnGe030747 for ; Sun, 28 Mar 2004 00:55:49 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2S8tnX7030744 for perforce@freebsd.org; Sun, 28 Mar 2004 00:55:49 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sun, 28 Mar 2004 00:55:49 -0800 (PST) Message-Id: <200403280855.i2S8tnX7030744@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 49832 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: Sun, 28 Mar 2004 08:55:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=49832 Change 49832 by marcel@marcel_nfs on 2004/03/28 00:55:18 IFC @49828 Affected files ... .. //depot/projects/gdb/bin/ps/ps.c#5 integrate .. //depot/projects/gdb/sys/nfsclient/nfs_socket.c#4 integrate .. //depot/projects/gdb/sys/rpc/rpcclnt.c#5 integrate .. //depot/projects/gdb/sys/sys/proc.h#7 integrate Differences ... ==== //depot/projects/gdb/bin/ps/ps.c#5 (text+ko) ==== @@ -51,7 +51,7 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.71 2004/03/27 22:14:42 gad Exp $"); +__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.72 2004/03/28 03:00:56 gad Exp $"); #include #include @@ -497,7 +497,7 @@ */ nentries = -1; kp = kvm_getprocs(kd, what, flag, &nentries); - if ((kp == 0 && nentries != 0) || nentries < 0) + if ((kp == 0 && nentries > 0) || (kp != 0 && nentries < 0)) errx(1, "%s", kvm_geterr(kd)); nkept = 0; if (nentries > 0) { ==== //depot/projects/gdb/sys/nfsclient/nfs_socket.c#4 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_socket.c,v 1.104 2004/03/25 21:48:08 rees Exp $"); +__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_socket.c,v 1.105 2004/03/28 05:55:27 kan Exp $"); /* * Socket operations for use by nfs @@ -1188,6 +1188,7 @@ } } splx(s); + callout_reset(&nfs_callout, nfs_ticks, nfs_timer, NULL); } /* ==== //depot/projects/gdb/sys/rpc/rpcclnt.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/rpc/rpcclnt.c,v 1.8 2004/03/25 21:48:09 rees Exp $ */ +/* $FreeBSD: src/sys/rpc/rpcclnt.c,v 1.9 2004/03/28 05:55:27 kan Exp $ */ /* $Id: rpcclnt.c,v 1.9 2003/11/05 14:59:03 rees Exp $ */ /* @@ -1478,6 +1478,8 @@ #ifdef __OpenBSD__ timeout_add(rpcclnt_timer, to, rpcclnt_ticks); +#else + callout_reset(&rpcclnt_callout, rpcclnt_ticks, rpcclnt_timer, NULL); #endif } ==== //depot/projects/gdb/sys/sys/proc.h#7 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)proc.h 8.15 (Berkeley) 5/19/95 - * $FreeBSD: src/sys/sys/proc.h,v 1.370 2004/03/27 14:30:43 mtm Exp $ + * $FreeBSD: src/sys/sys/proc.h,v 1.371 2004/03/28 04:17:36 bde Exp $ */ #ifndef _SYS_PROC_H_ @@ -341,7 +341,8 @@ struct mdthread td_md; /* (k) Any machine-dependent fields. */ struct td_sched *td_sched; /* (*) Scheduler-specific data. */ }; -/* flags kept in td_flags */ + +/* Flags kept in td_flags: */ #define TDF_INPANIC 0x000002 /* Caused a panic, let it drive crashdump. */ #define TDF_CAN_UNBIND 0x000004 /* Only temporarily bound. */ #define TDF_SINTR 0x000008 /* Sleep is interruptible. */ @@ -352,16 +353,16 @@ #define TDF_ASTPENDING 0x000800 /* Thread has some asynchronous events. */ #define TDF_TIMOFAIL 0x001000 /* Timeout from sleep after we were awake. */ #define TDF_INTERRUPT 0x002000 /* Thread is marked as interrupted. */ -#define TDF_USTATCLOCK 0x004000 /* Stat clock hits in userland. */ +#define TDF_USTATCLOCK 0x004000 /* Finish user statclock hit at next AST. */ #define TDF_OWEUPC 0x008000 /* Owe thread an addupc() call at next AST. */ #define TDF_NEEDRESCHED 0x010000 /* Thread needs to yield. */ #define TDF_NEEDSIGCHK 0x020000 /* Thread may need signal delivery. */ #define TDF_SA 0x040000 /* A scheduler activation based thread. */ -#define TDF_UMTXWAKEUP 0x080000 /* Libthr thread must not sleep on a umtx. */ -#define TDF_THRWAKEUP 0x100000 /* Libthr thread must not suspend itself. */ +#define TDF_UMTXWAKEUP 0x080000 /* Libthr thread must not sleep on a umtx. */ +#define TDF_THRWAKEUP 0x100000 /* Libthr thread must not suspend itself. */ #define TDF_DEADLKTREAT 0x800000 /* Lock aquisition - deadlock treatment. */ -/* "private" flags kept in td_pflags */ +/* "Private" flags kept in td_pflags: */ #define TDP_OLDMASK 0x0001 /* Need to restore mask after suspend. */ #define TDP_INKTR 0x0002 /* Thread is currently in KTR code. */ #define TDP_INKTRACE 0x0004 /* Thread is currently in KTRACE code. */ From owner-p4-projects@FreeBSD.ORG Sun Mar 28 06:59:14 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 42A6616A4D0; Sun, 28 Mar 2004 06:59:14 -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 0506016A4CE for ; Sun, 28 Mar 2004 06:59:14 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EEE1343D3F for ; Sun, 28 Mar 2004 06:59:13 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2SExDGe017395 for ; Sun, 28 Mar 2004 06:59:13 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2SExCR4017380 for perforce@freebsd.org; Sun, 28 Mar 2004 06:59:12 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 28 Mar 2004 06:59:12 -0800 (PST) Message-Id: <200403281459.i2SExCR4017380@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 49841 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: Sun, 28 Mar 2004 14:59:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=49841 Change 49841 by rwatson@rwatson_paprika on 2004/03/28 06:58:50 Integ netperf_socket: On alpha, pin interrupt threads to a particular CPU so that PAL access is performed consistently from the same CPU. amd64 feature mask printing. Kernel stack size fixes across various platforms. libthr uses thr_wake() and thr_suspend(). More NDIS hackery. More ACPI hackery. More cpumask changes. Pipe performance optimizations. in_pcb*() accepts creds not threads. Additional IPv6 option handling. Affected files ... .. //depot/projects/netperf_socket/sys/alpha/alpha/interrupt.c#2 integrate .. //depot/projects/netperf_socket/sys/amd64/amd64/identcpu.c#3 integrate .. //depot/projects/netperf_socket/sys/amd64/amd64/vm_machdep.c#4 integrate .. //depot/projects/netperf_socket/sys/amd64/conf/GENERIC#4 integrate .. //depot/projects/netperf_socket/sys/boot/alpha/common/conf.c#2 integrate .. //depot/projects/netperf_socket/sys/boot/i386/boot0/boot0ext.s#1 branch .. //depot/projects/netperf_socket/sys/boot/i386/boot0ext/Makefile#1 branch .. //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_proto.h#3 integrate .. //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_syscall.h#3 integrate .. //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_syscalls.c#3 integrate .. //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_sysent.c#3 integrate .. //depot/projects/netperf_socket/sys/compat/freebsd32/syscalls.master#3 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/kern_ndis.c#8 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/subr_ndis.c#6 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/subr_ntoskrnl.c#9 integrate .. //depot/projects/netperf_socket/sys/conf/files.i386#10 integrate .. //depot/projects/netperf_socket/sys/conf/files.powerpc#3 integrate .. //depot/projects/netperf_socket/sys/conf/kern.pre.mk#8 integrate .. //depot/projects/netperf_socket/sys/contrib/dev/acpica/acfreebsd.h#4 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#8 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi_pcib.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/firewire.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/firewire.h#2 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/firewirereg.h#2 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/fwcrom.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/fwdev.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/fwdma.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/fwmem.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/fwohci.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/fwohci_pci.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/fwohcivar.h#2 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/if_fwe.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/sbp.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/sbp_targ.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/if_ndis/if_ndis.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/ips/ips.h#4 integrate .. //depot/projects/netperf_socket/sys/dev/isp/isp_sbus.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/pccard/pccarddevs#3 integrate .. //depot/projects/netperf_socket/sys/dev/pccard/pccarddevs.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/twe/twe.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/twe/twe_freebsd.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/twe/twevar.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/usb/ohci.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/wi/if_wi_pccard.c#2 integrate .. //depot/projects/netperf_socket/sys/ia64/ia64/vm_machdep.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/init_sysent.c#5 integrate .. //depot/projects/netperf_socket/sys/kern/kern_thr.c#2 integrate .. //depot/projects/netperf_socket/sys/kern/kern_umtx.c#2 integrate .. //depot/projects/netperf_socket/sys/kern/sched_ule.c#4 integrate .. //depot/projects/netperf_socket/sys/kern/subr_bus.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/subr_param.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/subr_smp.c#6 integrate .. //depot/projects/netperf_socket/sys/kern/subr_witness.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/sys_pipe.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/sys_process.c#4 integrate .. //depot/projects/netperf_socket/sys/kern/syscalls.c#5 integrate .. //depot/projects/netperf_socket/sys/kern/syscalls.master#5 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_mount.c#5 integrate .. //depot/projects/netperf_socket/sys/modules/Makefile#6 integrate .. //depot/projects/netperf_socket/sys/modules/netgraph/sppp/Makefile#1 branch .. //depot/projects/netperf_socket/sys/netgraph/ng_sppp.c#1 branch .. //depot/projects/netperf_socket/sys/netgraph/ng_sppp.h#1 branch .. //depot/projects/netperf_socket/sys/netgraph/ng_tee.c#3 integrate .. //depot/projects/netperf_socket/sys/netinet/in_pcb.c#4 integrate .. //depot/projects/netperf_socket/sys/netinet/in_pcb.h#2 integrate .. //depot/projects/netperf_socket/sys/netinet/ip6.h#2 integrate .. //depot/projects/netperf_socket/sys/netinet/ip_divert.c#4 integrate .. //depot/projects/netperf_socket/sys/netinet/ip_output.c#6 integrate .. //depot/projects/netperf_socket/sys/netinet/raw_ip.c#3 integrate .. //depot/projects/netperf_socket/sys/netinet/tcp_syncache.c#5 integrate .. //depot/projects/netperf_socket/sys/netinet/tcp_usrreq.c#4 integrate .. //depot/projects/netperf_socket/sys/netinet/udp_usrreq.c#4 integrate .. //depot/projects/netperf_socket/sys/netinet6/in6_pcb.c#4 integrate .. //depot/projects/netperf_socket/sys/netinet6/in6_pcb.h#3 integrate .. //depot/projects/netperf_socket/sys/netinet6/in6_src.c#3 integrate .. //depot/projects/netperf_socket/sys/netinet6/ip6_output.c#3 integrate .. //depot/projects/netperf_socket/sys/netinet6/raw_ip6.c#3 integrate .. //depot/projects/netperf_socket/sys/netinet6/udp6_output.c#3 integrate .. //depot/projects/netperf_socket/sys/netinet6/udp6_usrreq.c#3 integrate .. //depot/projects/netperf_socket/sys/nfs4client/nfs4_dev.h#2 integrate .. //depot/projects/netperf_socket/sys/nfsclient/nfs.h#4 integrate .. //depot/projects/netperf_socket/sys/nfsclient/nfs_socket.c#4 integrate .. //depot/projects/netperf_socket/sys/nfsclient/nfs_subs.c#3 integrate .. //depot/projects/netperf_socket/sys/pc98/conf/NOTES#5 integrate .. //depot/projects/netperf_socket/sys/pc98/i386/machdep.c#2 integrate .. //depot/projects/netperf_socket/sys/pc98/pc98/fd.c#5 integrate .. //depot/projects/netperf_socket/sys/pci/if_ste.c#5 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/uio_machdep.c#1 branch .. //depot/projects/netperf_socket/sys/rpc/rpcclnt.c#4 integrate .. //depot/projects/netperf_socket/sys/sparc64/ebus/ebus.c#2 integrate .. //depot/projects/netperf_socket/sys/sparc64/sbus/sbus.c#2 integrate .. //depot/projects/netperf_socket/sys/sparc64/sparc64/iommu.c#2 integrate .. //depot/projects/netperf_socket/sys/sparc64/sparc64/vm_machdep.c#3 integrate .. //depot/projects/netperf_socket/sys/sys/param.h#6 integrate .. //depot/projects/netperf_socket/sys/sys/pcpu.h#3 integrate .. //depot/projects/netperf_socket/sys/sys/pipe.h#3 integrate .. //depot/projects/netperf_socket/sys/sys/proc.h#3 integrate .. //depot/projects/netperf_socket/sys/sys/smp.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/syscall.h#5 integrate .. //depot/projects/netperf_socket/sys/sys/syscall.mk#5 integrate .. //depot/projects/netperf_socket/sys/sys/sysproto.h#5 integrate .. //depot/projects/netperf_socket/sys/sys/thr.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/tree.h#3 integrate .. //depot/projects/netperf_socket/sys/vm/vm_map.c#4 integrate Differences ... ==== //depot/projects/netperf_socket/sys/alpha/alpha/interrupt.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ #include /* RCS ID & Copyright macro defns */ /* __KERNEL_RCSID(0, "$NetBSD: interrupt.c,v 1.23 1998/02/24 07:38:01 thorpej Exp $");*/ -__FBSDID("$FreeBSD: src/sys/alpha/alpha/interrupt.c,v 1.76 2003/11/17 06:10:14 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/interrupt.c,v 1.77 2004/03/23 22:28:16 jhb Exp $"); #include #include @@ -47,6 +47,7 @@ #include #include #include +#include #include #include #include @@ -447,8 +448,16 @@ "alpha_dispatch_intr: disabling vector 0x%x", i->vector); ithd->it_disable(ithd->it_vector); } - error = ithread_schedule(ithd, 0 /* !cold */); + + /* + * It seems that we need to return from an interrupt back to PAL + * on the same CPU that received the interrupt, so pin the interrupted + * thread to the current CPU until we return from the interrupt. + */ + sched_pin(); + error = ithread_schedule(ithd, !cold); KASSERT(error == 0, ("got an impossible stray interrupt")); + sched_unpin(); } static void ==== //depot/projects/netperf_socket/sys/amd64/amd64/identcpu.c#3 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.129 2004/03/06 00:51:30 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.130 2004/03/25 03:38:31 peter Exp $"); #include "opt_cpu.h" @@ -73,6 +73,7 @@ static void print_AMD_info(void); static void print_AMD_assoc(int i); +int cpu_feature2; /* XXX change cpu_feature to long? */ int cpu_class; u_int cpu_exthigh; /* Highest arg to extended CPUID */ char machine[] = "amd64"; @@ -218,6 +219,44 @@ "\040PBE" /* Pending Break Enable */ ); + if (cpu_feature2 != 0) { + printf("\n Features2=0x%b", cpu_feature2, + "\020" + "\001SSE3" /* SSE3 */ + "\002" + "\003RSVD2>" /* "Reserved" bit 2 */ + "\004MON" /* MONITOR/MWAIT Instructions */ + "\005DS_CPL" /* CPL Qualified Debug Store */ + "\006" /* Machine specific registers */ + "\007" /* Physical address extension */ + "\010EST" /* Enhanced SpeedStep */ + "\011TM2" /* Thermal Monitor 2 */ + "\012" + "\013CNTX-ID" /* L1 context ID available */ + "\014" + "\015" + "\016CX16" /* CMPXCHG16B Instruction */ + "\017" + "\020" + "\021" + "\022" + "\023" + "\024" + "\025" + "\026" + "\027" + "\030" + "\031" + "\032" + "\033" + "\034" + "\035" + "\036" + "\037" + "\040" + ); + } + /* * If this CPU supports hyperthreading then mention * the number of logical CPU's it contains. @@ -227,10 +266,8 @@ printf("\n Hyperthreading: %d logical CPUs", (cpu_procinfo & CPUID_HTT_CORES) >> 16); } - if (strcmp(cpu_vendor, "AuthenticAMD") == 0 && - cpu_exthigh >= 0x80000001) + if (cpu_exthigh >= 0x80000001) print_AMD_features(); - } else if (strcmp(cpu_vendor, "CyrixInstead") == 0) { } /* Avoid ugly blank lines: only print newline when we have to. */ if (*cpu_vendor || cpu_id) @@ -285,6 +322,7 @@ cpu_id = regs[0]; cpu_procinfo = regs[1]; cpu_feature = regs[3]; + cpu_feature2 = regs[2]; /* XXX */ cpu = CPU_CLAWHAMMER; @@ -339,7 +377,7 @@ * http://www.amd.com/products/cpg/athlon/techdocs/pdf/20734.pdf */ do_cpuid(0x80000001, regs); - printf("\n AMD Features=0x%b", regs[3] &~ cpu_feature, + printf("\n AMD Features=0x%b", regs[3] & ~(cpu_feature & 0x0183f3ff), "\020" /* in hex */ "\001FPU" /* Integral FPU */ "\002VME" /* Extended VM86 mode support */ @@ -356,7 +394,7 @@ "\015MTRR" /* Memory Type Range Registers */ "\016PGE" /* PG_G (global bit) support */ "\017MCA" /* Machine Check Architecture */ - "\020ICMOV" /* CMOV instruction */ + "\020CMOV" /* CMOV instruction */ "\021PAT" /* Page attributes table */ "\022PGE36" /* 36 bit address space support */ "\023RSVD" /* Reserved, unknown */ ==== //depot/projects/netperf_socket/sys/amd64/amd64/vm_machdep.c#4 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.229 2004/03/16 19:04:27 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.230 2004/03/25 03:39:38 peter Exp $"); #include "opt_isa.h" #include "opt_kstack_pages.h" @@ -124,7 +124,8 @@ fpuexit(td1); /* Point the pcb to the top of the stack */ - pcb2 = (struct pcb *)(td2->td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; + pcb2 = (struct pcb *)(td2->td_kstack + + td2->td_kstack_pages * PAGE_SIZE) - 1; td2->td_pcb = pcb2; /* Copy p1's pcb */ @@ -247,8 +248,8 @@ cpu_thread_setup(struct thread *td) { - td->td_pcb = - (struct pcb *)(td->td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; + td->td_pcb = (struct pcb *)(td->td_kstack + + td->td_kstack_pages * PAGE_SIZE) - 1; td->td_frame = (struct trapframe *)td->td_pcb - 1; } ==== //depot/projects/netperf_socket/sys/amd64/conf/GENERIC#4 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.404 2004/03/15 00:49:39 obrien Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.405 2004/03/25 03:19:28 obrien Exp $ machine amd64 cpu HAMMER @@ -39,6 +39,7 @@ options NFSCLIENT # Network Filesystem Client options NFSSERVER # Network Filesystem Server options NFS_ROOT # NFS usable as /, requires NFSCLIENT +options NTFS # NT File System options MSDOSFS # MSDOS Filesystem options CD9660 # ISO 9660 Filesystem options PROCFS # Process filesystem (requires PSEUDOFS) ==== //depot/projects/netperf_socket/sys/boot/alpha/common/conf.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/alpha/common/conf.c,v 1.5 2004/01/04 23:21:01 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/alpha/common/conf.c,v 1.6 2004/03/25 20:36:57 jhb Exp $"); #include #include "libalpha/libalpha.h" @@ -67,6 +67,7 @@ &nfs_fsops, #endif &gzipfs_fsops, + &splitfs_fsops, NULL }; ==== //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_proto.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.22 2004/02/21 23:38:57 peter Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.35 2004/02/21 23:37:33 peter Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.23 2004/03/27 14:34:17 mtm Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.36 2004/03/27 14:30:42 mtm Exp */ #ifndef _FREEBSD32_SYSPROTO_H_ ==== //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_syscall.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.22 2004/02/21 23:38:57 peter Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.35 2004/02/21 23:37:33 peter Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.23 2004/03/27 14:34:17 mtm Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.36 2004/03/27 14:30:42 mtm Exp */ #define FREEBSD32_SYS_syscall 0 @@ -295,4 +295,6 @@ #define FREEBSD32_SYS__umtx_lock 434 #define FREEBSD32_SYS__umtx_unlock 435 #define FREEBSD32_SYS_jail_attach 436 -#define FREEBSD32_SYS_MAXSYSCALL 442 +#define FREEBSD32_SYS_thr_suspend 442 +#define FREEBSD32_SYS_thr_wake 443 +#define FREEBSD32_SYS_MAXSYSCALL 444 ==== //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_syscalls.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.13 2004/02/21 23:38:58 peter Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.35 2004/02/21 23:37:33 peter Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.14 2004/03/27 14:34:17 mtm Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.36 2004/03/27 14:30:42 mtm Exp */ const char *freebsd32_syscallnames[] = { @@ -449,4 +449,6 @@ "#439", /* 439 = extattr_list_link */ "#440", /* 440 = kse_switchin */ "#441", /* 441 = ksem_timedwait */ + "thr_suspend", /* 442 = thr_suspend */ + "thr_wake", /* 443 = thr_wake */ }; ==== //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_sysent.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.23 2004/02/21 23:38:58 peter Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.35 2004/02/21 23:37:33 peter Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.24 2004/03/27 14:34:17 mtm Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.36 2004/03/27 14:30:42 mtm Exp */ #include "opt_compat.h" @@ -467,4 +467,6 @@ { 0, (sy_call_t *)nosys }, /* 439 = extattr_list_link */ { 0, (sy_call_t *)nosys }, /* 440 = kse_switchin */ { 0, (sy_call_t *)nosys }, /* 441 = ksem_timedwait */ + { SYF_MPSAFE | AS(thr_suspend_args), (sy_call_t *)thr_suspend }, /* 442 = thr_suspend */ + { SYF_MPSAFE | AS(thr_wake_args), (sy_call_t *)thr_wake }, /* 443 = thr_wake */ }; ==== //depot/projects/netperf_socket/sys/compat/freebsd32/syscalls.master#3 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.35 2004/02/21 23:37:33 peter Exp $ + $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.36 2004/03/27 14:30:42 mtm Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; from: src/sys/kern/syscalls.master 1.107 ; @@ -604,3 +604,5 @@ 439 UNIMPL extattr_list_link 440 UNIMPL kse_switchin 441 UNIMPL ksem_timedwait +442 MNOPROTO { int thr_suspend(const struct timespec *timeout); } +443 MNOPROTO { int thr_wake(thr_id_t id); } ==== //depot/projects/netperf_socket/sys/compat/ndis/kern_ndis.c#8 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.44 2004/03/22 00:41:41 wpaul Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.47 2004/03/25 18:31:52 wpaul Exp $"); #include #include @@ -150,7 +150,7 @@ case MOD_SHUTDOWN: /* stop kthreads */ ndis_destroy_kthreads(); - if (TAILQ_FIRST(&ndis_devhead) != NULL) { + if (TAILQ_FIRST(&ndis_devhead) == NULL) { /* Shut down subsystems */ ndis_libfini(); ntoskrnl_libfini(); @@ -403,6 +403,39 @@ } int +ndis_unsched(func, arg, t) + void (*func)(void *); + void *arg; + int t; +{ + struct ndis_req *r; + struct ndisqhead *q; + struct proc *p; + + if (t == NDIS_TASKQUEUE) { + q = &ndis_ttodo; + p = ndis_tproc.np_p; + } else { + q = &ndis_itodo; + p = ndis_iproc.np_p; + } + + mtx_pool_lock(ndis_mtxpool, ndis_thr_mtx); + STAILQ_FOREACH(r, q, link) { + if (r->nr_func == func && r->nr_arg == arg) { + STAILQ_REMOVE(q, r, ndis_req, link); + STAILQ_INSERT_HEAD(&ndis_free, r, link); + mtx_pool_unlock(ndis_mtxpool, ndis_thr_mtx); + return(0); + } + } + + mtx_pool_unlock(ndis_mtxpool, ndis_thr_mtx); + + return(ENOENT); +} + +int ndis_sched(func, arg, t) void (*func)(void *); void *arg; @@ -738,7 +771,9 @@ ndis_miniport_block *block; device_t dev; struct resource_list *brl; - struct resource_list_entry *brle; + struct resource_list brl_rev; + struct resource_list_entry *brle, *n; + int error = 0; sc = arg; block = &sc->ndis_block; @@ -758,7 +793,34 @@ brl = BUS_GET_RESOURCE_LIST(device_get_parent(dev), dev); if (brl != NULL) { + + /* + * We have a small problem. Some PCI devices have + * multiple I/O ranges. Windows orders them starting + * from lowest numbered BAR to highest. We discover + * them in that order too, but insert them into a singly + * linked list head first, which means when time comes + * to traverse the list, we enumerate them in reverse + * order. This screws up some drivers which expect the + * BARs to be in ascending order so that they can choose + * the "first" one as their register space. Unfortunately, + * in order to fix this, we have to create our own + * temporary list with the entries in reverse order. + */ + SLIST_INIT(&brl_rev); SLIST_FOREACH(brle, brl, link) { + n = malloc(sizeof(struct resource_list_entry), + M_TEMP, M_NOWAIT); + if (n == NULL) { + error = ENOMEM; + goto bad; + } + bcopy((char *)brle, (char *)n, + sizeof(struct resource_list_entry)); + SLIST_INSERT_HEAD(&brl_rev, n, link); + } + + SLIST_FOREACH(brle, &brl_rev, link) { switch (brle->type) { case SYS_RES_IOPORT: prd->cprd_type = CmResourceTypePort; @@ -787,7 +849,15 @@ block->nmb_rlist = rl; - return(0); +bad: + + while (!SLIST_EMPTY(&brl_rev)) { + n = SLIST_FIRST(&brl_rev); + SLIST_REMOVE_HEAD(&brl_rev, link); + free (n, M_TEMP); + } + + return(error); } /* ==== //depot/projects/netperf_socket/sys/compat/ndis/subr_ndis.c#6 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.52 2004/03/20 23:39:43 wpaul Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.53 2004/03/25 18:31:52 wpaul Exp $"); /* * This file implements a translation layer between the BSD networking @@ -1906,12 +1906,12 @@ ndis_event *event; { /* - * NDIS events are always synchronization + * NDIS events are always notification * events, and should be initialized to the * not signaled state. */ - ntoskrnl_init_event(&event->ne_event, EVENT_TYPE_SYNC, FALSE); + ntoskrnl_init_event(&event->ne_event, EVENT_TYPE_NOTIFY, FALSE); return; } ==== //depot/projects/netperf_socket/sys/compat/ndis/subr_ntoskrnl.c#9 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.30 2004/03/22 00:41:41 wpaul Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.33 2004/03/27 20:38:43 wpaul Exp $"); #include #include @@ -85,7 +85,7 @@ int64_t *, wait_block *); static void ntoskrnl_wakeup(void *); static void ntoskrnl_timercall(void *); -static void ntoskrnl_timersched(void *); +static void ntoskrnl_run_dpc(void *); __stdcall static void ntoskrnl_writereg_ushort(uint16_t *, uint16_t); __stdcall static uint16_t ntoskrnl_readreg_ushort(uint16_t *); __stdcall static void ntoskrnl_writereg_ulong(uint32_t *, uint32_t); @@ -147,6 +147,7 @@ uint32_t, uint32_t *); static int atoi (const char *); static long atol (const char *); +static int rand(void); static void ntoskrnl_time(uint64_t *); __stdcall static uint8_t ntoskrnl_wdmver(uint8_t, uint8_t); static void ntoskrnl_thrfunc(void *); @@ -1355,6 +1356,16 @@ return strtol(str, (char **)NULL, 10); } +static int +rand(void) +{ + struct timeval tv; + + microtime(&tv); + srandom(tv.tv_usec); + return((int)random()); +} + __stdcall static uint8_t ntoskrnl_wdmver(major, minor) uint8_t major; @@ -1617,7 +1628,6 @@ ntoskrnl_kth--; - mtx_lock(&Giant); kthread_exit(0); return(0); /* notreached */ } @@ -1642,31 +1652,14 @@ return; } -/* - * We run all timer callouts in the ndis swi thread to take - * advantage of its larger stack size. If we don't do this, - * the callout will run in the clock ithread context. - */ - -static void -ntoskrnl_timersched(arg) - void *arg; -{ - ndis_sched(ntoskrnl_timercall, arg, NDIS_SWI); - return; -} - static void ntoskrnl_timercall(arg) void *arg; { ktimer *timer; - __stdcall kdpc_func timerfunc; - kdpc *dpc; struct timeval tv; timer = arg; - dpc = timer->k_dpc; /* * If this is a periodic timer, re-arm it @@ -1681,14 +1674,11 @@ tv.tv_sec = 0; tv.tv_usec = timer->k_period * 1000; timer->k_handle = - timeout(ntoskrnl_timersched, timer, tvtohz(&tv)); + timeout(ntoskrnl_timercall, timer, tvtohz(&tv)); } - if (dpc != NULL) { - timerfunc = (kdpc_func)dpc->k_deferedfunc; - timerfunc(dpc, dpc->k_deferredctx, - dpc->k_sysarg1, dpc->k_sysarg2); - } + if (timer->k_dpc != NULL) + ntoskrnl_queue_dpc(timer->k_dpc, NULL, NULL); ntoskrnl_wakeup(&timer->k_header); @@ -1728,6 +1718,25 @@ return; } +/* + * This is a wrapper for Windows deferred procedure calls that + * have been placed on an NDIS thread work queue. We need it + * since the DPC could be a _stdcall function. + */ +static void +ntoskrnl_run_dpc(arg) + void *arg; +{ + __stdcall kdpc_func dpcfunc; + kdpc *dpc; + + dpc = arg; + dpcfunc = (kdpc_func)dpc->k_deferedfunc; + dpcfunc(dpc, dpc->k_deferredctx, dpc->k_sysarg1, dpc->k_sysarg2); + + return; +} + __stdcall void ntoskrnl_init_dpc(dpc, dpcfunc, dpcctx) kdpc *dpc; @@ -1744,6 +1753,30 @@ } __stdcall uint8_t +ntoskrnl_queue_dpc(dpc, sysarg1, sysarg2) + kdpc *dpc; + void *sysarg1; + void *sysarg2; +{ + dpc->k_sysarg1 = sysarg1; + dpc->k_sysarg2 = sysarg2; + if (ndis_sched(ntoskrnl_run_dpc, dpc, NDIS_SWI)) + return(FALSE); + + return(TRUE); +} + +__stdcall uint8_t +ntoskrnl_dequeue_dpc(dpc) + kdpc *dpc; +{ + if (ndis_unsched(ntoskrnl_run_dpc, dpc, NDIS_SWI)) + return(FALSE); + + return(TRUE); +} + +__stdcall uint8_t ntoskrnl_set_timer_ex(timer, duetime, period, dpc) ktimer *timer; int64_t duetime; @@ -1759,7 +1792,7 @@ if (timer->k_handle.callout != NULL && callout_pending(timer->k_handle.callout)) { - untimeout(ntoskrnl_timersched, timer, timer->k_handle); + untimeout(ntoskrnl_timercall, timer, timer->k_handle); pending = TRUE; } else pending = FALSE; @@ -1784,7 +1817,7 @@ } } - timer->k_handle = timeout(ntoskrnl_timersched, timer, tvtohz(&tv)); + timer->k_handle = timeout(ntoskrnl_timercall, timer, tvtohz(&tv)); return(pending); } @@ -1813,7 +1846,7 @@ else pending = FALSE; - untimeout(ntoskrnl_timersched, timer, timer->k_handle); + untimeout(ntoskrnl_timercall, timer, timer->k_handle); return(pending); } @@ -1886,6 +1919,7 @@ { "_aullshl", (FUNC)_aullshl }, { "atoi", (FUNC)atoi }, { "atol", (FUNC)atol }, + { "rand", (FUNC)rand }, { "WRITE_REGISTER_USHORT", (FUNC)ntoskrnl_writereg_ushort }, { "READ_REGISTER_USHORT", (FUNC)ntoskrnl_readreg_ushort }, { "WRITE_REGISTER_ULONG", (FUNC)ntoskrnl_writereg_ulong }, @@ -1926,11 +1960,13 @@ { "KeReadStateEvent", (FUNC)ntoskrnl_read_event }, { "KeInitializeTimer", (FUNC)ntoskrnl_init_timer }, { "KeInitializeTimerEx", (FUNC)ntoskrnl_init_timer_ex }, - { "KeInitializeDpc", (FUNC)ntoskrnl_init_dpc }, { "KeSetTimer", (FUNC)ntoskrnl_set_timer }, { "KeSetTimerEx", (FUNC)ntoskrnl_set_timer_ex }, { "KeCancelTimer", (FUNC)ntoskrnl_cancel_timer }, { "KeReadStateTimer", (FUNC)ntoskrnl_read_timer }, + { "KeInitializeDpc", (FUNC)ntoskrnl_init_dpc }, + { "KeInsertQueueDpc", (FUNC)ntoskrnl_queue_dpc }, + { "KeRemoveQueueDpc", (FUNC)ntoskrnl_dequeue_dpc }, { "ObReferenceObjectByHandle", (FUNC)ntoskrnl_objref }, { "ObfDereferenceObject", (FUNC)ntoskrnl_objderef }, { "ZwClose", (FUNC)ntoskrnl_zwclose }, ==== //depot/projects/netperf_socket/sys/conf/files.i386#10 (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.i386,v 1.480 2004/03/21 20:28:36 alc Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.481 2004/03/22 18:00:39 wpaul Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -137,8 +137,9 @@ dev/fb/splash.c optional splash dev/fb/vga.c optional vga dev/fe/if_fe_isa.c optional fe isa -dev/if_ndis/if_ndis.c optional ndis pci pccard +dev/if_ndis/if_ndis.c optional ndis dev/if_ndis/if_ndis_pci.c optional ndis pci +dev/if_ndis/if_ndis_pci.c optional ndis cardbus dev/if_ndis/if_ndis_pccard.c optional ndis card dev/if_ndis/if_ndis_pccard.c optional ndis pccard dev/kbd/atkbd.c optional atkbd ==== //depot/projects/netperf_socket/sys/conf/files.powerpc#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.powerpc,v 1.36 2004/02/12 09:17:15 grehan Exp $ +# $FreeBSD: src/sys/conf/files.powerpc,v 1.37 2004/03/23 18:26:02 alc Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -58,6 +58,7 @@ powerpc/powerpc/sys_machdep.c standard powerpc/powerpc/swtch.S standard powerpc/powerpc/trap.c standard +powerpc/powerpc/uio_machdep.c standard powerpc/powerpc/uma_machdep.c standard powerpc/powerpc/vm_machdep.c standard ==== //depot/projects/netperf_socket/sys/conf/kern.pre.mk#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.48 2004/03/21 05:10:34 marcel Exp $ +# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.49 2004/03/25 00:02:49 obrien Exp $ # Part of a unified Makefile for building kernels. This part contains all # of the definitions that need to be before %BEFORE_DEPEND. @@ -19,7 +19,7 @@ .if ${CC} == "icc" COPTFLAGS?=-O .else -. if ${MACHINE_ARCH} == "amd64" +. if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "sparc64" COPTFLAGS?=-O2 -frename-registers -pipe . elif ${MACHINE_ARCH} == "ia64" COPTFLAGS?=-O2 -pipe ==== //depot/projects/netperf_socket/sys/contrib/dev/acpica/acfreebsd.h#4 (text+ko) ==== @@ -119,17 +119,10 @@ /* * Some systems' ASL may have problems because they look for names - * of Microsoft operating systems. We default to "Microsoft Windows NT" - * (aka NT5 or Windows 2000) because it is most similar to our - * implementation and also most prevalent. - * - * To override this, set hw.acpi.os_name to the appropriate string. + * of Microsoft operating systems. To override this, set hw.acpi.os_name + * to the appropriate string. */ -#ifndef ACPICA_PEDANTIC -#define ACPI_OS_NAME "Microsoft Windows NT" -#else #define ACPI_OS_NAME "FreeBSD" -#endif /* FreeBSD uses GCC */ ==== //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#8 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.128 2004/03/19 07:05:01 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.129 2004/03/27 16:26:00 takawata Exp $ */ #include "opt_acpi.h" @@ -140,7 +140,51 @@ static int acpi_supported_sleep_state_sysctl(SYSCTL_HANDLER_ARGS); static int acpi_sleep_state_sysctl(SYSCTL_HANDLER_ARGS); static int acpi_pm_func(u_long cmd, void *arg, ...); +static int acpi_child_location_str_method(device_t acdev, device_t child, + char *buf, size_t buflen); +static int acpi_child_pnpinfo_str_method(device_t acdev, device_t child, + char *buf, size_t buflen); + +int +acpi_child_location_str_method(device_t cbdev, device_t child, char *buf, + size_t buflen) +{ + struct acpi_device *dinfo= device_get_ivars(child); + + dinfo = device_get_ivars(child); + if(dinfo->ad_handle) + snprintf(buf, buflen, "path=%s", acpi_name(dinfo->ad_handle)); + else + snprintf(buf, buflen, "magic=unknown"); + return (0); +} + +int +acpi_child_pnpinfo_str_method(device_t cbdev, device_t child, char *buf, + size_t buflen) +{ + struct acpi_device *dinfo = device_get_ivars(child); + ACPI_DEVICE_INFO adinfo; + ACPI_BUFFER adbuf = {sizeof(adinfo), &adinfo}; + char * end; + int error; + + dinfo = device_get_ivars(child); + error = AcpiGetObjectInfo(dinfo->ad_handle, &adbuf); + + if(error) + snprintf(buf, buflen, "Unknown"); + else + snprintf(buf, buflen, "_HID=%s _UID=%u", + (adinfo.Valid & ACPI_VALID_HID)? + adinfo.HardwareId.Value : "UNKNOWN", + (unsigned int)((adinfo.Valid & ACPI_VALID_UID)? + strtoul(adinfo.UniqueId.Value, &end, 10):0 )); + return (0); +} + + static device_method_t acpi_methods[] = { /* Device interface */ DEVMETHOD(device_identify, acpi_identify), @@ -160,6 +204,8 @@ DEVMETHOD(bus_get_resource, acpi_get_resource), DEVMETHOD(bus_alloc_resource, acpi_alloc_resource), DEVMETHOD(bus_release_resource, acpi_release_resource), + DEVMETHOD(bus_child_pnpinfo_str, acpi_child_pnpinfo_str_method), + DEVMETHOD(bus_child_location_str, acpi_child_location_str_method), DEVMETHOD(bus_driver_added, bus_generic_driver_added), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), ==== //depot/projects/netperf_socket/sys/dev/acpica/acpi_pcib.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib.c,v 1.38 2004/03/20 20:47:08 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib.c,v 1.41 2004/03/22 20:39:20 njl Exp $"); #include "opt_acpi.h" #include @@ -35,7 +35,6 @@ #include #include "acpi.h" - #include #include @@ -44,9 +43,7 @@ #include #include "pcib_if.h" -/* - * Hooks for the ACPI CA debugging infrastructure - */ +/* Hooks for the ACPI CA debugging infrastructure. */ #define _COMPONENT ACPI_BUS ACPI_MODULE_NAME("PCI") @@ -68,12 +65,12 @@ return_VALUE(ENXIO); /* - * Get the PCI interrupt routing table for this bus. + * Get the PCI interrupt routing table for this bus. If we can't + * get it, this is not an error but may reduce functionality. */ prt->Length = ACPI_ALLOCATE_BUFFER; status = AcpiGetIrqRoutingTable(acpi_get_handle(dev), prt); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Mar 28 13:15:53 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9793A16A4D5; Sun, 28 Mar 2004 13:15:53 -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 3D65116A4CF for ; Sun, 28 Mar 2004 13:15:53 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 33BBC43D46 for ; Sun, 28 Mar 2004 13:15:53 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2SLFrGe015352 for ; Sun, 28 Mar 2004 13:15:53 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2SLFq1C015349 for perforce@freebsd.org; Sun, 28 Mar 2004 13:15:52 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sun, 28 Mar 2004 13:15:52 -0800 (PST) Message-Id: <200403282115.i2SLFq1C015349@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 49848 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: Sun, 28 Mar 2004 21:15:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=49848 Change 49848 by marcel@marcel_nfs on 2004/03/28 13:15:17 Commit to adding thread IDs. Threads create as part of a fork will inherit the process ID as before. Threads created by 1:1 or M:N threading will get an ID in a seperate range so that they won't affect or conflict with process creation. Add thread_new_tid() to assign new thread IDs. Provide a place holder for now. Move the td_tid field out of the zero range. It now needs to be set explicitly. Affected files ... .. //depot/projects/gdb/sys/kern/kern_fork.c#8 edit .. //depot/projects/gdb/sys/kern/kern_thr.c#3 edit .. //depot/projects/gdb/sys/kern/kern_thread.c#6 edit .. //depot/projects/gdb/sys/sys/proc.h#8 edit Differences ... ==== //depot/projects/gdb/sys/kern/kern_fork.c#8 (text+ko) ==== @@ -497,8 +497,8 @@ (unsigned) RANGEOF(struct ksegrp, kg_startcopy, kg_endcopy)); #undef RANGEOF + td2->td_tid = p2->p_pid; td2->td_sigstk = td->td_sigstk; - td2->td_tid = p2->p_pid; /* Set up the thread as an active thread (as if runnable). */ ke2->ke_state = KES_THREAD; ==== //depot/projects/gdb/sys/kern/kern_thr.c#3 (text+ko) ==== @@ -133,6 +133,7 @@ /* Initialize our td. */ td0 = thread_alloc(); + td0->td_tid = thread_new_tid(); /* * Try the copyout as soon as we allocate the td so we don't have to ==== //depot/projects/gdb/sys/kern/kern_thread.c#6 (text+ko) ==== @@ -1032,6 +1032,17 @@ } /* + * Assign a thread ID between 100000 and 999999. + */ +int +thread_new_tid(void) +{ + static int next_tid = 100000; + + return (next_tid++); +} + +/* * Store the thread context in the UTS's mailbox. * then add the mailbox at the head of a list we are building in user space. * The list is anchored in the ksegrp structure. @@ -1472,8 +1483,10 @@ if (td->td_standin) return; - if (spare == NULL) + if (spare == NULL) { spare = thread_alloc(); + spare->td_tid = thread_new_tid(); + } td->td_standin = spare; bzero(&spare->td_startzero, (unsigned)RANGEOF(struct thread, td_startzero, td_endzero)); ==== //depot/projects/gdb/sys/sys/proc.h#8 (text+ko) ==== @@ -145,6 +145,7 @@ * p - select lock (sellock) * q - td_contested lock * r - p_peers lock + * t - updated at kernel (re)entry. Read-only in all other cases. * x - created at fork, only changes during single threading in exec * z - zombie threads/kse/ksegroup lock * @@ -268,14 +269,14 @@ TAILQ_HEAD(, selinfo) td_selq; /* (p) List of selinfos. */ struct sleepqueue *td_sleepqueue; /* (k) Associated sleep queue. */ struct turnstile *td_turnstile; /* (k) Associated turnstile. */ + int td_tid; /* (b) Thread ID. */ /* Cleared during fork1() or thread_sched_upcall(). */ #define td_startzero td_flags int td_flags; /* (j) TDF_* flags. */ int td_inhibitors; /* (j) Why can not run. */ int td_pflags; /* (k) Private thread (TDP_*) flags. */ - int td_tid; /* XXX currently unused. */ - struct trapframe *td_last_frame; + struct trapframe *td_last_frame; /* (t) Trapframe of last entry. */ struct kse *td_last_kse; /* (j) Previous value of td_kse. */ struct kse *td_kse; /* (j) Current KSE if running. */ int td_dupfd; /* (k) Ret value from fdopen. XXX */ @@ -905,6 +906,7 @@ int thread_export_context(struct thread *td, int willexit); void thread_free(struct thread *td); void thread_link(struct thread *td, struct ksegrp *kg); +int thread_new_tid(void); void thread_reap(void); struct thread *thread_schedule_upcall(struct thread *td, struct kse_upcall *ku); int thread_single(int how); From owner-p4-projects@FreeBSD.ORG Sun Mar 28 14:44:42 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3C86816A4D0; Sun, 28 Mar 2004 14:44:42 -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 017DF16A4CE for ; Sun, 28 Mar 2004 14:44:42 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EB0A443D53 for ; Sun, 28 Mar 2004 14:44:41 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2SMifGe034644 for ; Sun, 28 Mar 2004 14:44:41 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2SMiffN034641 for perforce@freebsd.org; Sun, 28 Mar 2004 14:44:41 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sun, 28 Mar 2004 14:44:41 -0800 (PST) Message-Id: <200403282244.i2SMiffN034641@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 49851 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: Sun, 28 Mar 2004 22:44:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=49851 Change 49851 by marcel@marcel_nfs on 2004/03/28 14:44:06 Fix coredumps for multi-threaded applications that use 1:1 or M:N threading. When multiple kernel threads exist in a process, we want to dump the context of each thread so that the debugger has a chance to figure out where each of the bound or system scoped threads was and libthread_db has a chance to map user threads to system threads (if applicable). This change is dependent on kernel threads having IDs. Affected files ... .. //depot/projects/gdb/sys/kern/imgact_elf.c#4 edit Differences ... ==== //depot/projects/gdb/sys/kern/imgact_elf.c#4 (text+ko) ==== @@ -922,8 +922,7 @@ static void each_writable_segment(struct proc *, segment_callback, void *); static int __elfN(corehdr)(struct thread *, struct vnode *, struct ucred *, int, void *, size_t); -static void __elfN(puthdr)(struct proc *, void *, size_t *, - const prstatus_t *, const prfpregset_t *, const prpsinfo_t *, int); +static void __elfN(puthdr)(struct proc *, void *, size_t *, int); static void __elfN(putnote)(void *, size_t *, const char *, int, const void *, size_t); @@ -953,9 +952,7 @@ * size is calculated. */ hdrsize = 0; - __elfN(puthdr)((struct proc *)NULL, (void *)NULL, &hdrsize, - (const prstatus_t *)NULL, (const prfpregset_t *)NULL, - (const prpsinfo_t *)NULL, seginfo.count); + __elfN(puthdr)(p, (void *)NULL, &hdrsize, seginfo.count); if (hdrsize + seginfo.size >= limit) return (EFAULT); @@ -1115,48 +1112,14 @@ size_t hdrsize; void *hdr; { - struct { - prstatus_t status; - prfpregset_t fpregset; - prpsinfo_t psinfo; - } *tempdata; struct proc *p = td->td_proc; size_t off; - prstatus_t *status; - prfpregset_t *fpregset; - prpsinfo_t *psinfo; - - tempdata = malloc(sizeof(*tempdata), M_TEMP, M_ZERO | M_WAITOK); - status = &tempdata->status; - fpregset = &tempdata->fpregset; - psinfo = &tempdata->psinfo; - - /* Gather the information for the header. */ - status->pr_version = PRSTATUS_VERSION; - status->pr_statussz = sizeof(prstatus_t); - status->pr_gregsetsz = sizeof(gregset_t); - status->pr_fpregsetsz = sizeof(fpregset_t); - status->pr_osreldate = osreldate; - status->pr_cursig = p->p_sig; - status->pr_pid = p->p_pid; - fill_regs(td, &status->pr_reg); - fill_fpregs(td, fpregset); - - psinfo->pr_version = PRPSINFO_VERSION; - psinfo->pr_psinfosz = sizeof(prpsinfo_t); - strlcpy(psinfo->pr_fname, p->p_comm, sizeof(psinfo->pr_fname)); - - /* XXX - We don't fill in the command line arguments properly yet. */ - strlcpy(psinfo->pr_psargs, p->p_comm, sizeof(psinfo->pr_psargs)); - /* Fill in the header. */ bzero(hdr, hdrsize); off = 0; - __elfN(puthdr)(p, hdr, &off, status, fpregset, psinfo, numsegs); + __elfN(puthdr)(p, hdr, &off, numsegs); - free(tempdata, M_TEMP); - /* Write it to the core file. */ return (vn_rdwr_inchunks(UIO_WRITE, vp, hdr, hdrsize, (off_t)0, UIO_SYSSPACE, IO_UNIT | IO_DIRECT, cred, NOCRED, NULL, @@ -1164,13 +1127,18 @@ } static void -__elfN(puthdr)(struct proc *p, void *dst, size_t *off, const prstatus_t *status, - const prfpregset_t *fpregset, const prpsinfo_t *psinfo, int numsegs) +__elfN(puthdr)(struct proc *p, void *dst, size_t *off, int numsegs) { - size_t ehoff; - size_t phoff; - size_t noteoff; - size_t notesz; + struct { + prstatus_t status; + prfpregset_t fpregset; + prpsinfo_t psinfo; + } *tempdata; + prstatus_t *status; + prfpregset_t *fpregset; + prpsinfo_t *psinfo; + struct thread *thr; + size_t ehoff, noteoff, notesz, phoff; ehoff = *off; *off += sizeof(Elf_Ehdr); @@ -1179,14 +1147,64 @@ *off += (numsegs + 1) * sizeof(Elf_Phdr); noteoff = *off; - __elfN(putnote)(dst, off, "FreeBSD", NT_PRSTATUS, status, - sizeof *status); - __elfN(putnote)(dst, off, "FreeBSD", NT_FPREGSET, fpregset, - sizeof *fpregset); + /* + * Don't allocate space for the notes if we're just calculating + * the size of the header. We also don't collect the data. + */ + if (dst != NULL) { + tempdata = malloc(sizeof(*tempdata), M_TEMP, M_ZERO|M_WAITOK); + status = &tempdata->status; + fpregset = &tempdata->fpregset; + psinfo = &tempdata->psinfo; + } else { + tempdata = NULL; + status = NULL; + fpregset = NULL; + psinfo = NULL; + } + + if (dst != NULL) { + psinfo->pr_version = PRPSINFO_VERSION; + psinfo->pr_psinfosz = sizeof(prpsinfo_t); + strlcpy(psinfo->pr_fname, p->p_comm, sizeof(psinfo->pr_fname)); + /* + * XXX - We don't fill in the command line arguments properly + * yet. + */ + strlcpy(psinfo->pr_psargs, p->p_comm, + sizeof(psinfo->pr_psargs)); + } __elfN(putnote)(dst, off, "FreeBSD", NT_PRPSINFO, psinfo, sizeof *psinfo); + + thr = TAILQ_FIRST(&p->p_threads); + while (thr != NULL) { + if (dst != NULL) { + status->pr_version = PRSTATUS_VERSION; + status->pr_statussz = sizeof(prstatus_t); + status->pr_gregsetsz = sizeof(gregset_t); + status->pr_fpregsetsz = sizeof(fpregset_t); + status->pr_osreldate = osreldate; + status->pr_cursig = p->p_sig; + status->pr_pid = thr->td_tid; + fill_regs(thr, &status->pr_reg); + fill_fpregs(thr, fpregset); + } + __elfN(putnote)(dst, off, "FreeBSD", NT_PRSTATUS, status, + sizeof *status); + __elfN(putnote)(dst, off, "FreeBSD", NT_FPREGSET, fpregset, + sizeof *fpregset); + /* + * XXX allow for MD specific notes. + */ + thr = TAILQ_NEXT(thr, td_plist); + } + notesz = *off - noteoff; + if (dst != NULL) + free(tempdata, M_TEMP); + /* Align up to a page boundary for the program segments. */ *off = round_page(*off); From owner-p4-projects@FreeBSD.ORG Sun Mar 28 16:43:10 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E82D916A4D0; Sun, 28 Mar 2004 16:43:09 -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 BCD3816A4CE for ; Sun, 28 Mar 2004 16:43:09 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AF11C43D58 for ; Sun, 28 Mar 2004 16:43:09 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2T0h9Ge060828 for ; Sun, 28 Mar 2004 16:43:09 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2T0h8Qd060822 for perforce@freebsd.org; Sun, 28 Mar 2004 16:43:08 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 28 Mar 2004 16:43:08 -0800 (PST) Message-Id: <200403290043.i2T0h8Qd060822@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 49857 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: Mon, 29 Mar 2004 00:43:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=49857 Change 49857 by rwatson@rwatson_tislabs on 2004/03/28 16:42:47 pf bug fixes. ibcs2_wait() is now MPSAFE. linux emulation now offers madvise(). NET_ASSERT_GIANT() now called in fputsock(). NET_ASSERT_GIANT() now asserted with BPFD_LOCK_ASSERT(). Giant not grabbed in ip_input(). tcp_attach() no longer takes thread argument. debug_mpsafenet definition inverted relative to NET_*_GIANT() to create dual-mode rather than MPSAFE forwarding plane. Affected files ... .. //depot/projects/netperf_socket/sys/contrib/pf/net/pf.c#4 integrate .. //depot/projects/netperf_socket/sys/contrib/pf/net/pf_ioctl.c#4 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_proto.h#3 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_syscall.h#3 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_sysent.c#3 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/syscalls.master#3 integrate .. //depot/projects/netperf_socket/sys/i386/linux/linux_dummy.c#2 integrate .. //depot/projects/netperf_socket/sys/i386/linux/linux_proto.h#4 integrate .. //depot/projects/netperf_socket/sys/i386/linux/linux_syscall.h#4 integrate .. //depot/projects/netperf_socket/sys/i386/linux/linux_sysent.c#4 integrate .. //depot/projects/netperf_socket/sys/i386/linux/syscalls.master#4 integrate .. //depot/projects/netperf_socket/sys/kern/kern_descrip.c#4 integrate .. //depot/projects/netperf_socket/sys/net/bpfdesc.h#3 integrate .. //depot/projects/netperf_socket/sys/netinet/ip_input.c#8 integrate .. //depot/projects/netperf_socket/sys/netinet/tcp_usrreq.c#5 integrate .. //depot/projects/netperf_socket/sys/sys/mutex.h#5 integrate Differences ... ==== //depot/projects/netperf_socket/sys/contrib/pf/net/pf.c#4 (text+ko) ==== @@ -1,5 +1,5 @@ -/* $FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.4 2004/03/17 21:11:02 mlaier Exp $ */ -/* $OpenBSD: pf.c,v 1.390 2003/09/24 17:18:03 mcbride Exp $ */ +/* $FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.5 2004/03/28 20:04:12 mlaier Exp $ */ +/* $OpenBSD: pf.c,v 1.389.2.2 2004/03/14 00:13:42 brad Exp $ */ /* * Copyright (c) 2001 Daniel Hartmeier @@ -2686,8 +2686,10 @@ } if (th->th_flags & TH_FIN) s->src.seqhi++; + s->dst.seqlo = 0; /* Haven't seen these yet */ s->dst.seqhi = 1; s->dst.max_win = 1; + s->dst.seqdiff = 0; /* Defer random generation */ s->src.state = TCPS_SYN_SENT; s->dst.state = TCPS_CLOSED; #ifdef __FreeBSD__ @@ -2965,7 +2967,15 @@ s->gwy.port = s->lan.port; } } + s->src.seqlo = 0; + s->src.seqhi = 0; + s->src.seqdiff = 0; + s->src.max_win = 0; s->src.state = PFUDPS_SINGLE; + s->dst.seqlo = 0; + s->dst.seqhi = 0; + s->dst.seqdiff = 0; + s->dst.max_win = 0; s->dst.state = PFUDPS_NO_TRAFFIC; #ifdef __FreeBSD__ s->creation = time_second; @@ -3221,6 +3231,16 @@ s->gwy.port = icmpid; } + s->src.seqlo = 0; + s->src.seqhi = 0; + s->src.seqdiff = 0; + s->src.max_win = 0; + s->src.state = 0; + s->dst.seqlo = 0; + s->dst.seqhi = 0; + s->dst.seqdiff = 0; + s->dst.max_win = 0; + s->dst.state = 0; #ifdef __FreeBSD__ s->creation = time_second; s->expire = time_second; @@ -3438,20 +3458,34 @@ s->af = af; if (direction == PF_OUT) { PF_ACPY(&s->gwy.addr, saddr, af); + s->gwy.port = 0; PF_ACPY(&s->ext.addr, daddr, af); + s->ext.port = 0; if (nat != NULL) PF_ACPY(&s->lan.addr, &baddr, af); else PF_ACPY(&s->lan.addr, &s->gwy.addr, af); + s->lan.port = 0; } else { PF_ACPY(&s->lan.addr, daddr, af); + s->lan.port = 0; PF_ACPY(&s->ext.addr, saddr, af); + s->ext.port = 0; if (rdr != NULL) PF_ACPY(&s->gwy.addr, &baddr, af); else PF_ACPY(&s->gwy.addr, &s->lan.addr, af); + s->gwy.port = 0; } + s->src.seqlo = 0; + s->src.seqhi = 0; + s->src.seqdiff = 0; + s->src.max_win = 0; s->src.state = PFOTHERS_SINGLE; + s->dst.seqlo = 0; + s->dst.seqhi = 0; + s->dst.seqdiff = 0; + s->dst.max_win = 0; s->dst.state = PFOTHERS_NO_TRAFFIC; #ifdef __FreeBSD__ s->creation = time_second; @@ -5134,12 +5168,12 @@ #else error = ip_fragment(m0, ifp, ifp->if_mtu); #endif -#ifdef __FreeBSD__ - if (error) -#else - if (error == EMSGSIZE) + if (error) { +#ifndef __FreeBSD__ /* ip_fragment does not do m_freem() on FreeBSD */ + m0 = NULL; #endif goto bad; + } for (m0 = m1; m0; m0 = m1) { m1 = m0->m_nextpkt; ==== //depot/projects/netperf_socket/sys/contrib/pf/net/pf_ioctl.c#4 (text+ko) ==== @@ -1,5 +1,5 @@ -/* $FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.4 2004/03/17 21:11:02 mlaier Exp $ */ -/* $OpenBSD: pf_ioctl.c,v 1.81 2003/08/22 21:50:34 david Exp $ */ +/* $FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.5 2004/03/28 20:04:12 mlaier Exp $ */ +/* $OpenBSD: pf_ioctl.c,v 1.81.2.1 2004/03/28 01:34:15 brad Exp $ */ /* * Copyright (c) 2001 Daniel Hartmeier @@ -643,6 +643,7 @@ if (TAILQ_EMPTY(&anchor->rulesets)) { TAILQ_REMOVE(&pf_anchors, anchor, entries); free(anchor, M_TEMP); + pf_update_anchor_rules(); } } ==== //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_proto.h#3 (text+ko) ==== @@ -2,15 +2,14 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/ibcs2/ibcs2_proto.h,v 1.18 2004/02/06 20:21:18 jhb Exp $ - * created from FreeBSD: src/sys/i386/ibcs2/syscalls.master,v 1.17 2004/02/06 20:20:07 jhb Exp + * $FreeBSD: src/sys/i386/ibcs2/ibcs2_proto.h,v 1.19 2004/03/28 22:51:40 rwatson Exp $ + * created from FreeBSD: src/sys/i386/ibcs2/syscalls.master,v 1.18 2004/03/28 22:51:01 rwatson Exp */ #ifndef _IBCS2_SYSPROTO_H_ #define _IBCS2_SYSPROTO_H_ #include -#include #include #include #include ==== //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_syscall.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/ibcs2/ibcs2_syscall.h,v 1.15 2004/02/06 20:21:18 jhb Exp $ - * created from FreeBSD: src/sys/i386/ibcs2/syscalls.master,v 1.17 2004/02/06 20:20:07 jhb Exp + * $FreeBSD: src/sys/i386/ibcs2/ibcs2_syscall.h,v 1.16 2004/03/28 22:51:40 rwatson Exp $ + * created from FreeBSD: src/sys/i386/ibcs2/syscalls.master,v 1.18 2004/03/28 22:51:01 rwatson Exp */ #define IBCS2_SYS_syscall 0 ==== //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_sysent.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/ibcs2/ibcs2_sysent.c,v 1.19 2004/02/06 20:21:18 jhb Exp $ - * created from FreeBSD: src/sys/i386/ibcs2/syscalls.master,v 1.17 2004/02/06 20:20:07 jhb Exp + * $FreeBSD: src/sys/i386/ibcs2/ibcs2_sysent.c,v 1.20 2004/03/28 22:51:40 rwatson Exp $ + * created from FreeBSD: src/sys/i386/ibcs2/syscalls.master,v 1.18 2004/03/28 22:51:01 rwatson Exp */ #include @@ -24,7 +24,7 @@ { SYF_MPSAFE | AS(write_args), (sy_call_t *)write }, /* 4 = write */ { AS(ibcs2_open_args), (sy_call_t *)ibcs2_open }, /* 5 = ibcs2_open */ { SYF_MPSAFE | AS(close_args), (sy_call_t *)close }, /* 6 = close */ - { AS(ibcs2_wait_args), (sy_call_t *)ibcs2_wait }, /* 7 = ibcs2_wait */ + { SYF_MPSAFE | AS(ibcs2_wait_args), (sy_call_t *)ibcs2_wait }, /* 7 = ibcs2_wait */ { AS(ibcs2_creat_args), (sy_call_t *)ibcs2_creat }, /* 8 = ibcs2_creat */ { AS(link_args), (sy_call_t *)link }, /* 9 = link */ { AS(ibcs2_unlink_args), (sy_call_t *)ibcs2_unlink }, /* 10 = ibcs2_unlink */ ==== //depot/projects/netperf_socket/sys/i386/ibcs2/syscalls.master#3 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/i386/ibcs2/syscalls.master,v 1.17 2004/02/06 20:20:07 jhb Exp $ + $FreeBSD: src/sys/i386/ibcs2/syscalls.master,v 1.18 2004/03/28 22:51:01 rwatson Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from IBCS2). @@ -37,7 +37,7 @@ 4 MNOPROTO { int write(int fd, char *buf, u_int nbytes); } 5 STD { int ibcs2_open(char *path, int flags, int mode); } 6 MNOPROTO { int close(int fd); } -7 STD { int ibcs2_wait(int a1, int a2, int a3); } +7 MSTD { int ibcs2_wait(int a1, int a2, int a3); } 8 STD { int ibcs2_creat(char *path, int mode); } 9 NOPROTO { int link(char *path, char *link); } 10 STD { int ibcs2_unlink(char *path); } ==== //depot/projects/netperf_socket/sys/i386/linux/linux_dummy.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/linux/linux_dummy.c,v 1.37 2003/11/16 15:07:10 sobomax Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/linux/linux_dummy.c,v 1.38 2004/03/28 21:43:27 bms Exp $"); #include #include @@ -69,7 +69,6 @@ DUMMY(setfsgid); DUMMY(pivot_root); DUMMY(mincore); -DUMMY(madvise); DUMMY(fadvise64); #define DUMMY_XATTR(s) \ ==== //depot/projects/netperf_socket/sys/i386/linux/linux_proto.h#4 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_proto.h,v 1.58 2004/03/15 22:44:35 jhb Exp $ + * $FreeBSD: src/sys/i386/linux/linux_proto.h,v 1.59 2004/03/28 21:43:27 bms Exp $ * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.55 2004/03/15 22:43:48 jhb Exp */ @@ -631,9 +631,6 @@ char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)]; char vec_l_[PADL_(u_char *)]; u_char * vec; char vec_r_[PADR_(u_char *)]; }; -struct linux_madvise_args { - register_t dummy; -}; struct linux_getdents64_args { char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)]; char dirent_l_[PADL_(void *)]; void * dirent; char dirent_r_[PADR_(void *)]; @@ -833,7 +830,6 @@ int linux_setfsgid(struct thread *, struct linux_setfsgid_args *); int linux_pivot_root(struct thread *, struct linux_pivot_root_args *); int linux_mincore(struct thread *, struct linux_mincore_args *); -int linux_madvise(struct thread *, struct linux_madvise_args *); int linux_getdents64(struct thread *, struct linux_getdents64_args *); int linux_fcntl64(struct thread *, struct linux_fcntl64_args *); int linux_setxattr(struct thread *, struct linux_setxattr_args *); ==== //depot/projects/netperf_socket/sys/i386/linux/linux_syscall.h#4 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_syscall.h,v 1.52 2004/03/15 22:44:35 jhb Exp $ + * $FreeBSD: src/sys/i386/linux/linux_syscall.h,v 1.53 2004/03/28 21:43:27 bms Exp $ * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.55 2004/03/15 22:43:48 jhb Exp */ @@ -210,7 +210,7 @@ #define LINUX_SYS_linux_setfsgid 216 #define LINUX_SYS_linux_pivot_root 217 #define LINUX_SYS_linux_mincore 218 -#define LINUX_SYS_linux_madvise 219 +#define LINUX_SYS_madvise 219 #define LINUX_SYS_linux_getdents64 220 #define LINUX_SYS_linux_fcntl64 221 #define LINUX_SYS_linux_setxattr 226 ==== //depot/projects/netperf_socket/sys/i386/linux/linux_sysent.c#4 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_sysent.c,v 1.59 2004/03/15 22:44:35 jhb Exp $ + * $FreeBSD: src/sys/i386/linux/linux_sysent.c,v 1.60 2004/03/28 21:43:27 bms Exp $ * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.55 2004/03/15 22:43:48 jhb Exp */ @@ -236,7 +236,7 @@ { AS(linux_setfsgid_args), (sy_call_t *)linux_setfsgid }, /* 216 = linux_setfsgid */ { AS(linux_pivot_root_args), (sy_call_t *)linux_pivot_root }, /* 217 = linux_pivot_root */ { AS(linux_mincore_args), (sy_call_t *)linux_mincore }, /* 218 = linux_mincore */ - { 0, (sy_call_t *)linux_madvise }, /* 219 = linux_madvise */ + { SYF_MPSAFE | AS(madvise_args), (sy_call_t *)madvise }, /* 219 = madvise */ { AS(linux_getdents64_args), (sy_call_t *)linux_getdents64 }, /* 220 = linux_getdents64 */ { AS(linux_fcntl64_args), (sy_call_t *)linux_fcntl64 }, /* 221 = linux_fcntl64 */ { 0, (sy_call_t *)nosys }, /* 222 = */ ==== //depot/projects/netperf_socket/sys/i386/linux/syscalls.master#4 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/i386/linux/syscalls.master,v 1.55 2004/03/15 22:43:48 jhb Exp $ + $FreeBSD: src/sys/i386/linux/syscalls.master,v 1.56 2004/03/28 21:43:27 bms Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -292,7 +292,7 @@ 216 STD { int linux_setfsgid(l_gid_t gid); } 217 STD { int linux_pivot_root(char *new_root, char *put_old); } 218 STD { int linux_mincore(l_ulong start, l_size_t len, u_char *vec); } -219 STD { int linux_madvise(void); } +219 MNOPROTO { int madvise(void *addr, size_t len, int behav); } 220 STD { int linux_getdents64(l_uint fd, void *dirent, l_uint count); } 221 STD { int linux_fcntl64(l_uint fd, l_uint cmd, l_ulong arg); } 222 UNIMPL ==== //depot/projects/netperf_socket/sys/kern/kern_descrip.c#4 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.228 2004/02/26 00:27:02 truckman Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.229 2004/03/29 00:33:02 rwatson Exp $"); #include "opt_compat.h" @@ -2041,6 +2041,8 @@ void fputsock(struct socket *so) { + + NET_ASSERT_GIANT(); SOCK_LOCK(so); sorele(so); } ==== //depot/projects/netperf_socket/sys/net/bpfdesc.h#3 (text+ko) ==== @@ -37,7 +37,7 @@ * * @(#)bpfdesc.h 8.1 (Berkeley) 6/10/93 * - * $FreeBSD: src/sys/net/bpfdesc.h,v 1.25 2004/02/29 15:33:56 rwatson Exp $ + * $FreeBSD: src/sys/net/bpfdesc.h,v 1.26 2004/03/29 00:33:39 rwatson Exp $ */ #ifndef _NET_BPFDESC_H_ @@ -102,7 +102,10 @@ #define BPFD_LOCK(bd) mtx_lock(&(bd)->bd_mtx) #define BPFD_UNLOCK(bd) mtx_unlock(&(bd)->bd_mtx) -#define BPFD_LOCK_ASSERT(bd) mtx_assert(&(bd)->bd_mtx, MA_OWNED) +#define BPFD_LOCK_ASSERT(bd) do { \ + mtx_assert(&(bd)->bd_mtx, MA_OWNED); \ + NET_ASSERT_GIANT(); \ +} while (0) /* Test whether a BPF is ready for read(). */ #define bpf_ready(bd) \ ==== //depot/projects/netperf_socket/sys/netinet/ip_input.c#8 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ip_input.c 8.2 (Berkeley) 1/4/94 - * $FreeBSD: src/sys/netinet/ip_input.c,v 1.266 2004/03/01 22:37:01 rwatson Exp $ + * $FreeBSD: src/sys/netinet/ip_input.c,v 1.267 2004/03/28 23:12:19 rwatson Exp $ */ #include "opt_bootp.h" ==== //depot/projects/netperf_socket/sys/netinet/tcp_usrreq.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * From: @(#)tcp_usrreq.c 8.2 (Berkeley) 1/3/94 - * $FreeBSD: src/sys/netinet/tcp_usrreq.c,v 1.97 2004/03/27 21:05:45 pjd Exp $ + * $FreeBSD: src/sys/netinet/tcp_usrreq.c,v 1.98 2004/03/28 15:48:00 pjd Exp $ */ #include "opt_ipsec.h" @@ -90,7 +90,7 @@ */ extern char *tcpstates[]; /* XXX ??? */ -static int tcp_attach(struct socket *, struct thread *td); +static int tcp_attach(struct socket *); static int tcp_connect(struct tcpcb *, struct sockaddr *, struct thread *td); #ifdef INET6 @@ -133,7 +133,7 @@ goto out; } - error = tcp_attach(so, td); + error = tcp_attach(so); if (error) goto out; @@ -1153,9 +1153,8 @@ * bufer space, and entering LISTEN state if to accept connections. */ static int -tcp_attach(so, td) +tcp_attach(so) struct socket *so; - struct thread *td; { register struct tcpcb *tp; struct inpcb *inp; ==== //depot/projects/netperf_socket/sys/sys/mutex.h#5 (text+ko) ==== @@ -26,7 +26,7 @@ * SUCH DAMAGE. * * from BSDI $Id: mutex.h,v 2.7.2.35 2000/04/27 03:10:26 cp Exp $ - * $FreeBSD: src/sys/sys/mutex.h,v 1.69 2004/03/01 22:37:01 rwatson Exp $ + * $FreeBSD: src/sys/sys/mutex.h,v 1.70 2004/03/28 23:12:19 rwatson Exp $ */ #ifndef _SYS_MUTEX_H_ @@ -357,15 +357,15 @@ */ extern int debug_mpsafenet; /* defined in net/netisr.c */ #define NET_LOCK_GIANT() do { \ - if (debug_mpsafenet) \ + if (!debug_mpsafenet) \ mtx_lock(&Giant); \ } while (0) #define NET_UNLOCK_GIANT() do { \ - if (debug_mpsafenet) \ + if (!debug_mpsafenet) \ mtx_unlock(&Giant); \ } while (0) #define NET_ASSERT_GIANT() do { \ - if (debug_mpsafenet) \ + if (!debug_mpsafenet) \ mtx_assert(&Giant, MA_OWNED); \ } while (0) From owner-p4-projects@FreeBSD.ORG Sun Mar 28 16:58:29 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EAC9816A4D0; Sun, 28 Mar 2004 16:58:28 -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 C1CC416A4CE for ; Sun, 28 Mar 2004 16:58:28 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BA0E343D39 for ; Sun, 28 Mar 2004 16:58:28 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2T0wSGe069058 for ; Sun, 28 Mar 2004 16:58:28 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2T0wSSa069055 for perforce@freebsd.org; Sun, 28 Mar 2004 16:58:28 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sun, 28 Mar 2004 16:58:28 -0800 (PST) Message-Id: <200403290058.i2T0wSSa069055@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 49858 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: Mon, 29 Mar 2004 00:58:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=49858 Change 49858 by marcel@marcel_nfs on 2004/03/28 16:57:53 Fix gdb_rx_varhex(): make sure the rx pointer is moved back correctly in all cases when we fetch a non-hex digit. Affected files ... .. //depot/projects/gdb/sys/gdb/gdb_packet.c#8 edit Differences ... ==== //depot/projects/gdb/sys/gdb/gdb_packet.c#8 (text+ko) ==== @@ -114,29 +114,29 @@ gdb_rx_varhex(uintmax_t *vp) { uintmax_t v; - int c, neg, valid; + int c, neg; c = gdb_rx_char(); - if (c == -1) - return (-1); neg = (c == '-') ? 1 : 0; if (neg == 1) c = gdb_rx_char(); + if (!isxdigit(c)) { + gdb_rxp -= ((c == -1) ? 0 : 1) + neg; + gdb_rxsz += ((c == -1) ? 0 : 1) + neg; + return (-1); + } v = 0; - valid = (isxdigit(c)) ? 1 : 0; - while (valid) { + do { v <<= 4; v += C2N(c); c = gdb_rx_char(); - if (!isxdigit(c)) - break; + } while (isxdigit(c)); + if (c != -1) { + gdb_rxp--; + gdb_rxsz++; } - if (!valid || c != -1) { - gdb_rxp -= 1 + neg - valid; - gdb_rxsz += 1 + neg - valid; - } *vp = (neg) ? -v : v; - return ((valid) ? 0 : -1); + return (0); } /* From owner-p4-projects@FreeBSD.ORG Sun Mar 28 17:05:38 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 62C6F16A4D0; Sun, 28 Mar 2004 17:05:38 -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 246E716A4CE for ; Sun, 28 Mar 2004 17:05:38 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1B4B743D4C for ; Sun, 28 Mar 2004 17:05:38 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2T15bGe071955 for ; Sun, 28 Mar 2004 17:05:37 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2T15bcC071952 for perforce@freebsd.org; Sun, 28 Mar 2004 17:05:37 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sun, 28 Mar 2004 17:05:37 -0800 (PST) Message-Id: <200403290105.i2T15bcC071952@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 49859 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: Mon, 29 Mar 2004 01:05:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=49859 Change 49859 by marcel@marcel_nfs on 2004/03/28 17:05:10 Make sure we return a bspstore that's on the kernel stack. When the trapframe describes a kernel entry from userland, bspstore is on the user backingstore, while dirty registers end up on the kernel stack. So, return a bspstore in that case that points the base of the kernel stack. That way, bsp itself will also point to the kernel stack and all will be well. Affected files ... .. //depot/projects/gdb/sys/ia64/ia64/gdb_machdep.c#7 edit Differences ... ==== //depot/projects/gdb/sys/ia64/ia64/gdb_machdep.c#7 (text+ko) ==== @@ -44,8 +44,8 @@ void * gdb_cpu_getreg(int regnum, size_t *regsz) { + static uint64_t synth; struct trapframe *tf = kdb_frame; - static uint64_t bsp; *regsz = gdb_cpu_regsz(regnum); switch (regnum) { @@ -99,7 +99,6 @@ case 333: return (&tf->tf_special.cfm); /* Registers 334-461: application registers. */ case 350: return (&tf->tf_special.rsc); - case 352: return (&tf->tf_special.bspstore); case 353: return (&tf->tf_special.rnat); case 359: return (&tf->tf_scratch.csd); case 360: return (&tf->tf_scratch.ssd); @@ -107,10 +106,28 @@ case 370: return (&tf->tf_special.unat); case 374: return (&tf->tf_special.fpsr); case 398: return (&tf->tf_special.pfs); - /* Synthesized registers. */ - case 351: - bsp = tf->tf_special.bspstore + tf->tf_special.ndirty; - return (&bsp); + /* Synthesized registers. */ + case 351: /* bsp */ + /* + * If the trapframe belongs to a kernel entry from user + * space, setup bspstore to point to the base of the + * kernel stack. + */ + synth = (tf->tf_special.bspstore >= IA64_RR_BASE(5)) ? + tf->tf_special.bspstore : (kdb_thread->td_kstack + + (tf->tf_special.bspstore & 0x1ffUL)); + synth += tf->tf_special.ndirty; + return (&synth); + case 352: /* bspstore. */ + /* + * If the trapframe belongs to a kernel entry from user + * space, setup bacpstore to point to the base of the + * kernel stack. + */ + synth = (tf->tf_special.bspstore >= IA64_RR_BASE(5)) ? + tf->tf_special.bspstore : (kdb_thread->td_kstack + + (tf->tf_special.bspstore & 0x1ffUL)); + return (&synth); } return (NULL); } @@ -127,22 +144,33 @@ int gdb_cpu_query(void) { - if (gdb_rx_equal("Part:dirty:read::")) { - uint64_t *kstack; - uintmax_t slot; - if (gdb_rx_varhex(&slot) < 0) { - gdb_tx_err(EINVAL); - return (-1); - } - if (slot >= 0 && slot < (kdb_frame->tf_special.ndirty >> 3)) { - kstack = (uint64_t*)(kdb_thread->td_kstack + - (kdb_frame->tf_special.bspstore & 0x1ffUL)); - gdb_tx_begin('\0'); - gdb_tx_mem((void*)(kstack + slot), 8); - gdb_tx_end(); - } - return (1); + uint64_t bspstore, *kstack; + uintmax_t slot; + + if (!gdb_rx_equal("Part:dirty:read::")) + return (0); + + if (gdb_rx_varhex(&slot) < 0) { + gdb_tx_err(EINVAL); + return (-1); + } + + /* slot is unsigned. No need to test for negative values. */ + if (slot >= (kdb_frame->tf_special.ndirty >> 3)) { + gdb_tx_err(EINVAL); + return (-1); } - return (0); + /* + * If the trapframe describes a kernel entry, bspstore holds + * the address of the user backing store. Calculate the right + * kernel stack address. See also ptrace_machdep(). + */ + bspstore = kdb_frame->tf_special.bspstore; + kstack = (bspstore >= IA64_RR_BASE(5)) ? (uint64_t*)bspstore : + (uint64_t*)(kdb_thread->td_kstack + (bspstore & 0x1ffUL)); + gdb_tx_begin('\0'); + gdb_tx_mem((void*)(kstack + slot), 8); + gdb_tx_end(); + return (1); } From owner-p4-projects@FreeBSD.ORG Sun Mar 28 18:33:30 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3CD0A16A4D0; Sun, 28 Mar 2004 18:33:30 -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 16AB916A4CE for ; Sun, 28 Mar 2004 18:33:30 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0B3AD43D1D for ; Sun, 28 Mar 2004 18:33:30 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2T2XTGe091437 for ; Sun, 28 Mar 2004 18:33:29 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2T2XTpN091434 for perforce@freebsd.org; Sun, 28 Mar 2004 18:33:29 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 28 Mar 2004 18:33:29 -0800 (PST) Message-Id: <200403290233.i2T2XTpN091434@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 49868 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: Mon, 29 Mar 2004 02:33:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=49868 Change 49868 by rwatson@rwatson_paprika on 2004/03/28 18:33:01 sparc64/alpha kstack size fix. alpha linux madvise() support. More NDISability. mtx_lock(&Giant) -> NET_LOCK_GIANT() in socket fd operations; in the IFC, this actually adds conditional locking back. mtx_unlock(&Giant) -> NET_UNLOCK_GIANT() in socket syscalls; in the IFC, this actually adds conditional locking back. Affected files ... .. //depot/projects/netperf_socket/sys/alpha/alpha/vm_machdep.c#3 integrate .. //depot/projects/netperf_socket/sys/alpha/linux/linux_dummy.c#2 integrate .. //depot/projects/netperf_socket/sys/alpha/linux/linux_proto.h#4 integrate .. //depot/projects/netperf_socket/sys/alpha/linux/linux_syscall.h#4 integrate .. //depot/projects/netperf_socket/sys/alpha/linux/linux_sysent.c#4 integrate .. //depot/projects/netperf_socket/sys/alpha/linux/syscalls.master#4 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/kern_ndis.c#9 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/ndis_var.h#4 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/ntoskrnl_var.h#6 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/resource_var.h#2 integrate .. //depot/projects/netperf_socket/sys/conf/kern.pre.mk#9 integrate .. //depot/projects/netperf_socket/sys/dev/if_ndis/if_ndis.c#7 integrate .. //depot/projects/netperf_socket/sys/kern/sys_socket.c#4 integrate .. //depot/projects/netperf_socket/sys/kern/uipc_syscalls.c#6 integrate .. //depot/projects/netperf_socket/sys/sparc64/sparc64/vm_machdep.c#4 integrate Differences ... ==== //depot/projects/netperf_socket/sys/alpha/alpha/vm_machdep.c#3 (text+ko) ==== @@ -67,9 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.100 2004/03/16 19:04:27 alc Exp $"); - -#include "opt_kstack_pages.h" +__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.101 2004/03/29 02:01:42 kensmith Exp $"); #include #include @@ -137,7 +135,7 @@ p1 = td1->td_proc; td2->td_pcb = (struct pcb *) - (td2->td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; + (td2->td_kstack + td2->td_kstack_pages * PAGE_SIZE) - 1; td2->td_md.md_flags = td1->td_md.md_flags & MDTD_FPUSED; PROC_LOCK(p2); p2->p_md.md_uac = p1->p_md.md_uac; @@ -276,7 +274,7 @@ { td->td_pcb = - (struct pcb *)(td->td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; + (struct pcb *)(td->td_kstack + td->td_kstack_pages * PAGE_SIZE) - 1; td->td_md.md_pcbpaddr = (void*)vtophys((vm_offset_t)td->td_pcb); td->td_frame = (struct trapframe *)((caddr_t)td->td_pcb) - 1; } ==== //depot/projects/netperf_socket/sys/alpha/linux/linux_dummy.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/linux/linux_dummy.c,v 1.37 2003/08/22 07:20:26 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/linux/linux_dummy.c,v 1.38 2004/03/29 02:19:43 bms Exp $"); #include #include @@ -66,7 +66,6 @@ DUMMY(getdtablesize); DUMMY(gethostname); DUMMY(getpagesize); -DUMMY(madvise); DUMMY(mincore); DUMMY(old_adjtimex); DUMMY(pciconfig_iobase); ==== //depot/projects/netperf_socket/sys/alpha/linux/linux_proto.h#4 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/alpha/linux/linux_proto.h,v 1.16 2004/03/15 22:44:35 jhb Exp $ + * $FreeBSD: src/sys/alpha/linux/linux_proto.h,v 1.17 2004/03/29 02:19:43 bms Exp $ * created from FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.56 2004/03/15 22:43:48 jhb Exp */ @@ -150,9 +150,6 @@ char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)]; char prot_l_[PADL_(l_ulong)]; l_ulong prot; char prot_r_[PADR_(l_ulong)]; }; -struct linux_madvise_args { - register_t dummy; -}; struct linux_vhangup_args { register_t dummy; }; @@ -612,7 +609,6 @@ int linux_mmap(struct thread *, struct linux_mmap_args *); int linux_munmap(struct thread *, struct linux_munmap_args *); int linux_mprotect(struct thread *, struct linux_mprotect_args *); -int linux_madvise(struct thread *, struct linux_madvise_args *); int linux_vhangup(struct thread *, struct linux_vhangup_args *); int linux_setgroups(struct thread *, struct linux_setgroups_args *); int linux_getgroups(struct thread *, struct linux_getgroups_args *); ==== //depot/projects/netperf_socket/sys/alpha/linux/linux_syscall.h#4 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/alpha/linux/linux_syscall.h,v 1.14 2004/03/15 22:44:35 jhb Exp $ + * $FreeBSD: src/sys/alpha/linux/linux_syscall.h,v 1.15 2004/03/29 02:19:43 bms Exp $ * created from FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.56 2004/03/15 22:43:48 jhb Exp */ @@ -51,7 +51,7 @@ #define LINUX_SYS_linux_mmap 71 #define LINUX_SYS_linux_munmap 73 #define LINUX_SYS_linux_mprotect 74 -#define LINUX_SYS_linux_madvise 75 +#define LINUX_SYS_madvise 75 #define LINUX_SYS_linux_vhangup 76 #define LINUX_SYS_linux_setgroups 79 #define LINUX_SYS_linux_getgroups 80 ==== //depot/projects/netperf_socket/sys/alpha/linux/linux_sysent.c#4 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/alpha/linux/linux_sysent.c,v 1.14 2004/03/15 22:44:35 jhb Exp $ + * $FreeBSD: src/sys/alpha/linux/linux_sysent.c,v 1.15 2004/03/29 02:19:43 bms Exp $ * created from FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.56 2004/03/15 22:43:48 jhb Exp */ @@ -92,7 +92,7 @@ { 0, (sy_call_t *)nosys }, /* 72 = */ { AS(linux_munmap_args), (sy_call_t *)linux_munmap }, /* 73 = linux_munmap */ { AS(linux_mprotect_args), (sy_call_t *)linux_mprotect }, /* 74 = linux_mprotect */ - { 0, (sy_call_t *)linux_madvise }, /* 75 = linux_madvise */ + { SYF_MPSAFE | AS(madvise_args), (sy_call_t *)madvise }, /* 75 = madvise */ { 0, (sy_call_t *)linux_vhangup }, /* 76 = linux_vhangup */ { 0, (sy_call_t *)nosys }, /* 77 = */ { 0, (sy_call_t *)nosys }, /* 78 = */ ==== //depot/projects/netperf_socket/sys/alpha/linux/syscalls.master#4 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.56 2004/03/15 22:43:48 jhb Exp $ + $FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.57 2004/03/29 02:19:43 bms Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -114,7 +114,7 @@ 73 STD { int linux_munmap(l_ulong addr, l_size_t len); } 74 STD { int linux_mprotect(l_ulong addr, l_size_t len, \ l_ulong prot); } -75 STD { int linux_madvise(void); } +75 MNOPROTO { int madvise(void *addr, size_t len, int behav); } 76 STD { int linux_vhangup(void); } 77 UNIMPL 78 UNIMPL ==== //depot/projects/netperf_socket/sys/compat/ndis/kern_ndis.c#9 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.47 2004/03/25 18:31:52 wpaul Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.48 2004/03/29 02:15:29 wpaul Exp $"); #include #include @@ -824,18 +824,28 @@ switch (brle->type) { case SYS_RES_IOPORT: prd->cprd_type = CmResourceTypePort; + prd->cprd_flags = CM_RESOURCE_PORT_IO; + prd->cprd_sharedisp = + CmResourceShareDeviceExclusive; prd->u.cprd_port.cprd_start.np_quad = brle->start; prd->u.cprd_port.cprd_len = brle->count; break; case SYS_RES_MEMORY: prd->cprd_type = CmResourceTypeMemory; + prd->cprd_flags = + CM_RESOURCE_MEMORY_READ_WRITE; + prd->cprd_sharedisp = + CmResourceShareDeviceExclusive; prd->u.cprd_port.cprd_start.np_quad = brle->start; prd->u.cprd_port.cprd_len = brle->count; break; case SYS_RES_IRQ: prd->cprd_type = CmResourceTypeInterrupt; + prd->cprd_flags = 0; + prd->cprd_sharedisp = + CmResourceShareDeviceExclusive; prd->u.cprd_intr.cprd_level = brle->start; prd->u.cprd_intr.cprd_vector = brle->start; prd->u.cprd_intr.cprd_affinity = 0; ==== //depot/projects/netperf_socket/sys/compat/ndis/ndis_var.h#4 (text+ko) ==== @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/compat/ndis/ndis_var.h,v 1.22 2004/03/20 23:39:43 wpaul Exp $ + * $FreeBSD: src/sys/compat/ndis/ndis_var.h,v 1.23 2004/03/29 02:15:29 wpaul Exp $ */ #ifndef _NDIS_VAR_H_ @@ -1512,6 +1512,7 @@ extern int ndis_add_sysctl(void *, char *, char *, char *, int); extern int ndis_flush_sysctls(void *); extern int ndis_sched(void (*)(void *), void *, int); +extern int ndis_unsched(void (*)(void *), void *, int); __END_DECLS #endif /* _NDIS_VAR_H_ */ ==== //depot/projects/netperf_socket/sys/compat/ndis/ntoskrnl_var.h#6 (text+ko) ==== @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/compat/ndis/ntoskrnl_var.h,v 1.11 2004/03/22 00:41:41 wpaul Exp $ + * $FreeBSD: src/sys/compat/ndis/ntoskrnl_var.h,v 1.12 2004/03/29 02:15:29 wpaul Exp $ */ #ifndef _NTOSKRNL_VAR_H_ @@ -261,7 +261,7 @@ void *k_deferredctx; void *k_sysarg1; void *k_sysarg2; - uint32_t *k_lock; + register_t k_lock; }; typedef struct kdpc kdpc; @@ -480,6 +480,8 @@ extern int ntoskrnl_libinit(void); extern int ntoskrnl_libfini(void); __stdcall extern void ntoskrnl_init_dpc(kdpc *, void *, void *); +__stdcall extern uint8_t ntoskrnl_queue_dpc(kdpc *, void *, void *); +__stdcall extern uint8_t ntoskrnl_dequeue_dpc(kdpc *); __stdcall extern void ntoskrnl_init_timer(ktimer *); __stdcall extern void ntoskrnl_init_timer_ex(ktimer *, uint32_t); __stdcall extern uint8_t ntoskrnl_set_timer(ktimer *, int64_t, kdpc *); ==== //depot/projects/netperf_socket/sys/compat/ndis/resource_var.h#2 (text+ko) ==== @@ -1,6 +1,6 @@ /* - * $FreeBSD: src/sys/compat/ndis/resource_var.h,v 1.1 2003/12/11 22:34:37 wpaul Exp $ + * $FreeBSD: src/sys/compat/ndis/resource_var.h,v 1.2 2004/03/29 02:15:29 wpaul Exp $ */ typedef int cm_resource_type; @@ -97,6 +97,7 @@ struct cm_partial_resource_desc { uint8_t cprd_type; uint8_t cprd_sharedisp; + uint16_t cprd_flags; union { struct { physaddr cprd_start; ==== //depot/projects/netperf_socket/sys/conf/kern.pre.mk#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.49 2004/03/25 00:02:49 obrien Exp $ +# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.50 2004/03/29 01:15:39 kensmith Exp $ # Part of a unified Makefile for building kernels. This part contains all # of the definitions that need to be before %BEFORE_DEPEND. @@ -19,10 +19,12 @@ .if ${CC} == "icc" COPTFLAGS?=-O .else -. if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "sparc64" +. if ${MACHINE_ARCH} == "amd64" COPTFLAGS?=-O2 -frename-registers -pipe . elif ${MACHINE_ARCH} == "ia64" COPTFLAGS?=-O2 -pipe +. elif ${MACHINE_ARCH} == "sparc64" +COPTFLAGS?=-O2 -pipe . else COPTFLAGS?=-O -pipe . endif ==== //depot/projects/netperf_socket/sys/dev/if_ndis/if_ndis.c#7 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.50 2004/03/24 05:35:03 wpaul Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.51 2004/03/29 02:15:29 wpaul Exp $"); #include "opt_bdg.h" @@ -153,6 +153,8 @@ return; } + if (TAILQ_EMPTY(&ifp->if_multiaddrs)) + return; len = sizeof(mclistsz); ndis_get_info(sc, OID_802_3_MAXIMUM_LIST_SIZE, &mclistsz, &len); ==== //depot/projects/netperf_socket/sys/kern/sys_socket.c#4 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sys_socket.c,v 1.55 2003/06/18 18:16:39 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sys_socket.c,v 1.56 2004/03/29 01:55:32 rwatson Exp $"); #include "opt_mac.h" @@ -79,12 +79,16 @@ struct socket *so = fp->f_data; int error; + NET_LOCK_GIANT(); #ifdef MAC error = mac_check_socket_receive(active_cred, so); - if (error) + if (error) { + NET_UNLOCK_GIANT(); return (error); + } #endif error = so->so_proto->pr_usrreqs->pru_soreceive(so, 0, uio, 0, 0, 0); + NET_UNLOCK_GIANT(); return (error); } @@ -100,13 +104,17 @@ struct socket *so = fp->f_data; int error; + NET_LOCK_GIANT(); #ifdef MAC error = mac_check_socket_send(active_cred, so); - if (error) + if (error) { + NET_UNLOCK_GIANT(); return (error); + } #endif error = so->so_proto->pr_usrreqs->pru_sosend(so, 0, uio, 0, 0, 0, uio->uio_td); + NET_UNLOCK_GIANT(); return (error); } ==== //depot/projects/netperf_socket/sys/kern/uipc_syscalls.c#6 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.175 2004/03/16 19:04:28 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.177 2004/03/29 02:21:56 rwatson Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -117,8 +117,10 @@ if (error) return (error); /* An extra reference on `fp' has been held for us by falloc(). */ + NET_LOCK_GIANT(); error = socreate(uap->domain, &so, uap->type, uap->protocol, td->td_ucred, td); + NET_UNLOCK_GIANT(); FILEDESC_LOCK(fdp); if (error) { if (fdp->fd_ofiles[fd] == fp) { @@ -172,6 +174,7 @@ struct socket *so; int error; + NET_LOCK_GIANT(); if ((error = fgetsock(td, fd, &so, NULL)) != 0) goto done2; #ifdef MAC @@ -186,6 +189,7 @@ #endif fputsock(so); done2: + NET_UNLOCK_GIANT(); FREE(sa, M_SONAME); return (error); } @@ -205,6 +209,7 @@ struct socket *so; int error; + NET_LOCK_GIANT(); if ((error = fgetsock(td, uap->s, &so, NULL)) == 0) { #ifdef MAC /* XXXRW: MAC requires socket lock? */ @@ -218,6 +223,7 @@ #endif fputsock(so); } + NET_UNLOCK_GIANT(); return(error); } @@ -256,6 +262,7 @@ goto done3; } } + NET_LOCK_GIANT(); error = fgetsock(td, uap->s, &head, &fflag); if (error) goto done2; @@ -411,6 +418,7 @@ fdrop(nfp, td); fputsock(head); done2: + NET_UNLOCK_GIANT(); done3: return (error); } @@ -475,6 +483,7 @@ int error, s; int interrupted = 0; + NET_LOCK_GIANT(); if ((error = fgetsock(td, fd, &so, NULL)) != 0) goto done2; if (so->so_state & SS_ISCONNECTING) { @@ -519,6 +528,7 @@ done1: fputsock(so); done2: + NET_UNLOCK_GIANT(); FREE(sa, M_SONAME); return (error); } @@ -541,6 +551,7 @@ struct socket *so1, *so2; int fd, error, sv[2]; + NET_LOCK_GIANT(); error = socreate(uap->domain, &so1, uap->type, uap->protocol, td->td_ucred, td); if (error) @@ -612,6 +623,7 @@ free1: (void)soclose(so1); done2: + NET_UNLOCK_GIANT(); return (error); } @@ -697,6 +709,7 @@ int iovlen; #endif + NET_LOCK_GIANT(); if ((error = fgetsock(td, s, &so, NULL)) != 0) goto bad2; @@ -758,6 +771,7 @@ bad: fputsock(so); bad2: + NET_UNLOCK_GIANT(); return (error); } @@ -937,7 +951,9 @@ int iovlen; #endif + NET_LOCK_GIANT(); if ((error = fgetsock(td, s, &so, NULL)) != 0) { + NET_UNLOCK_GIANT(); return (error); } @@ -946,6 +962,7 @@ error = mac_check_socket_receive(td->td_ucred, so); if (error) { fputsock(so); + NET_UNLOCK_GIANT(); return (error); } #endif @@ -961,6 +978,7 @@ for (i = 0; i < mp->msg_iovlen; i++, iov++) { if ((auio.uio_resid += iov->iov_len) < 0) { fputsock(so); + NET_UNLOCK_GIANT(); return (EINVAL); } } @@ -1069,6 +1087,7 @@ } out: fputsock(so); + NET_UNLOCK_GIANT(); if (fromsa) FREE(fromsa, M_SONAME); if (control) @@ -1283,10 +1302,12 @@ struct socket *so; int error; + NET_LOCK_GIANT(); if ((error = fgetsock(td, uap->s, &so, NULL)) == 0) { error = soshutdown(so, uap->how); fputsock(so); } + NET_UNLOCK_GIANT(); return(error); } @@ -1314,6 +1335,7 @@ if (uap->valsize < 0) return (EINVAL); + NET_LOCK_GIANT(); if ((error = fgetsock(td, uap->s, &so, NULL)) == 0) { sopt.sopt_dir = SOPT_SET; sopt.sopt_level = uap->level; @@ -1324,6 +1346,7 @@ error = sosetopt(so, &sopt); fputsock(so); } + NET_UNLOCK_GIANT(); return(error); } @@ -1347,6 +1370,7 @@ struct socket *so; struct sockopt sopt; + NET_LOCK_GIANT(); if ((error = fgetsock(td, uap->s, &so, NULL)) != 0) goto done2; if (uap->val) { @@ -1376,6 +1400,7 @@ done1: fputsock(so); done2: + NET_UNLOCK_GIANT(); return (error); } @@ -1400,6 +1425,7 @@ socklen_t len; int error; + NET_LOCK_GIANT(); if ((error = fgetsock(td, uap->fdes, &so, NULL)) != 0) goto done2; error = copyin(uap->alen, &len, sizeof (len)); @@ -1433,6 +1459,7 @@ done1: fputsock(so); done2: + NET_UNLOCK_GIANT(); return (error); } @@ -1483,6 +1510,7 @@ socklen_t len; int error; + NET_LOCK_GIANT(); if ((error = fgetsock(td, uap->fdes, &so, NULL)) != 0) goto done2; if ((so->so_state & (SS_ISCONNECTED|SS_ISCONFIRMING)) == 0) { @@ -1521,6 +1549,7 @@ done1: fputsock(so); done2: + NET_UNLOCK_GIANT(); return (error); } @@ -1696,6 +1725,8 @@ int error, s, headersize = 0, headersent = 0; struct iovec *hdr_iov = NULL; + NET_LOCK_GIANT(); + hdtr_size = 0; /* @@ -2073,6 +2104,8 @@ if (m_header) m_freem(m_header); + NET_UNLOCK_GIANT(); + if (error == ERESTART) error = EINTR; ==== //depot/projects/netperf_socket/sys/sparc64/sparc64/vm_machdep.c#4 (text+ko) ==== @@ -40,10 +40,9 @@ * from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91 * Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$ * from: FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.167 2001/07/12 - * $FreeBSD: src/sys/sparc64/sparc64/vm_machdep.c,v 1.60 2004/03/23 23:12:02 tmm Exp $ + * $FreeBSD: src/sys/sparc64/sparc64/vm_machdep.c,v 1.61 2004/03/29 01:24:13 kensmith Exp $ */ -#include "opt_kstack_pages.h" #include "opt_pmap.h" #include @@ -158,7 +157,7 @@ { struct pcb *pcb; - pcb = (struct pcb *)((td->td_kstack + KSTACK_PAGES * PAGE_SIZE - + pcb = (struct pcb *)((td->td_kstack + td->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb)) & ~0x3fUL); td->td_frame = (struct trapframe *)pcb - 1; td->td_pcb = pcb; @@ -240,8 +239,8 @@ /* The pcb must be aligned on a 64-byte boundary. */ pcb1 = td1->td_pcb; - pcb2 = (struct pcb *)((td2->td_kstack + KSTACK_PAGES * PAGE_SIZE - - sizeof(struct pcb)) & ~0x3fUL); + pcb2 = (struct pcb *)((td2->td_kstack + td2->td_kstack_pages * + PAGE_SIZE - sizeof(struct pcb)) & ~0x3fUL); td2->td_pcb = pcb2; /* From owner-p4-projects@FreeBSD.ORG Mon Mar 29 00:07:21 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B63B716A4D0; Mon, 29 Mar 2004 00:07:20 -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 8E2DC16A4CF for ; Mon, 29 Mar 2004 00:07:20 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 70E3E43D31 for ; Mon, 29 Mar 2004 00:07:20 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2T87KGe069542 for ; Mon, 29 Mar 2004 00:07:20 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2T87JC9069539 for perforce@freebsd.org; Mon, 29 Mar 2004 00:07:19 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Mon, 29 Mar 2004 00:07:19 -0800 (PST) Message-Id: <200403290807.i2T87JC9069539@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 49876 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: Mon, 29 Mar 2004 08:07:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=49876 Change 49876 by marcel@marcel_nfs on 2004/03/29 00:06:41 Add support to sio for being a debug port. This probably breaks alpha. Affected files ... .. //depot/projects/gdb/sys/dev/sio/sio.c#5 edit Differences ... ==== //depot/projects/gdb/sys/dev/sio/sio.c#5 (text+ko) ==== @@ -39,7 +39,8 @@ #include "opt_comconsole.h" #include "opt_compat.h" -#include "opt_ddb.h" +#include "opt_gdb.h" +#include "opt_kdb.h" #include "opt_sio.h" /* @@ -74,9 +75,6 @@ #include #include #include -#if DDB > 0 -#include -#endif #include @@ -343,8 +341,6 @@ static u_int com_events; /* input chars + weighted output completions */ static Port_t siocniobase; static int siocnunit = -1; -static Port_t siogdbiobase; -static int siogdbunit = -1; static void *sio_slow_ih; static void *sio_fast_ih; static int sio_timeout; @@ -353,6 +349,10 @@ = CALLOUT_HANDLE_INITIALIZER(&sio_timeout_handle); static int sio_numunits; +#ifdef GDB +static Port_t siogdbiobase = 0; +#endif + #ifdef COM_ESP /* XXX configure this properly. */ /* XXX quite broken for new-bus. */ @@ -1172,7 +1172,7 @@ } if (ret) device_printf(dev, "could not activate interrupt\n"); -#if defined(DDB) && (defined(BREAK_TO_DEBUGGER) || \ +#if defined(KDB) && (defined(BREAK_TO_DEBUGGER) || \ defined(ALT_BREAK_TO_DEBUGGER)) /* * Enable interrupts for early break-to-debugger support @@ -1424,7 +1424,7 @@ sio_setreg(com, com_cfcr, com->cfcr_image &= ~CFCR_SBREAK); tp = com->tp; -#if defined(DDB) && (defined(BREAK_TO_DEBUGGER) || \ +#if defined(KDB) && (defined(BREAK_TO_DEBUGGER) || \ defined(ALT_BREAK_TO_DEBUGGER)) /* * Leave interrupts enabled and don't clear DTR if this is the @@ -1800,13 +1800,13 @@ recv_data = 0; else recv_data = inb(com->data_port); -#ifdef DDB +#ifdef KDB #ifdef ALT_BREAK_TO_DEBUGGER if (com->unit == comconsole && db_alt_break(recv_data, &com->alt_brk_state) != 0) - breakpoint(); + kdb_enter("Break sequence on console"); #endif /* ALT_BREAK_TO_DEBUGGER */ -#endif /* DDB */ +#endif /* KDB */ if (line_status & (LSR_BI | LSR_FE | LSR_PE)) { /* * Don't store BI if IGNBRK or FE/PE if IGNPAR. @@ -1821,9 +1821,9 @@ * Note: BI together with FE/PE means just BI. */ if (line_status & LSR_BI) { -#if defined(DDB) && defined(BREAK_TO_DEBUGGER) +#if defined(KDB) && defined(BREAK_TO_DEBUGGER) if (com->unit == comconsole) { - breakpoint(); + kdb_enter("Line break on console"); goto cont; } #endif @@ -2758,9 +2758,6 @@ #ifdef __alpha__ int siocnattach(int port, int speed); -int siogdbattach(int port, int speed); -int siogdbgetc(void); -void siogdbputc(int c); #else static cn_probe_t siocnprobe; static cn_init_t siocninit; @@ -2775,10 +2772,6 @@ siocnputc, NULL); #endif -#if DDB > 0 -static struct consdev gdbconsdev; -#endif - static void siocntxwait(iobase) Port_t iobase; @@ -2979,40 +2972,12 @@ siocniobase = iobase; siocnunit = unit; } - if (COM_DEBUGGER(flags)) { - printf("sio%d: gdb debugging port\n", unit); +#ifdef GDB + if (COM_DEBUGGER(flags)) siogdbiobase = iobase; - siogdbunit = unit; -#if DDB > 0 - siocnset(&gdbconsdev, unit); - gdb_arg = &gdbconsdev; - gdb_getc = siocngetc; - gdb_putc = siocnputc; #endif - } } } -#ifdef __i386__ -#if DDB > 0 - /* - * XXX Ugly Compatability. - * If no gdb port has been specified, set it to be the console - * as some configuration files don't specify the gdb port. - */ - if (gdb_arg == NULL && (boothowto & RB_GDB)) { - printf("Warning: no GDB port specified. Defaulting to sio%d.\n", - siocnunit); - printf("Set flag 0x80 on desired GDB port in your\n"); - printf("configuration file (currently sio only).\n"); - siogdbiobase = siocniobase; - siogdbunit = siocnunit; - siocnset(&gdbconsdev, siocnunit); - gdb_arg = &gdbconsdev; - gdb_getc = siocngetc; - gdb_putc = siocnputc; - } -#endif -#endif } static void @@ -3077,53 +3042,6 @@ return (0); } -int -siogdbattach(port, speed) - int port; - int speed; -{ - int s; - u_char cfcr; - u_int divisor; - struct siocnstate sp; - int unit = 1; /* XXX random value! */ - - siogdbiobase = port; - gdbdefaultrate = speed; - - printf("sio%d: gdb debugging port\n", unit); - siogdbunit = unit; -#if DDB > 0 - siocnset(&gdbconsdev, unit); - gdb_arg = &gdbconsdev; - gdb_getc = siocngetc; - gdb_putc = siocnputc; -#endif - - s = spltty(); - - /* - * Initialize the divisor latch. We can't rely on - * siocnopen() to do this the first time, since it - * avoids writing to the latch if the latch appears - * to have the correct value. Also, if we didn't - * just read the speed from the hardware, then we - * need to set the speed in hardware so that - * switching it later is null. - */ - cfcr = inb(siogdbiobase + com_cfcr); - outb(siogdbiobase + com_cfcr, CFCR_DLAB | cfcr); - divisor = siodivisor(comdefaultrclk, gdbdefaultrate); - outb(siogdbiobase + com_dlbl, divisor & 0xff); - outb(siogdbiobase + com_dlbh, divisor >> 8); - outb(siogdbiobase + com_cfcr, cfcr); - - siocnopen(&sp, siogdbiobase, gdbdefaultrate); - splx(s); - - return (0); -} - #endif static int @@ -3134,13 +3052,17 @@ int s; struct siocnstate sp; speed_t speed; - - if (cd->cn_unit == siocnunit) { + + if (cd != NULL && cd->cn_unit == siocnunit) { iobase = siocniobase; speed = comdefaultrate; } else { +#ifdef GDB iobase = siogdbiobase; speed = gdbdefaultrate; +#else + return (-1); +#endif } s = spltty(); siocnopen(&sp, iobase, speed); @@ -3162,12 +3084,16 @@ struct siocnstate sp; speed_t speed; - if (cd->cn_unit == siocnunit) { + if (cd != NULL && cd->cn_unit == siocnunit) { iobase = siocniobase; speed = comdefaultrate; } else { +#ifdef GDB iobase = siogdbiobase; speed = gdbdefaultrate; +#else + return (-1); +#endif } s = spltty(); siocnopen(&sp, iobase, speed); @@ -3188,12 +3114,16 @@ Port_t iobase; speed_t speed; - if (cd->cn_unit == siocnunit) { + if (cd != NULL && cd->cn_unit == siocnunit) { iobase = siocniobase; speed = comdefaultrate; } else { +#ifdef GDB iobase = siogdbiobase; speed = gdbdefaultrate; +#else + return; +#endif } s = spltty(); need_unlock = 0; @@ -3210,56 +3140,56 @@ splx(s); } -#ifdef __alpha__ -int -siogdbgetc() +/* + * Remote gdb(1) support. + */ + +#if defined(GDB) + +#include + +static gdb_probe_f siogdbprobe; +static gdb_init_f siogdbinit; +static gdb_term_f siogdbterm; +static gdb_getc_f siogdbgetc; +static gdb_checkc_f siogdbcheckc; +static gdb_putc_f siogdbputc; + +GDB_DBGPORT(sio, siogdbprobe, siogdbinit, siogdbterm, siogdbcheckc, + siogdbgetc, siogdbputc); + +static int +siogdbprobe(void) { - int c; - Port_t iobase; - speed_t speed; - int s; - struct siocnstate sp; + return ((siogdbiobase != 0) ? 0 : -1); +} - if (siogdbunit == siocnunit) { - iobase = siocniobase; - speed = comdefaultrate; - } else { - iobase = siogdbiobase; - speed = gdbdefaultrate; - } +static void +siogdbinit(void) +{ +} - s = spltty(); - siocnopen(&sp, iobase, speed); - while (!(inb(iobase + com_lsr) & LSR_RXRDY)) - ; - c = inb(iobase + com_data); - siocnclose(&sp, iobase); - splx(s); - return (c); +static void +siogdbterm(void) +{ } -void -siogdbputc(c) - int c; +static void +siogdbputc(int c) { - Port_t iobase; - speed_t speed; - int s; - struct siocnstate sp; + siocnputc(NULL, c); +} - if (siogdbunit == siocnunit) { - iobase = siocniobase; - speed = comdefaultrate; - } else { - iobase = siogdbiobase; - speed = gdbdefaultrate; - } +static int +siogdbcheckc(void) +{ + return (siocncheckc(NULL)); +} - s = spltty(); - siocnopen(&sp, iobase, speed); - siocntxwait(siogdbiobase); - outb(siogdbiobase + com_data, c); - siocnclose(&sp, siogdbiobase); - splx(s); +static int +siogdbgetc(void) +{ + return (siocngetc(NULL)); } + #endif From owner-p4-projects@FreeBSD.ORG Mon Mar 29 00:42:36 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8939816A4D1; Mon, 29 Mar 2004 00:42:36 -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 425F316A4CE for ; Mon, 29 Mar 2004 00:42:36 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 35F4243D53 for ; Mon, 29 Mar 2004 00:42:36 -0800 (PST) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2T8gZGe077269 for ; Mon, 29 Mar 2004 00:42:35 -0800 (PST) (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2T8g9RL076861 for perforce@freebsd.org; Mon, 29 Mar 2004 00:42:09 -0800 (PST) (envelope-from imp@freebsd.org) Date: Mon, 29 Mar 2004 00:42:09 -0800 (PST) Message-Id: <200403290842.i2T8g9RL076861@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Subject: PERFORCE change 49877 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: Mon, 29 Mar 2004 08:42:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=49877 Change 49877 by imp@imp_pacopaco on 2004/03/29 00:41:44 IFC @49873 Affected files ... .. //depot/projects/power/sys/Makefile#2 integrate .. //depot/projects/power/sys/alpha/alpha/busdma_machdep.c#2 integrate .. //depot/projects/power/sys/alpha/alpha/interrupt.c#3 integrate .. //depot/projects/power/sys/alpha/alpha/machdep.c#5 integrate .. //depot/projects/power/sys/alpha/alpha/mem.c#2 integrate .. //depot/projects/power/sys/alpha/alpha/pmap.c#3 integrate .. //depot/projects/power/sys/alpha/alpha/promcons.c#3 integrate .. //depot/projects/power/sys/alpha/alpha/support.s#2 integrate .. //depot/projects/power/sys/alpha/alpha/uio_machdep.c#1 branch .. //depot/projects/power/sys/alpha/alpha/vm_machdep.c#4 integrate .. //depot/projects/power/sys/alpha/conf/GENERIC#5 integrate .. //depot/projects/power/sys/alpha/include/_types.h#2 integrate .. //depot/projects/power/sys/alpha/include/critical.h#2 integrate .. //depot/projects/power/sys/alpha/include/pmap.h#3 integrate .. //depot/projects/power/sys/alpha/isa/isa.c#3 integrate .. //depot/projects/power/sys/alpha/linux/linux_dummy.c#2 integrate .. //depot/projects/power/sys/alpha/linux/linux_machdep.c#2 integrate .. //depot/projects/power/sys/alpha/linux/linux_proto.h#4 integrate .. //depot/projects/power/sys/alpha/linux/linux_syscall.h#4 integrate .. //depot/projects/power/sys/alpha/linux/linux_sysent.c#4 integrate .. //depot/projects/power/sys/alpha/linux/syscalls.master#4 integrate .. //depot/projects/power/sys/alpha/osf1/osf1_misc.c#2 integrate .. //depot/projects/power/sys/alpha/osf1/osf1_proto.h#4 integrate .. //depot/projects/power/sys/alpha/osf1/osf1_syscall.h#4 integrate .. //depot/projects/power/sys/alpha/osf1/osf1_sysent.c#4 integrate .. //depot/projects/power/sys/alpha/osf1/syscalls.master#4 integrate .. //depot/projects/power/sys/alpha/tlsb/zs_tlsb.c#3 integrate .. //depot/projects/power/sys/amd64/acpica/madt.c#3 integrate .. //depot/projects/power/sys/amd64/amd64/busdma_machdep.c#3 integrate .. //depot/projects/power/sys/amd64/amd64/cpu_switch.S#3 integrate .. //depot/projects/power/sys/amd64/amd64/critical.c#3 integrate .. //depot/projects/power/sys/amd64/amd64/db_interface.c#3 integrate .. //depot/projects/power/sys/amd64/amd64/db_trace.c#3 integrate .. //depot/projects/power/sys/amd64/amd64/fpu.c#3 integrate .. //depot/projects/power/sys/amd64/amd64/genassym.c#5 integrate .. //depot/projects/power/sys/amd64/amd64/identcpu.c#4 integrate .. //depot/projects/power/sys/amd64/amd64/local_apic.c#3 integrate .. //depot/projects/power/sys/amd64/amd64/machdep.c#7 integrate .. //depot/projects/power/sys/amd64/amd64/mem.c#4 integrate .. //depot/projects/power/sys/amd64/amd64/mp_machdep.c#4 integrate .. //depot/projects/power/sys/amd64/amd64/mpboot.S#2 integrate .. //depot/projects/power/sys/amd64/amd64/pmap.c#6 integrate .. //depot/projects/power/sys/amd64/amd64/trap.c#6 integrate .. //depot/projects/power/sys/amd64/amd64/uio_machdep.c#1 branch .. //depot/projects/power/sys/amd64/amd64/vm_machdep.c#5 integrate .. //depot/projects/power/sys/amd64/conf/GENERIC#5 integrate .. //depot/projects/power/sys/amd64/conf/GENERIC.hints#2 integrate .. //depot/projects/power/sys/amd64/conf/NOTES#1 branch .. //depot/projects/power/sys/amd64/ia32/ia32_signal.c#5 integrate .. //depot/projects/power/sys/amd64/include/_types.h#2 integrate .. //depot/projects/power/sys/amd64/include/cpufunc.h#4 integrate .. //depot/projects/power/sys/amd64/include/critical.h#3 integrate .. //depot/projects/power/sys/amd64/include/fpu.h#2 integrate .. //depot/projects/power/sys/amd64/include/md_var.h#4 integrate .. //depot/projects/power/sys/amd64/include/pcb.h#3 integrate .. //depot/projects/power/sys/amd64/include/pci_cfgreg.h#3 integrate .. //depot/projects/power/sys/amd64/include/pcvt_ioctl.h#2 delete .. //depot/projects/power/sys/amd64/include/pmap.h#4 integrate .. //depot/projects/power/sys/amd64/include/reg.h#3 integrate .. //depot/projects/power/sys/amd64/include/smp.h#3 integrate .. //depot/projects/power/sys/amd64/include/specialreg.h#5 integrate .. //depot/projects/power/sys/amd64/isa/atpic.c#4 integrate .. //depot/projects/power/sys/amd64/isa/isa.c#3 integrate .. //depot/projects/power/sys/amd64/isa/isa_dma.c#3 integrate .. //depot/projects/power/sys/amd64/pci/pci_bus.c#5 integrate .. //depot/projects/power/sys/amd64/pci/pci_cfgreg.c#3 integrate .. //depot/projects/power/sys/arm/include/_types.h#2 integrate .. //depot/projects/power/sys/boot/Makefile#3 integrate .. //depot/projects/power/sys/boot/alpha/Makefile.inc#2 integrate .. //depot/projects/power/sys/boot/alpha/boot1/Makefile#2 integrate .. //depot/projects/power/sys/boot/alpha/cdboot/Makefile#2 integrate .. //depot/projects/power/sys/boot/alpha/common/Makefile.common#2 integrate .. //depot/projects/power/sys/boot/alpha/common/conf.c#3 integrate .. //depot/projects/power/sys/boot/alpha/libalpha/Makefile#2 integrate .. //depot/projects/power/sys/boot/alpha/loader/Makefile#2 integrate .. //depot/projects/power/sys/boot/alpha/netboot/Makefile#2 integrate .. //depot/projects/power/sys/boot/arc/include/arcfuncs.h#2 integrate .. //depot/projects/power/sys/boot/common/Makefile.inc#2 integrate .. //depot/projects/power/sys/boot/common/help.common#2 integrate .. //depot/projects/power/sys/boot/common/load_elf.c#2 integrate .. //depot/projects/power/sys/boot/common/loader.8#2 integrate .. //depot/projects/power/sys/boot/efi/Makefile.inc#2 integrate .. //depot/projects/power/sys/boot/efi/libefi/Makefile#2 integrate .. //depot/projects/power/sys/boot/efi/libefi/efi_console.c#2 integrate .. //depot/projects/power/sys/boot/efi/loader/Makefile#2 integrate .. //depot/projects/power/sys/boot/ficl/Makefile#3 integrate .. //depot/projects/power/sys/boot/forth/frames.4th#2 integrate .. //depot/projects/power/sys/boot/forth/loader.conf#2 integrate .. //depot/projects/power/sys/boot/forth/loader.conf.5#2 integrate .. //depot/projects/power/sys/boot/i386/Makefile.inc#2 integrate .. //depot/projects/power/sys/boot/i386/boot0/Makefile#4 integrate .. //depot/projects/power/sys/boot/i386/boot0/boot0ext.s#1 branch .. //depot/projects/power/sys/boot/i386/boot0ext/Makefile#1 branch .. //depot/projects/power/sys/boot/i386/boot0sio/Makefile#2 integrate .. //depot/projects/power/sys/boot/i386/boot2/Makefile#2 integrate .. //depot/projects/power/sys/boot/i386/boot2/boot1.S#1 branch .. //depot/projects/power/sys/boot/i386/boot2/boot1.s#2 delete .. //depot/projects/power/sys/boot/i386/boot2/boot2.c#3 integrate .. //depot/projects/power/sys/boot/i386/boot2/sio.S#1 branch .. //depot/projects/power/sys/boot/i386/boot2/sio.s#2 delete .. //depot/projects/power/sys/boot/i386/btx/Makefile.inc#2 integrate .. //depot/projects/power/sys/boot/i386/btx/btx/Makefile#2 integrate .. //depot/projects/power/sys/boot/i386/btx/btx/btx.S#1 branch .. //depot/projects/power/sys/boot/i386/btx/btx/btx.s#3 delete .. //depot/projects/power/sys/boot/i386/btx/btxldr/Makefile#2 integrate .. //depot/projects/power/sys/boot/i386/btx/btxldr/btxldr.S#1 branch .. //depot/projects/power/sys/boot/i386/btx/btxldr/btxldr.s#3 delete .. //depot/projects/power/sys/boot/i386/btx/lib/Makefile#2 integrate .. //depot/projects/power/sys/boot/i386/cdboot/Makefile#2 integrate .. //depot/projects/power/sys/boot/i386/cdboot/cdboot.s#3 integrate .. //depot/projects/power/sys/boot/i386/kgzldr/Makefile#2 integrate .. //depot/projects/power/sys/boot/i386/libi386/Makefile#2 integrate .. //depot/projects/power/sys/boot/i386/libi386/biosdisk.c#2 integrate .. //depot/projects/power/sys/boot/i386/loader/Makefile#2 integrate .. //depot/projects/power/sys/boot/i386/loader/main.c#2 integrate .. //depot/projects/power/sys/boot/i386/mbr/Makefile#2 integrate .. //depot/projects/power/sys/boot/i386/pxeldr/Makefile#2 integrate .. //depot/projects/power/sys/boot/i386/pxeldr/pxeldr.S#1 branch .. //depot/projects/power/sys/boot/i386/pxeldr/pxeldr.s#2 delete .. //depot/projects/power/sys/boot/ia64/Makefile.inc#2 integrate .. //depot/projects/power/sys/boot/ia64/libski/Makefile#2 integrate .. //depot/projects/power/sys/boot/ia64/skiload/Makefile#3 integrate .. //depot/projects/power/sys/boot/pc98/Makefile.inc#2 integrate .. //depot/projects/power/sys/boot/pc98/boot0.5/Makefile#2 integrate .. //depot/projects/power/sys/boot/pc98/boot0/Makefile#2 integrate .. //depot/projects/power/sys/boot/pc98/boot2/Makefile#2 integrate .. //depot/projects/power/sys/boot/pc98/btx/Makefile.inc#1 branch .. //depot/projects/power/sys/boot/pc98/btx/btx/Makefile#2 integrate .. //depot/projects/power/sys/boot/pc98/btx/btx/btx.S#1 branch .. //depot/projects/power/sys/boot/pc98/btx/btx/btx.s#2 delete .. //depot/projects/power/sys/boot/pc98/btx/btxldr/Makefile#2 integrate .. //depot/projects/power/sys/boot/pc98/btx/btxldr/btxldr.S#1 branch .. //depot/projects/power/sys/boot/pc98/btx/btxldr/btxldr.s#3 delete .. //depot/projects/power/sys/boot/pc98/btx/lib/Makefile#2 integrate .. //depot/projects/power/sys/boot/pc98/kgzldr/Makefile#2 integrate .. //depot/projects/power/sys/boot/pc98/libpc98/Makefile#2 integrate .. //depot/projects/power/sys/boot/pc98/libpc98/vidconsole.c#2 integrate .. //depot/projects/power/sys/boot/pc98/loader/Makefile#2 integrate .. //depot/projects/power/sys/boot/pc98/loader/main.c#2 integrate .. //depot/projects/power/sys/boot/powerpc/loader/Makefile#3 integrate .. //depot/projects/power/sys/boot/sparc64/Makefile.inc#1 branch .. //depot/projects/power/sys/boot/sparc64/boot1/Makefile#2 integrate .. //depot/projects/power/sys/boot/sparc64/boot1/_start.S#2 delete .. //depot/projects/power/sys/boot/sparc64/boot1/_start.s#1 branch .. //depot/projects/power/sys/boot/sparc64/loader/Makefile#2 integrate .. //depot/projects/power/sys/cam/cam_xpt.c#3 integrate .. //depot/projects/power/sys/cam/scsi/scsi_cd.c#4 integrate .. //depot/projects/power/sys/cam/scsi/scsi_ch.c#2 integrate .. //depot/projects/power/sys/cam/scsi/scsi_da.c#4 integrate .. //depot/projects/power/sys/cam/scsi/scsi_pass.c#2 integrate .. //depot/projects/power/sys/cam/scsi/scsi_pt.c#2 integrate .. //depot/projects/power/sys/cam/scsi/scsi_sa.c#3 integrate .. //depot/projects/power/sys/cam/scsi/scsi_ses.c#2 integrate .. //depot/projects/power/sys/cam/scsi/scsi_target.c#4 integrate .. //depot/projects/power/sys/coda/coda_fbsd.c#2 integrate .. //depot/projects/power/sys/coda/coda_venus.c#2 integrate .. //depot/projects/power/sys/compat/freebsd32/freebsd32_misc.c#4 integrate .. //depot/projects/power/sys/compat/freebsd32/freebsd32_proto.h#4 integrate .. //depot/projects/power/sys/compat/freebsd32/freebsd32_syscall.h#4 integrate .. //depot/projects/power/sys/compat/freebsd32/freebsd32_syscalls.c#4 integrate .. //depot/projects/power/sys/compat/freebsd32/freebsd32_sysent.c#4 integrate .. //depot/projects/power/sys/compat/freebsd32/syscalls.master#4 integrate .. //depot/projects/power/sys/compat/ia32/ia32_genassym.c#2 integrate .. //depot/projects/power/sys/compat/ia32/ia32_signal.h#3 integrate .. //depot/projects/power/sys/compat/ia32/ia32_sysvec.c#5 integrate .. //depot/projects/power/sys/compat/linprocfs/linprocfs.c#5 integrate .. //depot/projects/power/sys/compat/linux/linux_file.c#3 integrate .. //depot/projects/power/sys/compat/linux/linux_ioctl.c#4 integrate .. //depot/projects/power/sys/compat/linux/linux_ioctl.h#2 integrate .. //depot/projects/power/sys/compat/linux/linux_misc.c#5 integrate .. //depot/projects/power/sys/compat/linux/linux_stats.c#3 integrate .. //depot/projects/power/sys/compat/linux/linux_util.c#2 integrate .. //depot/projects/power/sys/compat/ndis/hal_var.h#2 integrate .. //depot/projects/power/sys/compat/ndis/kern_ndis.c#5 integrate .. //depot/projects/power/sys/compat/ndis/ndis_var.h#5 integrate .. //depot/projects/power/sys/compat/ndis/ntoskrnl_var.h#2 integrate .. //depot/projects/power/sys/compat/ndis/pe_var.h#3 integrate .. //depot/projects/power/sys/compat/ndis/resource_var.h#2 integrate .. //depot/projects/power/sys/compat/ndis/subr_hal.c#3 integrate .. //depot/projects/power/sys/compat/ndis/subr_ndis.c#5 integrate .. //depot/projects/power/sys/compat/ndis/subr_ntoskrnl.c#4 integrate .. //depot/projects/power/sys/compat/ndis/subr_pe.c#3 integrate .. //depot/projects/power/sys/compat/netbsd/dvcfg.h#1 branch .. //depot/projects/power/sys/compat/netbsd/physio_proc.h#1 branch .. //depot/projects/power/sys/compat/svr4/imgact_svr4.c#2 integrate .. //depot/projects/power/sys/compat/svr4/svr4_filio.c#3 integrate .. //depot/projects/power/sys/compat/svr4/svr4_misc.c#4 integrate .. //depot/projects/power/sys/compat/svr4/svr4_proto.h#3 integrate .. //depot/projects/power/sys/compat/svr4/svr4_resource.c#2 integrate .. //depot/projects/power/sys/compat/svr4/svr4_syscall.h#3 integrate .. //depot/projects/power/sys/compat/svr4/svr4_syscallnames.c#3 integrate .. //depot/projects/power/sys/compat/svr4/svr4_sysent.c#3 integrate .. //depot/projects/power/sys/compat/svr4/svr4_types.h#2 integrate .. //depot/projects/power/sys/compat/svr4/syscalls.master#3 integrate .. //depot/projects/power/sys/conf/Makefile.alpha#3 integrate .. //depot/projects/power/sys/conf/NOTES#6 integrate .. //depot/projects/power/sys/conf/files#6 integrate .. //depot/projects/power/sys/conf/files.alpha#2 integrate .. //depot/projects/power/sys/conf/files.amd64#5 integrate .. //depot/projects/power/sys/conf/files.i386#5 integrate .. //depot/projects/power/sys/conf/files.ia64#5 integrate .. //depot/projects/power/sys/conf/files.pc98#4 integrate .. //depot/projects/power/sys/conf/files.powerpc#2 integrate .. //depot/projects/power/sys/conf/files.sparc64#3 integrate .. //depot/projects/power/sys/conf/kern.mk#4 integrate .. //depot/projects/power/sys/conf/kern.post.mk#6 integrate .. //depot/projects/power/sys/conf/kern.pre.mk#5 integrate .. //depot/projects/power/sys/conf/kmod.mk#5 integrate .. //depot/projects/power/sys/conf/ldscript.alpha#2 integrate .. //depot/projects/power/sys/conf/majors#7 integrate .. //depot/projects/power/sys/conf/options#6 integrate .. //depot/projects/power/sys/conf/options.amd64#3 integrate .. //depot/projects/power/sys/conf/options.i386#6 integrate .. //depot/projects/power/sys/conf/options.pc98#5 integrate .. //depot/projects/power/sys/conf/options.powerpc#2 integrate .. //depot/projects/power/sys/conf/systags.sh#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/CHANGES.txt#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acapps.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acconfig.h#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acdebug.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acdisasm.h#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acdispat.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acefi.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acenv.h#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acevents.h#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acexcep.h#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acfreebsd.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acgcc.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acglobal.h#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/achware.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acinterp.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/aclocal.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acmacros.h#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acnamesp.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acobject.h#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acoutput.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acparser.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acpi.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acpica_prep.sh#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acpiosxf.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acpixf.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acresrc.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acstruct.h#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/actables.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/actbl.h#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/actbl1.h#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/actbl2.h#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/actypes.h#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acutils.h#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/amlcode.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/amlresrc.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/common/adisasm.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/common/getopt.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslanalyze.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslcodegen.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslcompile.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslcompiler.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslcompiler.l#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslcompiler.y#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslerror.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslfiles.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslfold.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslglobal.h#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/asllength.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/asllisting.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslload.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/asllookup.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslmain.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslmap.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslopcodes.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/asloperands.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslopt.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslresource.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslrestype1.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslrestype2.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslstubs.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/asltransform.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/asltree.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/asltypes.h#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/compiler/aslutils.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dbcmds.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dbdisply.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dbexec.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dbfileio.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dbhistry.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dbinput.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dbstats.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dbutils.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dbxface.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dmbuffer.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dmnames.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dmobject.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dmopcode.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dmresrc.c#4 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dmresrcl.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dmresrcs.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dmutils.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dmwalk.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dsfield.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dsinit.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dsmethod.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dsmthdat.c#5 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dsobject.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dsopcode.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dsutils.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dswexec.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dswload.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dswscope.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/dswstate.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/evevent.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/evgpe.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/evgpeblk.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/evmisc.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/evregion.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/evrgnini.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/evsci.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/evxface.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/evxfevnt.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/evxfregn.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exconfig.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exconvrt.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/excreate.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exdump.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exfield.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exfldio.c#5 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exmisc.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exmutex.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exnames.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exoparg1.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exoparg2.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exoparg3.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exoparg6.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exprep.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exregion.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exresnte.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exresolv.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exresop.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exstore.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exstoren.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exstorob.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exsystem.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/exutils.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/hwacpi.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/hwgpe.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/hwregs.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/hwsleep.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/hwtimer.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/nsaccess.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/nsalloc.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/nsdump.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/nsdumpdv.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/nseval.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/nsinit.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/nsload.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/nsnames.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/nsobject.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/nsparse.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/nssearch.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/nsutils.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/nswalk.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/nsxfeval.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/nsxfname.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/nsxfobj.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/osunixxf.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/psargs.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/psopcode.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/psparse.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/psscope.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/pstree.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/psutils.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/pswalk.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/psxface.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/rsaddr.c#4 integrate .. //depot/projects/power/sys/contrib/dev/acpica/rscalc.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/rscreate.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/rsdump.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/rsio.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/rsirq.c#4 integrate .. //depot/projects/power/sys/contrib/dev/acpica/rslist.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/rsmemory.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/rsmisc.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/rsutils.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/rsxface.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/tbconvrt.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/tbget.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/tbgetall.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/tbinstal.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/tbrsdt.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/tbutils.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/tbxface.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/tbxfroot.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/utalloc.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/utclib.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/utcopy.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/utdebug.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/utdelete.c#4 integrate .. //depot/projects/power/sys/contrib/dev/acpica/uteval.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/utglobal.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/utinit.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/utmath.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/utmisc.c#2 integrate .. //depot/projects/power/sys/contrib/dev/acpica/utobject.c#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/utxface.c#2 integrate .. //depot/projects/power/sys/contrib/dev/fla/fla.c#2 integrate .. //depot/projects/power/sys/contrib/dev/oltr/if_oltr.c#3 integrate .. //depot/projects/power/sys/contrib/ipfilter/netinet/ip_fil.c#4 integrate .. //depot/projects/power/sys/contrib/ipfilter/netinet/mlfk_ipl.c#2 integrate .. //depot/projects/power/sys/contrib/pf/net/if_pflog.c#1 branch .. //depot/projects/power/sys/contrib/pf/net/if_pflog.h#1 branch .. //depot/projects/power/sys/contrib/pf/net/if_pfsync.c#1 branch .. //depot/projects/power/sys/contrib/pf/net/if_pfsync.h#1 branch .. //depot/projects/power/sys/contrib/pf/net/pf.c#1 branch .. //depot/projects/power/sys/contrib/pf/net/pf_ioctl.c#1 branch .. //depot/projects/power/sys/contrib/pf/net/pf_norm.c#1 branch .. //depot/projects/power/sys/contrib/pf/net/pf_osfp.c#1 branch .. //depot/projects/power/sys/contrib/pf/net/pf_table.c#1 branch .. //depot/projects/power/sys/contrib/pf/net/pfvar.h#1 branch .. //depot/projects/power/sys/contrib/pf/netinet/in4_cksum.c#1 branch .. //depot/projects/power/sys/crypto/md5.c#2 integrate .. //depot/projects/power/sys/ddb/db_command.c#2 integrate .. //depot/projects/power/sys/ddb/db_output.c#2 integrate .. //depot/projects/power/sys/ddb/db_ps.c#2 integrate .. //depot/projects/power/sys/ddb/db_sym.c#2 integrate .. //depot/projects/power/sys/dev/aac/aac.c#4 integrate .. //depot/projects/power/sys/dev/aac/aac_debug.c#2 integrate .. //depot/projects/power/sys/dev/aac/aac_disk.c#3 integrate .. //depot/projects/power/sys/dev/aac/aac_ioctl.h#2 integrate .. //depot/projects/power/sys/dev/aac/aac_pci.c#3 integrate .. //depot/projects/power/sys/dev/aac/aacvar.h#2 integrate .. //depot/projects/power/sys/dev/acpica/Osd/OsdHardware.c#2 integrate .. //depot/projects/power/sys/dev/acpica/Osd/OsdInterrupt.c#3 integrate .. //depot/projects/power/sys/dev/acpica/Osd/OsdTable.c#3 integrate .. //depot/projects/power/sys/dev/acpica/acpi.c#10 integrate .. //depot/projects/power/sys/dev/acpica/acpi_acad.c#4 integrate .. //depot/projects/power/sys/dev/acpica/acpi_button.c#4 integrate .. //depot/projects/power/sys/dev/acpica/acpi_cpu.c#5 integrate .. //depot/projects/power/sys/dev/acpica/acpi_ec.c#4 integrate .. //depot/projects/power/sys/dev/acpica/acpi_lid.c#3 integrate .. //depot/projects/power/sys/dev/acpica/acpi_pci.c#6 integrate .. //depot/projects/power/sys/dev/acpica/acpi_pci_link.c#4 integrate .. //depot/projects/power/sys/dev/acpica/acpi_pcib.c#5 integrate .. //depot/projects/power/sys/dev/acpica/acpi_pcib_acpi.c#2 integrate .. //depot/projects/power/sys/dev/acpica/acpi_powerres.c#2 integrate .. //depot/projects/power/sys/dev/acpica/acpi_resource.c#3 integrate .. //depot/projects/power/sys/dev/acpica/acpi_thermal.c#5 integrate .. //depot/projects/power/sys/dev/acpica/acpi_timer.c#2 integrate .. //depot/projects/power/sys/dev/acpica/acpi_video.c#1 branch .. //depot/projects/power/sys/dev/acpica/acpivar.h#7 integrate .. //depot/projects/power/sys/dev/adlink/adlink.c#3 integrate .. //depot/projects/power/sys/dev/advansys/adv_eisa.c#2 integrate .. //depot/projects/power/sys/dev/advansys/adv_isa.c#2 integrate .. //depot/projects/power/sys/dev/advansys/adv_pci.c#2 integrate .. //depot/projects/power/sys/dev/advansys/advmcode.h#2 integrate .. //depot/projects/power/sys/dev/advansys/adw_pci.c#2 integrate .. //depot/projects/power/sys/dev/aha/aha_isa.c#3 integrate .. //depot/projects/power/sys/dev/aha/aha_mca.c#3 integrate .. //depot/projects/power/sys/dev/ahb/ahb.c#2 integrate .. //depot/projects/power/sys/dev/aic/aic_cbus.c#2 integrate .. //depot/projects/power/sys/dev/aic/aic_isa.c#2 integrate .. //depot/projects/power/sys/dev/aic/aic_pccard.c#2 integrate .. //depot/projects/power/sys/dev/aic7xxx/ahc_eisa.c#3 integrate .. //depot/projects/power/sys/dev/aic7xxx/ahc_pci.c#6 integrate .. //depot/projects/power/sys/dev/aic7xxx/ahd_pci.c#6 integrate .. //depot/projects/power/sys/dev/aic7xxx/aic79xx.c#3 integrate .. //depot/projects/power/sys/dev/aic7xxx/aic79xx.h#3 integrate .. //depot/projects/power/sys/dev/aic7xxx/aic79xx.reg#2 integrate .. //depot/projects/power/sys/dev/aic7xxx/aic79xx.seq#3 integrate .. //depot/projects/power/sys/dev/aic7xxx/aic79xx_inline.h#3 integrate .. //depot/projects/power/sys/dev/aic7xxx/aic79xx_pci.c#4 integrate .. //depot/projects/power/sys/dev/aic7xxx/aic7xxx.c#3 integrate .. //depot/projects/power/sys/dev/aic7xxx/aicasm/Makefile#2 integrate .. //depot/projects/power/sys/dev/aic7xxx/aicasm/aicasm.c#3 integrate .. //depot/projects/power/sys/dev/amd/amd.c#2 integrate .. //depot/projects/power/sys/dev/amr/amr.c#3 integrate .. //depot/projects/power/sys/dev/amr/amr_disk.c#3 integrate .. //depot/projects/power/sys/dev/amr/amr_pci.c#2 integrate .. //depot/projects/power/sys/dev/amr/amrvar.h#3 integrate .. //depot/projects/power/sys/dev/an/if_an.c#5 integrate .. //depot/projects/power/sys/dev/ar/if_ar.c#3 integrate .. //depot/projects/power/sys/dev/arl/if_arl.c#1 branch .. //depot/projects/power/sys/dev/arl/if_arl_isa.c#1 branch .. //depot/projects/power/sys/dev/arl/if_arlreg.h#1 branch .. //depot/projects/power/sys/dev/asr/asr.c#3 integrate .. //depot/projects/power/sys/dev/ata/ata-all.c#6 integrate .. //depot/projects/power/sys/dev/ata/ata-all.h#6 integrate .. //depot/projects/power/sys/dev/ata/ata-card.c#5 integrate .. //depot/projects/power/sys/dev/ata/ata-cbus.c#3 integrate .. //depot/projects/power/sys/dev/ata/ata-chipset.c#8 integrate .. //depot/projects/power/sys/dev/ata/ata-disk.c#5 integrate .. //depot/projects/power/sys/dev/ata/ata-disk.h#2 integrate .. //depot/projects/power/sys/dev/ata/ata-dma.c#5 integrate .. //depot/projects/power/sys/dev/ata/ata-isa.c#4 integrate .. //depot/projects/power/sys/dev/ata/ata-lowlevel.c#6 integrate .. //depot/projects/power/sys/dev/ata/ata-pci.c#6 integrate .. //depot/projects/power/sys/dev/ata/ata-pci.h#5 integrate .. //depot/projects/power/sys/dev/ata/ata-queue.c#5 integrate .. //depot/projects/power/sys/dev/ata/ata-raid.c#5 integrate .. //depot/projects/power/sys/dev/ata/ata-raid.h#2 integrate .. //depot/projects/power/sys/dev/ata/atapi-cam.c#5 integrate .. //depot/projects/power/sys/dev/ata/atapi-cd.c#7 integrate .. //depot/projects/power/sys/dev/ata/atapi-fd.c#4 integrate .. //depot/projects/power/sys/dev/ata/atapi-fd.h#2 integrate .. //depot/projects/power/sys/dev/ata/atapi-tape.c#4 integrate .. //depot/projects/power/sys/dev/ath/if_ath.c#7 integrate .. //depot/projects/power/sys/dev/ath/if_ath_pci.c#5 integrate .. //depot/projects/power/sys/dev/awi/am79c930.c#2 integrate .. //depot/projects/power/sys/dev/awi/am79c930reg.h#2 integrate .. //depot/projects/power/sys/dev/awi/am79c930var.h#2 integrate .. //depot/projects/power/sys/dev/awi/awi.c#2 integrate .. //depot/projects/power/sys/dev/awi/awi_wep.c#2 delete .. //depot/projects/power/sys/dev/awi/awi_wicfg.c#2 delete .. //depot/projects/power/sys/dev/awi/awireg.h#2 integrate .. //depot/projects/power/sys/dev/awi/awivar.h#2 integrate .. //depot/projects/power/sys/dev/awi/if_awi_pccard.c#3 integrate .. //depot/projects/power/sys/dev/bfe/if_bfe.c#3 integrate .. //depot/projects/power/sys/dev/bge/if_bge.c#6 integrate .. //depot/projects/power/sys/dev/bktr/bktr_os.c#4 integrate .. //depot/projects/power/sys/dev/buslogic/bt_eisa.c#2 integrate .. //depot/projects/power/sys/dev/buslogic/bt_isa.c#2 integrate .. //depot/projects/power/sys/dev/buslogic/bt_mca.c#2 integrate .. //depot/projects/power/sys/dev/buslogic/bt_pci.c#2 integrate .. //depot/projects/power/sys/dev/cardbus/cardbus_cis.c#3 integrate .. //depot/projects/power/sys/dev/ciss/ciss.c#5 integrate .. //depot/projects/power/sys/dev/cm/smc90cx6.c#3 integrate .. //depot/projects/power/sys/dev/cnw/if_cnw.c#3 integrate .. //depot/projects/power/sys/dev/cs/if_cs.c#3 integrate .. //depot/projects/power/sys/dev/ct/bshw_machdep.c#2 integrate .. //depot/projects/power/sys/dev/ct/ct.c#2 integrate .. //depot/projects/power/sys/dev/ct/ct_isa.c#2 integrate .. //depot/projects/power/sys/dev/ctau/am8530.h#1 branch .. //depot/projects/power/sys/dev/ctau/ctau.c#1 branch .. //depot/projects/power/sys/dev/ctau/ctau2fw.h#1 branch .. //depot/projects/power/sys/dev/ctau/ctaue1fw.h#1 branch .. //depot/projects/power/sys/dev/ctau/ctaufw.h#1 branch .. //depot/projects/power/sys/dev/ctau/ctaug7fw.h#1 branch .. //depot/projects/power/sys/dev/ctau/ctaureg.h#1 branch .. //depot/projects/power/sys/dev/ctau/ctddk.c#1 branch .. //depot/projects/power/sys/dev/ctau/ctddk.h#1 branch .. //depot/projects/power/sys/dev/ctau/ds2153.h#1 branch .. //depot/projects/power/sys/dev/ctau/hdc64570.h#1 branch .. //depot/projects/power/sys/dev/ctau/if_ct.c#1 branch .. //depot/projects/power/sys/dev/ctau/lxt318.h#1 branch .. //depot/projects/power/sys/dev/ctau/ng_ct.h#1 branch .. //depot/projects/power/sys/dev/cx/if_cx.c#2 integrate .. //depot/projects/power/sys/dev/cx/machdep.h#2 integrate .. //depot/projects/power/sys/dev/cx/ng_cx.h#2 integrate .. //depot/projects/power/sys/dev/dcons/dcons.c#2 integrate .. //depot/projects/power/sys/dev/dcons/dcons.h#2 integrate .. //depot/projects/power/sys/dev/dcons/dcons_crom.c#3 integrate .. //depot/projects/power/sys/dev/digi/digi.c#3 integrate .. //depot/projects/power/sys/dev/digi/digi_pci.c#2 integrate .. //depot/projects/power/sys/dev/dpt/dpt.h#2 integrate .. //depot/projects/power/sys/dev/dpt/dpt_isa.c#2 integrate .. //depot/projects/power/sys/dev/dpt/dpt_pci.c#2 integrate .. //depot/projects/power/sys/dev/dpt/dpt_scsi.c#2 integrate .. //depot/projects/power/sys/dev/drm/drm_drv.h#5 integrate .. //depot/projects/power/sys/dev/drm/drm_irq.h#3 integrate .. //depot/projects/power/sys/dev/drm/drm_os_freebsd.h#4 integrate .. //depot/projects/power/sys/dev/drm/drm_vm.h#3 integrate .. //depot/projects/power/sys/dev/drm/r128_state.c#3 integrate .. //depot/projects/power/sys/dev/drm/radeon_state.c#3 integrate .. //depot/projects/power/sys/dev/drm/sis_ds.h#2 integrate .. //depot/projects/power/sys/dev/drm/sis_mm.c#3 integrate .. //depot/projects/power/sys/dev/ed/if_ed.c#5 integrate .. //depot/projects/power/sys/dev/ed/if_edvar.h#4 integrate .. //depot/projects/power/sys/dev/em/if_em.c#5 integrate .. //depot/projects/power/sys/dev/em/if_em_hw.c#3 integrate .. //depot/projects/power/sys/dev/em/if_em_hw.h#3 integrate .. //depot/projects/power/sys/dev/en/if_en_pci.c#3 integrate .. //depot/projects/power/sys/dev/en/midway.c#4 integrate .. //depot/projects/power/sys/dev/ep/if_ep.c#5 integrate .. //depot/projects/power/sys/dev/ep/if_ep_eisa.c#4 integrate .. //depot/projects/power/sys/dev/ex/if_ex.c#3 integrate .. //depot/projects/power/sys/dev/fatm/if_fatm.c#4 integrate .. //depot/projects/power/sys/dev/fb/fb.c#3 integrate .. //depot/projects/power/sys/dev/fb/fbreg.h#3 integrate .. //depot/projects/power/sys/dev/fb/s3_pci.c#2 integrate .. //depot/projects/power/sys/dev/fe/if_fe.c#4 integrate .. //depot/projects/power/sys/dev/firewire/firewire.c#9 integrate .. //depot/projects/power/sys/dev/firewire/firewire.h#5 integrate .. //depot/projects/power/sys/dev/firewire/firewirereg.h#7 integrate .. //depot/projects/power/sys/dev/firewire/fwcrom.c#4 integrate .. //depot/projects/power/sys/dev/firewire/fwdev.c#6 integrate .. //depot/projects/power/sys/dev/firewire/fwdma.c#3 integrate .. //depot/projects/power/sys/dev/firewire/fwmem.c#8 integrate .. //depot/projects/power/sys/dev/firewire/fwohci.c#9 integrate .. //depot/projects/power/sys/dev/firewire/fwohci_pci.c#8 integrate .. //depot/projects/power/sys/dev/firewire/fwohcireg.h#6 integrate .. //depot/projects/power/sys/dev/firewire/fwohcivar.h#6 integrate .. //depot/projects/power/sys/dev/firewire/if_fwe.c#8 integrate .. //depot/projects/power/sys/dev/firewire/sbp.c#8 integrate .. //depot/projects/power/sys/dev/firewire/sbp_targ.c#5 integrate .. //depot/projects/power/sys/dev/fxp/if_fxp.c#6 integrate .. //depot/projects/power/sys/dev/gem/if_gem.c#3 integrate .. //depot/projects/power/sys/dev/gem/if_gem_pci.c#3 integrate .. //depot/projects/power/sys/dev/gfb/gfb_pci.c#4 integrate .. //depot/projects/power/sys/dev/gx/if_gx.c#3 integrate .. //depot/projects/power/sys/dev/harp/if_harp.c#3 integrate .. //depot/projects/power/sys/dev/hatm/if_hatm.c#4 integrate .. //depot/projects/power/sys/dev/hfa/fore_buffer.c#2 integrate .. //depot/projects/power/sys/dev/hfa/fore_command.c#2 integrate .. //depot/projects/power/sys/dev/hfa/fore_init.c#2 integrate .. //depot/projects/power/sys/dev/hfa/fore_load.c#2 integrate .. //depot/projects/power/sys/dev/hfa/fore_output.c#2 integrate .. //depot/projects/power/sys/dev/hfa/fore_receive.c#2 integrate .. //depot/projects/power/sys/dev/hfa/fore_stats.c#2 integrate .. //depot/projects/power/sys/dev/hfa/fore_transmit.c#2 integrate .. //depot/projects/power/sys/dev/hfa/fore_var.h#2 integrate .. //depot/projects/power/sys/dev/hfa/hfa_freebsd.c#2 integrate .. //depot/projects/power/sys/dev/hifn/hifn7751.c#4 integrate .. //depot/projects/power/sys/dev/hifn/hifn7751reg.h#3 integrate .. //depot/projects/power/sys/dev/hme/if_hme.c#3 integrate .. //depot/projects/power/sys/dev/hme/if_hme_pci.c#2 integrate .. //depot/projects/power/sys/dev/hme/if_hme_sbus.c#2 integrate .. //depot/projects/power/sys/dev/ichsmb/ichsmb.c#2 integrate .. //depot/projects/power/sys/dev/ichsmb/ichsmb_pci.c#2 integrate .. //depot/projects/power/sys/dev/ida/ida.c#2 integrate .. //depot/projects/power/sys/dev/ida/ida_disk.c#2 integrate .. //depot/projects/power/sys/dev/ida/ida_eisa.c#2 integrate .. //depot/projects/power/sys/dev/ida/ida_pci.c#2 integrate .. //depot/projects/power/sys/dev/ida/idaio.h#1 branch .. //depot/projects/power/sys/dev/ida/idareg.h#2 integrate .. //depot/projects/power/sys/dev/ida/idavar.h#2 integrate .. //depot/projects/power/sys/dev/idt/idt.c#4 integrate .. //depot/projects/power/sys/dev/idt/idt_pci.c#2 integrate .. //depot/projects/power/sys/dev/ie/if_ie.c#3 integrate .. //depot/projects/power/sys/dev/if_ndis/if_ndis.c#5 integrate .. //depot/projects/power/sys/dev/if_ndis/if_ndis_pccard.c#1 branch .. //depot/projects/power/sys/dev/if_ndis/if_ndis_pci.c#1 branch .. //depot/projects/power/sys/dev/if_ndis/if_ndisvar.h#4 integrate .. //depot/projects/power/sys/dev/iicbus/iic.c#2 integrate .. //depot/projects/power/sys/dev/iir/iir.h#3 integrate .. //depot/projects/power/sys/dev/iir/iir_ctrl.c#3 integrate .. //depot/projects/power/sys/dev/iir/iir_pci.c#3 integrate .. //depot/projects/power/sys/dev/ips/ips.c#3 integrate .. //depot/projects/power/sys/dev/ips/ips.h#3 integrate .. //depot/projects/power/sys/dev/ips/ips_commands.c#5 integrate .. //depot/projects/power/sys/dev/ips/ips_disk.c#3 integrate .. //depot/projects/power/sys/dev/ips/ips_disk.h#2 integrate .. //depot/projects/power/sys/dev/ips/ips_pci.c#2 integrate .. //depot/projects/power/sys/dev/isp/isp.c#3 integrate .. //depot/projects/power/sys/dev/isp/isp_freebsd.c#3 integrate .. //depot/projects/power/sys/dev/isp/isp_freebsd.h#3 integrate .. //depot/projects/power/sys/dev/isp/isp_ioctl.h#3 integrate .. //depot/projects/power/sys/dev/isp/isp_pci.c#2 integrate .. //depot/projects/power/sys/dev/isp/isp_sbus.c#2 integrate .. //depot/projects/power/sys/dev/isp/isp_target.c#3 integrate .. //depot/projects/power/sys/dev/isp/ispmbox.h#2 integrate .. //depot/projects/power/sys/dev/isp/ispvar.h#3 integrate .. //depot/projects/power/sys/dev/ispfw/asm_12160.h#2 integrate .. //depot/projects/power/sys/dev/ispfw/asm_2200.h#2 integrate .. //depot/projects/power/sys/dev/ispfw/asm_2300.h#2 integrate .. //depot/projects/power/sys/dev/ispfw/ispfw.c#2 integrate .. //depot/projects/power/sys/dev/joy/joy.c#2 integrate .. //depot/projects/power/sys/dev/kbd/kbd.c#4 integrate .. //depot/projects/power/sys/dev/led/led.c#4 integrate .. //depot/projects/power/sys/dev/lge/if_lge.c#5 integrate .. //depot/projects/power/sys/dev/lnc/if_lnc.c#4 integrate .. //depot/projects/power/sys/dev/lnc/if_lnc_cbus.c#2 integrate .. //depot/projects/power/sys/dev/lnc/if_lnc_isa.c#2 integrate .. //depot/projects/power/sys/dev/lnc/if_lnc_pci.c#2 integrate .. //depot/projects/power/sys/dev/lnc/if_lncvar.h#2 integrate .. //depot/projects/power/sys/dev/matcd/matcd.c#3 integrate .. //depot/projects/power/sys/dev/matcd/matcd_isa.c#2 integrate .. //depot/projects/power/sys/dev/mcd/mcd.c#3 integrate .. //depot/projects/power/sys/dev/mcd/mcd_isa.c#2 integrate .. //depot/projects/power/sys/dev/mcd/mcdreg.h#2 integrate .. //depot/projects/power/sys/dev/md/md.c#5 integrate .. //depot/projects/power/sys/dev/mii/ukphy.c#2 integrate .. //depot/projects/power/sys/dev/mlx/mlx.c#2 integrate .. //depot/projects/power/sys/dev/mlx/mlx_disk.c#2 integrate .. //depot/projects/power/sys/dev/mlx/mlx_pci.c#2 integrate .. //depot/projects/power/sys/dev/mlx/mlxvar.h#2 integrate .. //depot/projects/power/sys/dev/mly/mly.c#2 integrate .. //depot/projects/power/sys/dev/mpt/mpilib/mpi_type.h#2 integrate .. //depot/projects/power/sys/dev/mpt/mpt_pci.c#3 integrate .. //depot/projects/power/sys/dev/musycc/musycc.c#2 integrate .. //depot/projects/power/sys/dev/my/if_my.c#4 integrate .. //depot/projects/power/sys/dev/ncv/ncr53c500.c#2 integrate .. //depot/projects/power/sys/dev/ncv/ncr53c500_pccard.c#3 integrate .. //depot/projects/power/sys/dev/ncv/ncr53c500hw.h#2 integrate .. //depot/projects/power/sys/dev/nge/if_nge.c#5 integrate .. //depot/projects/power/sys/dev/nmdm/nmdm.c#4 integrate .. //depot/projects/power/sys/dev/nsp/nsp.c#2 integrate .. //depot/projects/power/sys/dev/nsp/nsp_pccard.c#2 integrate .. //depot/projects/power/sys/dev/null/null.c#4 integrate .. //depot/projects/power/sys/dev/ofw/ofw_console.c#3 integrate .. //depot/projects/power/sys/dev/ofw/ofw_disk.c#4 integrate .. //depot/projects/power/sys/dev/ofw/openfirmio.c#3 integrate .. //depot/projects/power/sys/dev/ofw/openpromio.c#2 integrate .. //depot/projects/power/sys/dev/owi/if_owi.c#5 integrate .. //depot/projects/power/sys/dev/patm/genrtab/Makefile#2 integrate .. //depot/projects/power/sys/dev/patm/if_patm.c#2 integrate .. //depot/projects/power/sys/dev/patm/if_patm_attach.c#3 integrate .. //depot/projects/power/sys/dev/patm/if_patm_intr.c#2 integrate .. //depot/projects/power/sys/dev/patm/if_patm_ioctl.c#2 integrate .. //depot/projects/power/sys/dev/patm/if_patm_rtables.c#2 integrate .. //depot/projects/power/sys/dev/patm/if_patm_rx.c#2 integrate .. //depot/projects/power/sys/dev/patm/if_patm_tx.c#2 integrate .. //depot/projects/power/sys/dev/pccard/pccard.c#5 integrate .. //depot/projects/power/sys/dev/pccard/pccarddevs#6 integrate .. //depot/projects/power/sys/dev/pccard/pccarddevs.h#6 integrate .. //depot/projects/power/sys/dev/pccbb/pccbb.c#8 integrate .. //depot/projects/power/sys/dev/pci/isa_pci.c#3 integrate .. //depot/projects/power/sys/dev/pci/pci_pci.c#7 integrate .. //depot/projects/power/sys/dev/pci/pci_user.c#6 integrate .. //depot/projects/power/sys/dev/pcic/i82365.c#2 integrate .. //depot/projects/power/sys/dev/pcic/i82365_isa.c#2 integrate .. //depot/projects/power/sys/dev/pdq/if_fea.c#3 integrate .. //depot/projects/power/sys/dev/pdq/if_fpa.c#3 integrate .. //depot/projects/power/sys/dev/pdq/pdqvar.h#3 integrate .. //depot/projects/power/sys/dev/ppbus/if_plip.c#4 integrate .. //depot/projects/power/sys/dev/ppbus/lpbb.c#2 integrate .. //depot/projects/power/sys/dev/ppbus/lpt.c#2 integrate .. //depot/projects/power/sys/dev/ppbus/pcfclock.c#2 integrate .. //depot/projects/power/sys/dev/ppbus/ppi.c#2 integrate .. //depot/projects/power/sys/dev/ppbus/pps.c#2 integrate .. //depot/projects/power/sys/dev/ppbus/vpo.c#2 integrate .. //depot/projects/power/sys/dev/ppc/ppc.c#2 integrate .. //depot/projects/power/sys/dev/pst/pst-pci.c#2 integrate .. //depot/projects/power/sys/dev/pst/pst-raid.c#2 integrate .. //depot/projects/power/sys/dev/puc/puc.c#3 integrate .. //depot/projects/power/sys/dev/puc/pucdata.c#5 integrate .. //depot/projects/power/sys/dev/raidframe/rf_acctrace.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_acctrace.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_alloclist.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_alloclist.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_archs.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_aselect.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_aselect.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_bsd.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_callback.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_callback.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_chaindecluster.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_chaindecluster.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_configure.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_copyback.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_copyback.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_cvscan.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_cvscan.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_dag.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_dagdegrd.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_dagdegrd.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_dagdegwr.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_dagdegwr.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_dagffrd.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_dagffrd.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_dagffwr.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_dagffwr.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_dagflags.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_dagfuncs.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_dagfuncs.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_dagutils.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_dagutils.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_debugMem.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_debugMem.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_debugprint.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_debugprint.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_decluster.c#3 delete .. //depot/projects/power/sys/dev/raidframe/rf_decluster.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_declusterPQ.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_declusterPQ.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_desc.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_diskqueue.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_diskqueue.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_disks.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_disks.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_driver.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_driver.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_engine.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_engine.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_etimer.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_evenodd.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_evenodd.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_evenodd_dagfuncs.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_evenodd_dagfuncs.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_evenodd_dags.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_evenodd_dags.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_fifo.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_fifo.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_freebsdkintf.c#4 delete .. //depot/projects/power/sys/dev/raidframe/rf_freelist.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_general.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_geniq.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_hist.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_interdecluster.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_interdecluster.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_invertq.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_invertq.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_kintf.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_layout.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_layout.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_map.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_map.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_mcpair.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_mcpair.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_memchunk.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_memchunk.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_nwayxor.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_nwayxor.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_options.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_options.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_optnames.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_paritylog.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_paritylog.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_paritylogDiskMgr.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_paritylogDiskMgr.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_paritylogging.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_paritylogging.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_parityloggingdags.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_parityloggingdags.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_parityscan.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_parityscan.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_pq.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_pq.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_pqdeg.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_pqdeg.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_pqdegdags.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_pqdegdags.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_psstatus.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_psstatus.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_raid.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_raid0.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_raid0.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_raid1.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_raid1.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_raid4.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_raid4.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_raid5.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_raid5.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_raid5_rotatedspare.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_raid5_rotatedspare.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_raidframe.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_reconbuffer.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_reconbuffer.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_reconmap.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_reconmap.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_reconstruct.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_reconstruct.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_reconutil.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_reconutil.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_revent.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_revent.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_shutdown.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_shutdown.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_sstf.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_sstf.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_states.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_states.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_stripelocks.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_stripelocks.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_strutils.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_threadstuff.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_threadstuff.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_types.h#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_utils.c#2 delete .. //depot/projects/power/sys/dev/raidframe/rf_utils.h#2 delete .. //depot/projects/power/sys/dev/random/harvest.c#3 integrate .. //depot/projects/power/sys/dev/random/randomdev.c#3 integrate .. //depot/projects/power/sys/dev/ray/if_ray.c#4 integrate .. //depot/projects/power/sys/dev/rc/rc.c#2 integrate .. //depot/projects/power/sys/dev/re/if_re.c#6 integrate .. //depot/projects/power/sys/dev/rp/rp.c#2 integrate .. //depot/projects/power/sys/dev/rp/rp_pci.c#2 integrate .. //depot/projects/power/sys/dev/sab/sab.c#4 integrate .. //depot/projects/power/sys/dev/safe/safe.c#2 integrate .. //depot/projects/power/sys/dev/sbni/if_sbni.c#3 integrate .. //depot/projects/power/sys/dev/sbni/if_sbni_isa.c#3 integrate .. //depot/projects/power/sys/dev/sbni/if_sbni_pci.c#2 integrate .. //depot/projects/power/sys/dev/sbsh/if_sbsh.c#3 integrate .. //depot/projects/power/sys/dev/scd/scd.c#3 integrate .. //depot/projects/power/sys/dev/scd/scd_isa.c#2 integrate .. //depot/projects/power/sys/dev/scd/scdreg.h#2 integrate .. //depot/projects/power/sys/dev/si/si.c#2 integrate .. //depot/projects/power/sys/dev/si/si_eisa.c#2 integrate .. //depot/projects/power/sys/dev/si/si_isa.c#2 integrate .. //depot/projects/power/sys/dev/si/si_pci.c#2 integrate .. //depot/projects/power/sys/dev/sio/sio.c#5 integrate .. //depot/projects/power/sys/dev/smbus/smb.c#2 integrate .. //depot/projects/power/sys/dev/sn/if_sn.c#5 integrate .. //depot/projects/power/sys/dev/snc/dp83932.c#3 integrate .. //depot/projects/power/sys/dev/snc/if_snc.c#2 integrate .. //depot/projects/power/sys/dev/snp/snp.c#3 integrate .. //depot/projects/power/sys/dev/sound/driver.c#2 integrate .. //depot/projects/power/sys/dev/sound/isa/ad1816.c#2 integrate .. //depot/projects/power/sys/dev/sound/isa/ess.c#2 integrate .. //depot/projects/power/sys/dev/sound/isa/gusc.c#2 integrate .. //depot/projects/power/sys/dev/sound/isa/gusmidi.c#2 integrate .. //depot/projects/power/sys/dev/sound/isa/mpu.c#4 integrate .. //depot/projects/power/sys/dev/sound/isa/mss.c#2 integrate .. //depot/projects/power/sys/dev/sound/isa/sb16.c#2 integrate .. //depot/projects/power/sys/dev/sound/isa/sb8.c#2 integrate .. //depot/projects/power/sys/dev/sound/isa/sbc.c#2 integrate .. //depot/projects/power/sys/dev/sound/isa/uartsio.c#3 integrate .. //depot/projects/power/sys/dev/sound/midi/midi.c#2 integrate .. //depot/projects/power/sys/dev/sound/midi/midi.h#2 integrate .. //depot/projects/power/sys/dev/sound/midi/sequencer.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/als4000.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/au88x0.c#3 integrate .. //depot/projects/power/sys/dev/sound/pci/aureal.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/cmi.c#3 integrate .. //depot/projects/power/sys/dev/sound/pci/cs4281.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/csa.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/csamidi.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/csapcm.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/ds1.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/emu10k1.c#3 integrate .. //depot/projects/power/sys/dev/sound/pci/es137x.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/fm801.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/ich.c#3 integrate .. //depot/projects/power/sys/dev/sound/pci/maestro.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/maestro3.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/neomagic-coeff.h#2 integrate .. //depot/projects/power/sys/dev/sound/pci/neomagic.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/solo.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/t4dwave.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/via8233.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/via82c686.c#2 integrate .. //depot/projects/power/sys/dev/sound/pci/vibes.c#2 integrate .. //depot/projects/power/sys/dev/sound/pcm/ac97.c#4 integrate .. //depot/projects/power/sys/dev/sound/pcm/buffer.c#3 integrate .. //depot/projects/power/sys/dev/sound/pcm/buffer.h#3 integrate .. //depot/projects/power/sys/dev/sound/pcm/channel.c#5 integrate .. //depot/projects/power/sys/dev/sound/pcm/channel.h#2 integrate .. //depot/projects/power/sys/dev/sound/pcm/dsp.c#3 integrate .. //depot/projects/power/sys/dev/sound/pcm/dsp.h#2 integrate .. //depot/projects/power/sys/dev/sound/pcm/mixer.c#3 integrate .. //depot/projects/power/sys/dev/sound/pcm/sndstat.c#3 integrate .. //depot/projects/power/sys/dev/sound/pcm/sound.c#3 integrate .. //depot/projects/power/sys/dev/sound/pcm/sound.h#2 integrate .. //depot/projects/power/sys/dev/sound/pcm/vchan.c#2 integrate .. //depot/projects/power/sys/dev/sr/if_sr.c#3 integrate .. //depot/projects/power/sys/dev/stg/tmc18c30.c#3 integrate .. //depot/projects/power/sys/dev/stg/tmc18c30_pccard.c#2 integrate .. //depot/projects/power/sys/dev/stg/tmc18c30_subr.c#2 integrate .. //depot/projects/power/sys/dev/streams/streams.c#3 integrate .. //depot/projects/power/sys/dev/sym/sym_hipd.c#3 integrate .. //depot/projects/power/sys/dev/syscons/scgfbrndr.c#2 integrate .. //depot/projects/power/sys/dev/syscons/schistory.c#2 integrate .. //depot/projects/power/sys/dev/syscons/scterm-dumb.c#2 integrate .. //depot/projects/power/sys/dev/syscons/scterm-sc.c#2 integrate .. //depot/projects/power/sys/dev/syscons/syscons.c#4 integrate .. //depot/projects/power/sys/dev/syscons/sysmouse.c#2 integrate .. //depot/projects/power/sys/dev/tdfx/tdfx_pci.c#2 integrate .. //depot/projects/power/sys/dev/tdfx/tdfx_vars.h#2 integrate .. //depot/projects/power/sys/dev/tga/tga_pci.c#2 integrate .. //depot/projects/power/sys/dev/trm/trm.c#3 integrate .. //depot/projects/power/sys/dev/trm/trm.h#2 integrate .. //depot/projects/power/sys/dev/twe/twe.c#3 integrate .. //depot/projects/power/sys/dev/twe/twe_freebsd.c#3 integrate .. //depot/projects/power/sys/dev/twe/twevar.h#3 integrate .. //depot/projects/power/sys/dev/tx/if_tx.c#4 integrate .. //depot/projects/power/sys/dev/txp/if_txp.c#4 integrate .. //depot/projects/power/sys/dev/uart/uart_core.c#3 integrate .. //depot/projects/power/sys/dev/uart/uart_cpu.h#3 integrate .. //depot/projects/power/sys/dev/uart/uart_cpu_alpha.c#3 integrate .. //depot/projects/power/sys/dev/uart/uart_cpu_amd64.c#3 integrate .. //depot/projects/power/sys/dev/uart/uart_cpu_i386.c#3 integrate .. //depot/projects/power/sys/dev/uart/uart_cpu_ia64.c#3 integrate .. //depot/projects/power/sys/dev/uart/uart_cpu_pc98.c#3 integrate .. //depot/projects/power/sys/dev/uart/uart_cpu_sparc64.c#4 integrate .. //depot/projects/power/sys/dev/uart/uart_subr.c#1 branch .. //depot/projects/power/sys/dev/uart/uart_tty.c#3 integrate .. //depot/projects/power/sys/dev/ubsec/ubsec.c#2 integrate .. //depot/projects/power/sys/dev/usb/ehci.c#3 integrate .. //depot/projects/power/sys/dev/usb/ehci_pci.c#5 integrate .. //depot/projects/power/sys/dev/usb/ehcireg.h#2 integrate .. //depot/projects/power/sys/dev/usb/if_aue.c#5 integrate .. //depot/projects/power/sys/dev/usb/if_axe.c#4 integrate .. //depot/projects/power/sys/dev/usb/if_cue.c#6 integrate .. //depot/projects/power/sys/dev/usb/if_kue.c#4 integrate .. //depot/projects/power/sys/dev/usb/if_rue.c#5 integrate .. //depot/projects/power/sys/dev/usb/if_udav.c#1 branch .. //depot/projects/power/sys/dev/usb/if_udavreg.h#1 branch .. //depot/projects/power/sys/dev/usb/ohci.c#5 integrate .. //depot/projects/power/sys/dev/usb/ohci_pci.c#5 integrate .. //depot/projects/power/sys/dev/usb/ubser.c#1 branch .. //depot/projects/power/sys/dev/usb/ubser.h#1 branch .. //depot/projects/power/sys/dev/usb/ucom.c#4 integrate .. //depot/projects/power/sys/dev/usb/ufm.c#4 integrate .. //depot/projects/power/sys/dev/usb/uftdi.c#2 integrate .. //depot/projects/power/sys/dev/usb/ugen.c#4 integrate .. //depot/projects/power/sys/dev/usb/uhci.c#3 integrate .. //depot/projects/power/sys/dev/usb/uhci_pci.c#4 integrate .. //depot/projects/power/sys/dev/usb/uhid.c#4 integrate .. //depot/projects/power/sys/dev/usb/ukbd.c#4 integrate .. //depot/projects/power/sys/dev/usb/ulpt.c#3 integrate .. //depot/projects/power/sys/dev/usb/umass.c#5 integrate .. //depot/projects/power/sys/dev/usb/ums.c#4 integrate .. //depot/projects/power/sys/dev/usb/urio.c#2 integrate .. //depot/projects/power/sys/dev/usb/usb.c#4 integrate .. //depot/projects/power/sys/dev/usb/usb_quirks.c#2 integrate .. //depot/projects/power/sys/dev/usb/usb_subr.c#2 integrate .. //depot/projects/power/sys/dev/usb/usbdevs#7 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Mar 29 07:29:57 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F70316A4D0; Mon, 29 Mar 2004 07:29:57 -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 3735916A4CE for ; Mon, 29 Mar 2004 07:29:57 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1895743D55 for ; Mon, 29 Mar 2004 07:29:57 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2TFTuGe078747 for ; Mon, 29 Mar 2004 07:29:56 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2TFTuj9078744 for perforce@freebsd.org; Mon, 29 Mar 2004 07:29:56 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 29 Mar 2004 07:29:56 -0800 (PST) Message-Id: <200403291529.i2TFTuj9078744@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 49890 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: Mon, 29 Mar 2004 15:29:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=49890 Change 49890 by rwatson@rwatson_tislabs on 2004/03/29 07:29:24 Integrate netperf_socket: - Warning fix for red-black tree macros. - Comments for pc98 clock foo. Affected files ... .. //depot/projects/netperf_socket/sys/pc98/pc98/clock.c#3 integrate .. //depot/projects/netperf_socket/sys/sys/tree.h#4 integrate Differences ... ==== //depot/projects/netperf_socket/sys/pc98/pc98/clock.c#3 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)clock.c 7.2 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/pc98/pc98/clock.c,v 1.135 2004/03/15 10:39:01 imp Exp $ + * $FreeBSD: src/sys/pc98/pc98/clock.c,v 1.136 2004/03/29 12:51:46 nyan Exp $ */ /* @@ -593,7 +593,7 @@ else tot_count += prev_count - count; prev_count = count; - if ((sec == start_sec + 1200) || + if ((sec == start_sec + 1200) || /* 1200 = 307.2KHz >> 8 */ (sec < start_sec && (u_int)sec + 0x10000 == (u_int)start_sec + 1200)) break; ==== //depot/projects/netperf_socket/sys/sys/tree.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: tree.h,v 1.7 2004/01/24 21:59:47 dbj Exp $ */ +/* $NetBSD: tree.h,v 1.8 2004/03/28 19:38:30 provos Exp $ */ /* $OpenBSD: tree.h,v 1.7 2002/10/17 21:51:54 art Exp $ */ /* * Copyright 2002 Niels Provos @@ -380,7 +380,7 @@ struct type *name##_RB_REMOVE(struct name *, struct type *); \ struct type *name##_RB_INSERT(struct name *, struct type *); \ struct type *name##_RB_FIND(struct name *, struct type *); \ -struct type *name##_RB_NEXT(struct name *, struct type *); \ +struct type *name##_RB_NEXT(struct type *); \ struct type *name##_RB_MINMAX(struct name *, int); \ \ @@ -628,7 +628,7 @@ \ /* ARGSUSED */ \ struct type * \ -name##_RB_NEXT(struct name *head, struct type *elm) \ +name##_RB_NEXT(struct type *elm) \ { \ if (RB_RIGHT(elm, field)) { \ elm = RB_RIGHT(elm, field); \ @@ -669,13 +669,13 @@ #define RB_INSERT(name, x, y) name##_RB_INSERT(x, y) #define RB_REMOVE(name, x, y) name##_RB_REMOVE(x, y) #define RB_FIND(name, x, y) name##_RB_FIND(x, y) -#define RB_NEXT(name, x, y) name##_RB_NEXT(x, y) +#define RB_NEXT(name, x, y) name##_RB_NEXT(y) #define RB_MIN(name, x) name##_RB_MINMAX(x, RB_NEGINF) #define RB_MAX(name, x) name##_RB_MINMAX(x, RB_INF) #define RB_FOREACH(x, name, head) \ for ((x) = RB_MIN(name, head); \ (x) != NULL; \ - (x) = name##_RB_NEXT(head, x)) + (x) = name##_RB_NEXT(x)) #endif /* _SYS_TREE_H_ */ From owner-p4-projects@FreeBSD.ORG Mon Mar 29 09:45:44 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 71C9616A4D1; Mon, 29 Mar 2004 09:45:44 -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 2155716A4CF for ; Mon, 29 Mar 2004 09:45:44 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 161CC43D1F for ; Mon, 29 Mar 2004 09:45:44 -0800 (PST) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2THjhGe016145 for ; Mon, 29 Mar 2004 09:45:43 -0800 (PST) (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2THjhBt016142 for perforce@freebsd.org; Mon, 29 Mar 2004 09:45:43 -0800 (PST) (envelope-from imp@freebsd.org) Date: Mon, 29 Mar 2004 09:45:43 -0800 (PST) Message-Id: <200403291745.i2THjhBt016142@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Subject: PERFORCE change 49896 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: Mon, 29 Mar 2004 17:45:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=49896 Change 49896 by imp@imp_pacopaco on 2004/03/29 09:44:45 try integrate -i this time, for great justice! Affected files ... .. //depot/projects/power/sys/alpha/include/ioctl_meteor.h#2 integrate .. //depot/projects/power/sys/i386/include/ioctl_meteor.h#2 integrate Differences ... ==== //depot/projects/power/sys/alpha/include/ioctl_meteor.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ -/* - * Copyright (c) 1995 Mark Tinguely and Jim Lowe +/*- + * Copyright (c) 2003 David O'Brien * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -10,11 +10,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Mark Tinguely and Jim Lowe - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED @@ -28,160 +23,16 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/alpha/include/ioctl_meteor.h,v 1.1 2000/04/15 08:07:56 roger Exp $ + * $FreeBSD: src/sys/alpha/include/ioctl_meteor.h,v 1.4 2003/12/08 07:22:41 obrien Exp $ */ -/* - * ioctl constants for Matrox Meteor Capture card. - */ #ifndef _MACHINE_IOCTL_METEOR_H_ #define _MACHINE_IOCTL_METEOR_H_ -#ifndef _KERNEL -#include +#ifdef __GNUC__ +#warning Include dev/bktr/ioctl_meteor.h instead of this header. #endif -#include -struct meteor_capframe { - short command; /* see below for valid METEORCAPFRM commands */ - short lowat; /* start transfer if < this number */ - short hiwat; /* stop transfer if > this number */ -} ; +#include -/* structure for METEOR[GS]ETGEO - get/set geometry */ -struct meteor_geomet { - u_short rows; - u_short columns; - u_short frames; - u_long oformat; -} ; - -/* structure for METEORGCOUNT-get count of frames, fifo errors and dma errors */ -struct meteor_counts { - u_long fifo_errors; /* count of fifo errors since open */ - u_long dma_errors; /* count of dma errors since open */ - u_long frames_captured; /* count of frames captured since open */ - u_long even_fields_captured; /* count of even fields captured */ - u_long odd_fields_captured; /* count of odd fields captured */ -} ; - -/* structure for getting and setting direct transfers to vram */ -struct meteor_video { - u_long addr; /* Address of location to dma to */ - u_long width; /* Width of memory area */ - u_long banksize; /* Size of Vram bank */ - u_long ramsize; /* Size of Vram */ -}; - -#define METEORCAPTUR _IOW('x', 1, int) /* capture a frame */ -#define METEORCAPFRM _IOW('x', 2, struct meteor_capframe) /* sync capture */ -#define METEORSETGEO _IOW('x', 3, struct meteor_geomet) /* set geometry */ -#define METEORGETGEO _IOR('x', 4, struct meteor_geomet) /* get geometry */ -#define METEORSTATUS _IOR('x', 5, unsigned short) /* get status */ -#define METEORSHUE _IOW('x', 6, signed char) /* set hue */ -#define METEORGHUE _IOR('x', 6, signed char) /* get hue */ -#define METEORSFMT _IOW('x', 7, unsigned long) /* set format */ -#define METEORGFMT _IOR('x', 7, unsigned long) /* get format */ -#define METEORSINPUT _IOW('x', 8, unsigned long) /* set input dev */ -#define METEORGINPUT _IOR('x', 8, unsigned long) /* get input dev */ -#define METEORSCHCV _IOW('x', 9, unsigned char) /* set uv gain */ -#define METEORGCHCV _IOR('x', 9, unsigned char) /* get uv gain */ -#define METEORSCOUNT _IOW('x',10, struct meteor_counts) -#define METEORGCOUNT _IOR('x',10, struct meteor_counts) -#define METEORSFPS _IOW('x',11, unsigned short) /* set fps */ -#define METEORGFPS _IOR('x',11, unsigned short) /* get fps */ -#define METEORSSIGNAL _IOW('x', 12, unsigned int) /* set signal */ -#define METEORGSIGNAL _IOR('x', 12, unsigned int) /* get signal */ -#define METEORSVIDEO _IOW('x', 13, struct meteor_video) /* set video */ -#define METEORGVIDEO _IOR('x', 13, struct meteor_video) /* get video */ -#define METEORSBRIG _IOW('x', 14, unsigned char) /* set brightness */ -#define METEORGBRIG _IOR('x', 14, unsigned char) /* get brightness */ -#define METEORSCSAT _IOW('x', 15, unsigned char) /* set chroma sat */ -#define METEORGCSAT _IOR('x', 15, unsigned char) /* get uv saturation */ -#define METEORSCONT _IOW('x', 16, unsigned char) /* set contrast */ -#define METEORGCONT _IOR('x', 16, unsigned char) /* get contrast */ -#define METEORSBT254 _IOW('x', 17, unsigned short) /* set Bt254 reg */ -#define METEORGBT254 _IOR('x', 17, unsigned short) /* get Bt254 reg */ -#define METEORSHWS _IOW('x', 18, unsigned char) /* set hor start reg */ -#define METEORGHWS _IOR('x', 18, unsigned char) /* get hor start reg */ -#define METEORSVWS _IOW('x', 19, unsigned char) /* set vert start reg */ -#define METEORGVWS _IOR('x', 19, unsigned char) /* get vert start reg */ -#define METEORSTS _IOW('x', 20, unsigned char) /* set time stamp */ -#define METEORGTS _IOR('x', 20, unsigned char) /* get time stamp */ - -#define METEOR_STATUS_ID_MASK 0xf000 /* ID of 7196 */ -#define METEOR_STATUS_DIR 0x0800 /* Direction of Expansion port YUV */ -#define METEOR_STATUS_OEF 0x0200 /* Field detected: Even/Odd */ -#define METEOR_STATUS_SVP 0x0100 /* State of VRAM Port:inactive/active */ -#define METEOR_STATUS_STTC 0x0080 /* Time Constant: TV/VCR */ -#define METEOR_STATUS_HCLK 0x0040 /* Horiz PLL: locked/unlocked */ -#define METEOR_STATUS_FIDT 0x0020 /* Field detect: 50/60hz */ -#define METEOR_STATUS_ALTD 0x0002 /* Line alt: no line alt/line alt */ -#define METEOR_STATUS_CODE 0x0001 /* Colour info: no colour/colour */ - - /* METEORCAPTUR capture options */ -#define METEOR_CAP_SINGLE 0x0001 /* capture one frame */ -#define METEOR_CAP_CONTINOUS 0x0002 /* continuously capture */ -#define METEOR_CAP_STOP_CONT 0x0004 /* stop the continuous capture */ - - /* METEORCAPFRM capture commands */ -#define METEOR_CAP_N_FRAMES 0x0001 /* capture N frames */ -#define METEOR_CAP_STOP_FRAMES 0x0002 /* stop capture N frames */ -#define METEOR_HALT_N_FRAMES 0x0003 /* halt of capture N frames */ -#define METEOR_CONT_N_FRAMES 0x0004 /* continue after above halt */ - - /* valid video input formats: */ -#define METEOR_FMT_NTSC 0x00100 /* NTSC -- initialized default */ -#define METEOR_FMT_PAL 0x00200 /* PAL */ -#define METEOR_FMT_SECAM 0x00400 /* SECAM */ -#define METEOR_FMT_AUTOMODE 0x00800 /* auto-mode */ -#define METEOR_INPUT_DEV0 0x01000 /* camera input 0 -- default */ -#define METEOR_INPUT_DEV_RCA METEOR_INPUT_DEV0 -#define METEOR_INPUT_DEV1 0x02000 /* camera input 1 */ -#define METEOR_INPUT_DEV2 0x04000 /* camera input 2 */ -#define METEOR_INPUT_DEV3 0x08000 /* camera input 3 */ -#define METEOR_INPUT_DEV_RGB 0x0a000 /* for rgb version of meteor */ -#define METEOR_INPUT_DEV_SVIDEO 0x06000 /* S-video input port */ - - /* valid video output formats: */ -#define METEOR_GEO_RGB16 0x0010000 /* packed -- initialized default */ -#define METEOR_GEO_RGB24 0x0020000 /* RBG 24 bits packed */ - /* internally stored in 32 bits */ -#define METEOR_GEO_YUV_PACKED 0x0040000 /* 4-2-2 YUV 16 bits packed */ -#define METEOR_GEO_YUV_PLANAR 0x0080000 /* 4-2-2 YUV 16 bits planer */ -#define METEOR_GEO_YUV_PLANER METEOR_GEO_YUV_PLANAR -#define METEOR_GEO_UNSIGNED 0x0400000 /* unsigned uv outputs */ -#define METEOR_GEO_EVEN_ONLY 0x1000000 /* set for even only field capture */ -#define METEOR_GEO_ODD_ONLY 0x2000000 /* set for odd only field capture */ -#define METEOR_GEO_FIELD_MASK 0x3000000 -#define METEOR_GEO_YUV_422 0x4000000 /* 4-2-2 YUV in Y-U-V combined */ -#define METEOR_GEO_OUTPUT_MASK 0x40f0000 -#define METEOR_GEO_YUV_12 0x10000000 /* YUV 12 format */ -#define METEOR_GEO_YUV_9 0x40000000 /* YUV 9 format */ - -#define METEOR_FIELD_MODE 0x80000000 /* Field cap or Frame cap */ - -#define METEOR_SIG_MODE_MASK 0xffff0000 -#define METEOR_SIG_FRAME 0x00000000 /* signal every frame */ -#define METEOR_SIG_FIELD 0x00010000 /* signal every field */ - - /* following structure is used to coordinate the synchronous */ - -struct meteor_mem { - /* kernel write only */ - int frame_size; /* row*columns*depth */ - unsigned num_bufs; /* number of frames in buffer (1-32) */ - /* user and kernel change these */ - int lowat; /* kernel starts capture if < this number */ - int hiwat; /* kernel stops capture if > this number. - hiwat <= numbufs */ - unsigned active; /* bit mask of active frame buffers - kernel sets, user clears */ - int num_active_bufs; /* count of active frame buffer - kernel increments, user decrements */ - - /* reference to mmapped data */ - caddr_t buf; /* The real space (virtual addr) */ -} ; - -#endif /* !_MACHINE_IOCTL_METEOR_H_ */ +#endif /* _MACHINE_IOCTL_METEOR_H_ */ ==== //depot/projects/power/sys/i386/include/ioctl_meteor.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ -/* - * Copyright (c) 1995 Mark Tinguely and Jim Lowe +/*- + * Copyright (c) 2003 David O'Brien * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -10,11 +10,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Mark Tinguely and Jim Lowe - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED @@ -28,160 +23,16 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/include/ioctl_meteor.h,v 1.11 1999/12/29 04:33:02 peter Exp $ + * $FreeBSD: src/sys/i386/include/ioctl_meteor.h,v 1.15 2004/03/12 21:45:30 trhodes Exp $ */ -/* - * ioctl constants for Matrox Meteor Capture card. - */ #ifndef _MACHINE_IOCTL_METEOR_H_ #define _MACHINE_IOCTL_METEOR_H_ -#ifndef _KERNEL -#include +#if defined(__GNUC__) || defined(__INTEL_COMPILER) +#warning Include dev/bktr/ioctl_meteor.h instead of this header. #endif -#include -struct meteor_capframe { - short command; /* see below for valid METEORCAPFRM commands */ - short lowat; /* start transfer if < this number */ - short hiwat; /* stop transfer if > this number */ -} ; +#include -/* structure for METEOR[GS]ETGEO - get/set geometry */ -struct meteor_geomet { - u_short rows; - u_short columns; - u_short frames; - u_long oformat; -} ; - -/* structure for METEORGCOUNT-get count of frames, fifo errors and dma errors */ -struct meteor_counts { - u_long fifo_errors; /* count of fifo errors since open */ - u_long dma_errors; /* count of dma errors since open */ - u_long frames_captured; /* count of frames captured since open */ - u_long even_fields_captured; /* count of even fields captured */ - u_long odd_fields_captured; /* count of odd fields captured */ -} ; - -/* structure for getting and setting direct transfers to vram */ -struct meteor_video { - u_long addr; /* Address of location to dma to */ - u_long width; /* Width of memory area */ - u_long banksize; /* Size of Vram bank */ - u_long ramsize; /* Size of Vram */ -}; - -#define METEORCAPTUR _IOW('x', 1, int) /* capture a frame */ -#define METEORCAPFRM _IOW('x', 2, struct meteor_capframe) /* sync capture */ -#define METEORSETGEO _IOW('x', 3, struct meteor_geomet) /* set geometry */ -#define METEORGETGEO _IOR('x', 4, struct meteor_geomet) /* get geometry */ -#define METEORSTATUS _IOR('x', 5, unsigned short) /* get status */ -#define METEORSHUE _IOW('x', 6, signed char) /* set hue */ -#define METEORGHUE _IOR('x', 6, signed char) /* get hue */ -#define METEORSFMT _IOW('x', 7, unsigned long) /* set format */ -#define METEORGFMT _IOR('x', 7, unsigned long) /* get format */ -#define METEORSINPUT _IOW('x', 8, unsigned long) /* set input dev */ -#define METEORGINPUT _IOR('x', 8, unsigned long) /* get input dev */ -#define METEORSCHCV _IOW('x', 9, unsigned char) /* set uv gain */ -#define METEORGCHCV _IOR('x', 9, unsigned char) /* get uv gain */ -#define METEORSCOUNT _IOW('x',10, struct meteor_counts) -#define METEORGCOUNT _IOR('x',10, struct meteor_counts) -#define METEORSFPS _IOW('x',11, unsigned short) /* set fps */ -#define METEORGFPS _IOR('x',11, unsigned short) /* get fps */ -#define METEORSSIGNAL _IOW('x', 12, unsigned int) /* set signal */ -#define METEORGSIGNAL _IOR('x', 12, unsigned int) /* get signal */ -#define METEORSVIDEO _IOW('x', 13, struct meteor_video) /* set video */ -#define METEORGVIDEO _IOR('x', 13, struct meteor_video) /* get video */ -#define METEORSBRIG _IOW('x', 14, unsigned char) /* set brightness */ -#define METEORGBRIG _IOR('x', 14, unsigned char) /* get brightness */ -#define METEORSCSAT _IOW('x', 15, unsigned char) /* set chroma sat */ -#define METEORGCSAT _IOR('x', 15, unsigned char) /* get uv saturation */ -#define METEORSCONT _IOW('x', 16, unsigned char) /* set contrast */ -#define METEORGCONT _IOR('x', 16, unsigned char) /* get contrast */ -#define METEORSBT254 _IOW('x', 17, unsigned short) /* set Bt254 reg */ -#define METEORGBT254 _IOR('x', 17, unsigned short) /* get Bt254 reg */ -#define METEORSHWS _IOW('x', 18, unsigned char) /* set hor start reg */ -#define METEORGHWS _IOR('x', 18, unsigned char) /* get hor start reg */ -#define METEORSVWS _IOW('x', 19, unsigned char) /* set vert start reg */ -#define METEORGVWS _IOR('x', 19, unsigned char) /* get vert start reg */ -#define METEORSTS _IOW('x', 20, unsigned char) /* set time stamp */ -#define METEORGTS _IOR('x', 20, unsigned char) /* get time stamp */ - -#define METEOR_STATUS_ID_MASK 0xf000 /* ID of 7196 */ -#define METEOR_STATUS_DIR 0x0800 /* Direction of Expansion port YUV */ -#define METEOR_STATUS_OEF 0x0200 /* Field detected: Even/Odd */ -#define METEOR_STATUS_SVP 0x0100 /* State of VRAM Port:inactive/active */ -#define METEOR_STATUS_STTC 0x0080 /* Time Constant: TV/VCR */ -#define METEOR_STATUS_HCLK 0x0040 /* Horiz PLL: locked/unlocked */ -#define METEOR_STATUS_FIDT 0x0020 /* Field detect: 50/60hz */ -#define METEOR_STATUS_ALTD 0x0002 /* Line alt: no line alt/line alt */ -#define METEOR_STATUS_CODE 0x0001 /* Colour info: no colour/colour */ - - /* METEORCAPTUR capture options */ -#define METEOR_CAP_SINGLE 0x0001 /* capture one frame */ -#define METEOR_CAP_CONTINOUS 0x0002 /* continuously capture */ -#define METEOR_CAP_STOP_CONT 0x0004 /* stop the continuous capture */ - - /* METEORCAPFRM capture commands */ -#define METEOR_CAP_N_FRAMES 0x0001 /* capture N frames */ -#define METEOR_CAP_STOP_FRAMES 0x0002 /* stop capture N frames */ -#define METEOR_HALT_N_FRAMES 0x0003 /* halt of capture N frames */ -#define METEOR_CONT_N_FRAMES 0x0004 /* continue after above halt */ - - /* valid video input formats: */ -#define METEOR_FMT_NTSC 0x00100 /* NTSC -- initialized default */ -#define METEOR_FMT_PAL 0x00200 /* PAL */ -#define METEOR_FMT_SECAM 0x00400 /* SECAM */ -#define METEOR_FMT_AUTOMODE 0x00800 /* auto-mode */ -#define METEOR_INPUT_DEV0 0x01000 /* camera input 0 -- default */ -#define METEOR_INPUT_DEV_RCA METEOR_INPUT_DEV0 -#define METEOR_INPUT_DEV1 0x02000 /* camera input 1 */ -#define METEOR_INPUT_DEV2 0x04000 /* camera input 2 */ -#define METEOR_INPUT_DEV3 0x08000 /* camera input 3 */ -#define METEOR_INPUT_DEV_RGB 0x0a000 /* for rgb version of meteor */ -#define METEOR_INPUT_DEV_SVIDEO 0x06000 /* S-video input port */ - - /* valid video output formats: */ -#define METEOR_GEO_RGB16 0x0010000 /* packed -- initialized default */ -#define METEOR_GEO_RGB24 0x0020000 /* RBG 24 bits packed */ - /* internally stored in 32 bits */ -#define METEOR_GEO_YUV_PACKED 0x0040000 /* 4-2-2 YUV 16 bits packed */ -#define METEOR_GEO_YUV_PLANAR 0x0080000 /* 4-2-2 YUV 16 bits planer */ -#define METEOR_GEO_YUV_PLANER METEOR_GEO_YUV_PLANAR -#define METEOR_GEO_UNSIGNED 0x0400000 /* unsigned uv outputs */ -#define METEOR_GEO_EVEN_ONLY 0x1000000 /* set for even only field capture */ -#define METEOR_GEO_ODD_ONLY 0x2000000 /* set for odd only field capture */ -#define METEOR_GEO_FIELD_MASK 0x3000000 -#define METEOR_GEO_YUV_422 0x4000000 /* 4-2-2 YUV in Y-U-V combined */ -#define METEOR_GEO_OUTPUT_MASK 0x40f0000 -#define METEOR_GEO_YUV_12 0x10000000 /* YUV 12 format */ -#define METEOR_GEO_YUV_9 0x40000000 /* YUV 9 format */ - -#define METEOR_FIELD_MODE 0x80000000 /* Field cap or Frame cap */ - -#define METEOR_SIG_MODE_MASK 0xffff0000 -#define METEOR_SIG_FRAME 0x00000000 /* signal every frame */ -#define METEOR_SIG_FIELD 0x00010000 /* signal every field */ - - /* following structure is used to coordinate the synchronous */ - -struct meteor_mem { - /* kernel write only */ - int frame_size; /* row*columns*depth */ - unsigned num_bufs; /* number of frames in buffer (1-32) */ - /* user and kernel change these */ - int lowat; /* kernel starts capture if < this number */ - int hiwat; /* kernel stops capture if > this number. - hiwat <= numbufs */ - unsigned active; /* bit mask of active frame buffers - kernel sets, user clears */ - int num_active_bufs; /* count of active frame buffer - kernel increments, user decrements */ - - /* reference to mmapped data */ - caddr_t buf; /* The real space (virtual addr) */ -} ; - -#endif /* !_MACHINE_IOCTL_METEOR_H_ */ +#endif /* _MACHINE_IOCTL_METEOR_H_ */ From owner-p4-projects@FreeBSD.ORG Mon Mar 29 10:57:17 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 85EF116A4D0; Mon, 29 Mar 2004 10:57:17 -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 4F15A16A4CE for ; Mon, 29 Mar 2004 10:57:17 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 45DB043D2D for ; Mon, 29 Mar 2004 10:57:17 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2TIvGGe032132 for ; Mon, 29 Mar 2004 10:57:17 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2TIvGTt032129 for perforce@freebsd.org; Mon, 29 Mar 2004 10:57:16 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 29 Mar 2004 10:57:16 -0800 (PST) Message-Id: <200403291857.i2TIvGTt032129@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 49903 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: Mon, 29 Mar 2004 18:57:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=49903 Change 49903 by rwatson@rwatson_tislabs on 2004/03/29 10:57:14 Integrate netperf_socket: - Adopt conditional CALLOUT_MPSAFE initialization in UNIX domain sockets looped back from rwatson_netperf. - Conditionally assert Giant in UNIX domain socket callouts (looped back from rwatson_netperf). - Loop back structural/style changes in socket kqueue functions. - Loop back if_tun global mutex locking from rwatson_netperf. Affected files ... .. //depot/projects/netperf_socket/sys/kern/uipc_domain.c#4 integrate .. //depot/projects/netperf_socket/sys/kern/uipc_socket.c#7 integrate .. //depot/projects/netperf_socket/sys/net/if_tun.c#6 integrate Differences ... ==== //depot/projects/netperf_socket/sys/kern/uipc_domain.c#4 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_domain.c,v 1.34 2003/09/02 20:59:23 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_domain.c,v 1.35 2004/03/29 17:00:05 rwatson Exp $"); #include #include @@ -134,8 +134,13 @@ if (max_linkhdr < 16) /* XXX */ max_linkhdr = 16; - callout_init(&pffast_callout, CALLOUT_MPSAFE); - callout_init(&pfslow_callout, CALLOUT_MPSAFE); + if (debug_mpsafenet) { + callout_init(&pffast_callout, CALLOUT_MPSAFE); + callout_init(&pfslow_callout, CALLOUT_MPSAFE); + } else { + callout_init(&pffast_callout, 0); + callout_init(&pfslow_callout, 0); + } callout_reset(&pffast_callout, 1, pffasttimo, NULL); callout_reset(&pfslow_callout, 1, pfslowtimo, NULL); @@ -236,6 +241,8 @@ register struct domain *dp; register struct protosw *pr; + NET_ASSERT_GIANT(); + for (dp = domains; dp; dp = dp->dom_next) for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) if (pr->pr_slowtimo) @@ -250,6 +257,8 @@ register struct domain *dp; register struct protosw *pr; + NET_ASSERT_GIANT(); + for (dp = domains; dp; dp = dp->dom_next) for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) if (pr->pr_fasttimo) ==== //depot/projects/netperf_socket/sys/kern/uipc_socket.c#7 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.165 2004/03/01 03:14:21 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.167 2004/03/29 18:06:15 rwatson Exp $"); #include "opt_inet.h" #include "opt_mac.h" @@ -1880,13 +1880,12 @@ kn->kn_flags |= EV_EOF; kn->kn_fflags = so->so_error; result = 1; - } else if (so->so_error) { /* temporary udp error */ + } else if (so->so_error) /* temporary udp error */ result = 1; - } else if (kn->kn_sfflags & NOTE_LOWAT) { + else if (kn->kn_sfflags & NOTE_LOWAT) result = (kn->kn_data >= kn->kn_sdata); - } else { + else result = (so->so_rcv.sb_cc >= so->so_rcv.sb_lowat); - } SOCKBUF_UNLOCK(&so->so_rcv); return (result); } @@ -1916,16 +1915,15 @@ kn->kn_flags |= EV_EOF; kn->kn_fflags = so->so_error; result = 1; - } else if (so->so_error) { /* temporary udp error */ + } else if (so->so_error) /* temporary udp error */ result = 1; - } else if (((so->so_state & SS_ISCONNECTED) == 0) && - (so->so_proto->pr_flags & PR_CONNREQUIRED)) { + else if (((so->so_state & SS_ISCONNECTED) == 0) && + (so->so_proto->pr_flags & PR_CONNREQUIRED)) result = 0; - } else if (kn->kn_sfflags & NOTE_LOWAT) { + else if (kn->kn_sfflags & NOTE_LOWAT) result = (kn->kn_data >= kn->kn_sdata); - } else { + else result = (kn->kn_data >= so->so_snd.sb_lowat); - } SOCKBUF_UNLOCK(&so->so_snd); return (result); } ==== //depot/projects/netperf_socket/sys/net/if_tun.c#6 (text+ko) ==== @@ -13,7 +13,7 @@ * UCL. This driver is based much more on read/write/poll mode of * operation though. * - * $FreeBSD: src/sys/net/if_tun.c,v 1.137 2004/03/17 01:12:09 rwatson Exp $ + * $FreeBSD: src/sys/net/if_tun.c,v 1.138 2004/03/29 18:42:51 rwatson Exp $ */ #include "opt_atalk.h" @@ -87,6 +87,12 @@ #define TUNDEBUG if (tundebug) if_printf #define TUNNAME "tun" +/* + * All mutable global variables in if_tun are locked using tunmtx, with + * the exception of tundebug, which is used unlocked, and tunclones, + * which is static after setup. + */ +static struct mtx tunmtx; static MALLOC_DEFINE(M_TUN, TUNNAME, "Tunnel Interface"); static int tundebug = 0; static struct clonedevs *tunclones; @@ -147,15 +153,30 @@ } } +static void +tun_destroy(struct tun_softc *tp) +{ + dev_t dev; + + KASSERT((tp->tun_flags & TUN_OPEN) == 0, + ("tununits is out of sync - unit %d", tp->tun_if.if_dunit)); + + dev = tp->tun_dev; + bpfdetach(&tp->tun_if); + if_detach(&tp->tun_if); + destroy_dev(dev); + free(tp, M_TUN); +} + static int tunmodevent(module_t mod, int type, void *data) { static eventhandler_tag tag; struct tun_softc *tp; - dev_t dev; switch (type) { case MOD_LOAD: + mtx_init(&tunmtx, "tunmtx", NULL, MTX_DEF); clone_setup(&tunclones); tag = EVENTHANDLER_REGISTER(dev_clone, tunclone, 0, 1000); if (tag == NULL) @@ -164,19 +185,16 @@ case MOD_UNLOAD: EVENTHANDLER_DEREGISTER(dev_clone, tag); - while (!TAILQ_EMPTY(&tunhead)) { - tp = TAILQ_FIRST(&tunhead); - KASSERT((tp->tun_flags & TUN_OPEN) == 0, - ("tununits is out of sync - unit %d", - tp->tun_if.if_dunit)); + mtx_lock(&tunmtx); + while ((tp = TAILQ_FIRST(&tunhead)) != NULL) { TAILQ_REMOVE(&tunhead, tp, tun_list); - dev = tp->tun_dev; - bpfdetach(&tp->tun_if); - if_detach(&tp->tun_if); - destroy_dev(dev); - free(tp, M_TUN); + mtx_unlock(&tunmtx); + tun_destroy(tp); + mtx_lock(&tunmtx); } + mtx_unlock(&tunmtx); clone_cleanup(&tunclones); + mtx_destroy(&tunmtx); break; } return 0; @@ -215,7 +233,9 @@ MALLOC(sc, struct tun_softc *, sizeof(*sc), M_TUN, M_WAITOK | M_ZERO); sc->tun_flags = TUN_INITED; sc->tun_dev = dev; + mtx_lock(&tunmtx); TAILQ_INSERT_TAIL(&tunhead, sc, tun_list); + mtx_unlock(&tunmtx); ifp = &sc->tun_if; if_initname(ifp, TUNNAME, dev2unit(dev)); From owner-p4-projects@FreeBSD.ORG Mon Mar 29 11:12:40 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 35D4016A4D1; Mon, 29 Mar 2004 11:12:40 -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 052CF16A4CF for ; Mon, 29 Mar 2004 11:12:40 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EEBED43D49 for ; Mon, 29 Mar 2004 11:12:39 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2TJCdGe037097 for ; Mon, 29 Mar 2004 11:12:39 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2TJCd0w037094 for perforce@freebsd.org; Mon, 29 Mar 2004 11:12:39 -0800 (PST) (envelope-from peter@freebsd.org) Date: Mon, 29 Mar 2004 11:12:39 -0800 (PST) Message-Id: <200403291912.i2TJCd0w037094@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 49907 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: Mon, 29 Mar 2004 19:12:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=49907 Change 49907 by peter@peter_daintree on 2004/03/29 11:12:00 move '*' position to a more style compliant place. Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#5 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#5 (text+ko) ==== @@ -1,5 +1,6 @@ /*- * Copyright (c) 1998-2000 Doug Rabson + * Copyright (c) 2004 Peter Wemm * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -59,7 +60,13 @@ Elf_Off base_offset; Elf_Off filesz; int flags; -} Elf_loadent; +} Elf_progent; + +typedef struct { + Elf_Addr base_vaddr; + Elf_Off filesz; + int flags; +} Elf_nobitent; typedef struct { const Elf_Rel *rel; @@ -74,36 +81,40 @@ typedef struct elf_file { struct linker_file lf; /* Common fields */ - caddr_t address; /* Relocation address */ + caddr_t address; /* Relocation address */ /* XXX OBE */ + + Elf_progent *progtab; + int nprogtab; + + Elf_nobitent *nobittab; + int nnobittab; - Elf_loadseg *segtab; - int nsegtab; Elf_relaent *relatab; int nrela; Elf_relent *reltab; int nrel; - caddr_t modptr; const Elf_Sym* ddbsymtab; /* The symbol table we are using */ long ddbsymcnt; /* Number of symbols */ caddr_t ddbstrtab; /* String table */ long ddbstrcnt; /* number of bytes in string table */ - caddr_t symbase; /* malloc'ed symbold base */ + + caddr_t symbase; /* malloc'ed symbol base */ caddr_t strbase; /* malloc'ed string base */ } *elf_file_t; static int link_elf_link_common_finish(linker_file_t); static int link_elf_link_preload(linker_class_t cls, - const char*, linker_file_t*); + const char *, linker_file_t *); static int link_elf_link_preload_finish(linker_file_t); -static int link_elf_load_file(linker_class_t, const char*, linker_file_t*); -static int link_elf_lookup_symbol(linker_file_t, const char*, - c_linker_sym_t*); +static int link_elf_load_file(linker_class_t, const char *, linker_file_t *); +static int link_elf_lookup_symbol(linker_file_t, const char *, + c_linker_sym_t *); static int link_elf_symbol_values(linker_file_t, c_linker_sym_t, - linker_symval_t*); + linker_symval_t *); static int link_elf_search_symbol(linker_file_t, caddr_t value, - c_linker_sym_t* sym, long* diffp); + c_linker_sym_t *sym, long *diffp); static void link_elf_unload_file(linker_file_t); static int link_elf_lookup_set(linker_file_t, const char *, @@ -134,7 +145,7 @@ link_elf_methods, sizeof(struct elf_file) }; -static int relocate_file(elf_file_t ef); +static int relocate_file(elf_file_t ef); static void link_elf_error(const char *s) @@ -160,7 +171,7 @@ } static void -link_elf_init(void* arg) +link_elf_init(void *arg) { linker_add_class(&link_elf_class); @@ -169,7 +180,7 @@ SYSINIT(link_elf, SI_SUB_KLD, SI_ORDER_SECOND, link_elf_init, 0); static int -link_elf_link_preload(linker_class_t cls, const char* filename, +link_elf_link_preload(linker_class_t cls, const char *filename, linker_file_t *result) { return (EFTYPE); @@ -182,11 +193,11 @@ } static int -link_elf_load_file(linker_class_t cls, const char* filename, - linker_file_t* result) +link_elf_load_file(linker_class_t cls, const char *filename, + linker_file_t *result) { struct nameidata nd; - struct thread* td = curthread; /* XXX */ + struct thread *td = curthread; /* XXX */ Elf_Ehdr *hdr; caddr_t firstpage; int nbytes, i; @@ -243,7 +254,7 @@ nbytes = PAGE_SIZE - resid; if (error) goto out; - if (nbytes < sizeof(Elf_Ehdr)) + if (nbytes < sizeof(Elf_Ehdr)){ error = ENOEXEC; goto out; } @@ -297,6 +308,19 @@ goto out; } + lf = linker_make_file(filename, &link_elf_class); + if (!lf) { + error = ENOMEM; + goto out; + } + + ef = (elf_file_t) lf; + ef->address = malloc(mapsize, M_LINKER, M_WAITOK); + if (!ef->address) { + error = ENOMEM; + goto out; + } + /* * Scan the program header entries, and save key information. * @@ -312,20 +336,20 @@ shdr = (Elf_Shdr *)shtbuf; shlimit = shdr + hdr->e_phnum; - nbits = 0; - nnobits = 0; + ef->nprogent = 0; + ef->nnobits = 0; nsym = 0; - nrel = 0; - nrela = 0; + ef->nrel = 0; + ef->nrela = 0; symtabindex = -1; symstrindex = -1; for (i = 0; i < hdr->e_shnum; i++) { switch (shdr[i].sh_type) { case SHT_PROGBITS: - nprogbits++; + ef->nprogtab++; break; case SHT_NOBITS: - nnobits++; + ef->nnobittab++; break; case SHT_SYMTAB: nsym++; @@ -333,10 +357,10 @@ symstrindex = shdr[i].sh_link; break; case SHT_REL: - nrel++; + ef->nreltab++; break; case SHT_RELA: - nrela++; + ef->nrelatab++; break; } } @@ -358,25 +382,35 @@ } /* XXX *************** STEP 2 GOES HERE ************* XXX */ + if (ef->nprogtab != 0) + ef->progtab = malloc(ef->nprogtab * sizeof(*ef->progtab), M_LINKER, M_WAITOK); + if (ef->nnobittab != 0) + ef->nobittab = malloc(ef->nobbittab * sizeof(*ef->nobittab), M_LINKER, M_WAITOK); + if (ef->nreltab != 0) + ef->reltab = malloc(ef->nreltab * sizeof(*ef->reltab), M_LINKER, M_WAITOK); + if (ef->nrelatab != 0) + ef->relatab = malloc(ef->nrelatab * sizeof(*ef->relatab), M_LINKER, M_WAITOK); + + ef->ddbsymcnt = shdr[symtabindex].sh_size / sizeof(Elf_Sym); + ef->ddbsymbase = malloc(shdr[symtabindex].sh_size, M_LINKER, M_WAITOK); + + ef->ddbstrcnt = shdr[symstrindex].sh_size; + ef->ddbstrbase = malloc(shdr[symstrindex].sh_size, M_LINKER, M_WAITOK); + + if (ef->symbase == NULL || ef->strbase == NULL) { + error = ENOMEM; + goto out; + } + for (i = 0; i < hdr->e_shnum; i++) { switch (shdr[i].sh_type) { + } } + /* XXX *************** STEP 3 GOES HERE ************* XXX */ /* Load the symbol table. */ - if (symtabindex < 0 || symstrindex < 0) - goto nosyms; - - symcnt = shdr[symtabindex].sh_size; - ef->symbase = malloc(symcnt, M_LINKER, M_WAITOK); - strcnt = shdr[symstrindex].sh_size; - ef->strbase = malloc(strcnt, M_LINKER, M_WAITOK); - - if (ef->symbase == NULL || ef->strbase == NULL) { - error = ENOMEM; - goto out; - } error = vn_rdwr(UIO_READ, nd.ni_vp, ef->symbase, symcnt, shdr[symtabindex].sh_offset, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, @@ -390,10 +424,6 @@ if (error) goto out; - ef->ddbsymcnt = symcnt / sizeof(Elf_Sym); - ef->ddbsymtab = (const Elf_Sym *)ef->symbase; - ef->ddbstrcnt = strcnt; - ef->ddbstrtab = ef->strbase; /* XXX *************** STEP 4 GOES HERE ************* XXX */ @@ -406,18 +436,6 @@ base_vlimit = round_page(segs[1]->p_vaddr + segs[1]->p_memsz); mapsize = base_vlimit - base_vaddr; - lf = linker_make_file(filename, &link_elf_class); - if (!lf) { - error = ENOMEM; - goto out; - } - - ef = (elf_file_t) lf; - ef->address = malloc(mapsize, M_LINKER, M_WAITOK); - if (!ef->address) { - error = ENOMEM; - goto out; - } mapbase = ef->address; /* @@ -452,11 +470,11 @@ if (error) goto out; - nosyms: +nosyms: *result = lf; - out: +out: if (error && lf) linker_file_unload(lf); if (shdr) @@ -566,11 +584,11 @@ } static int -link_elf_lookup_symbol(linker_file_t lf, const char* name, c_linker_sym_t* sym) +link_elf_lookup_symbol(linker_file_t lf, const char *name, c_linker_sym_t *sym) { elf_file_t ef = (elf_file_t) lf; unsigned long symnum; - const Elf_Sym* symp; + const Elf_Sym *symp; const char *strp; int i; @@ -593,10 +611,10 @@ } static int -link_elf_symbol_values(linker_file_t lf, c_linker_sym_t sym, linker_symval_t* symval) +link_elf_symbol_values(linker_file_t lf, c_linker_sym_t sym, linker_symval_t *symval) { elf_file_t ef = (elf_file_t) lf; - const Elf_Sym* es = (const Elf_Sym*) sym; + const Elf_Sym *es = (const Elf_Sym*) sym; if (es >= ef->ddbsymtab && es < (ef->ddbsymtab + ef->ddbsymcnt)) { symval->name = ef->ddbstrtab + es->st_name; @@ -609,14 +627,14 @@ static int link_elf_search_symbol(linker_file_t lf, caddr_t value, - c_linker_sym_t* sym, long* diffp) + c_linker_sym_t *sym, long *diffp) { elf_file_t ef = (elf_file_t) lf; u_long off = (uintptr_t) (void *) value; u_long diff = off; u_long st_value; - const Elf_Sym* es; - const Elf_Sym* best = 0; + const Elf_Sym *es; + const Elf_Sym *best = 0; int i; for (i = 0, es = ef->ddbsymtab; i < ef->ddbsymcnt; i++, es++) { @@ -705,7 +723,7 @@ link_elf_each_function_name(linker_file_t file, int (*callback)(const char *, void *), void *opaque) { elf_file_t ef = (elf_file_t)file; - const Elf_Sym* symp; + const Elf_Sym *symp; int i, error; /* Exhaustive search */ From owner-p4-projects@FreeBSD.ORG Mon Mar 29 11:28:00 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8469316A4D0; Mon, 29 Mar 2004 11:28:00 -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 40C7416A4CE for ; Mon, 29 Mar 2004 11:28:00 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 356EC43D31 for ; Mon, 29 Mar 2004 11:28:00 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2TJS0Ge039252 for ; Mon, 29 Mar 2004 11:28:00 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2TJRwir039249 for perforce@freebsd.org; Mon, 29 Mar 2004 11:27:58 -0800 (PST) (envelope-from peter@freebsd.org) Date: Mon, 29 Mar 2004 11:27:58 -0800 (PST) Message-Id: <200403291927.i2TJRwir039249@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 49908 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: Mon, 29 Mar 2004 19:28:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=49908 Change 49908 by peter@peter_daintree on 2004/03/29 11:27:44 IFC @49904 Affected files ... .. //depot/projects/hammer/MAINTAINERS#17 integrate .. //depot/projects/hammer/bin/ps/print.c#9 integrate .. //depot/projects/hammer/bin/ps/ps.1#12 integrate .. //depot/projects/hammer/bin/ps/ps.c#8 integrate .. //depot/projects/hammer/etc/mtree/BSD.local.dist#18 integrate .. //depot/projects/hammer/etc/mtree/BSD.usr.dist#22 integrate .. //depot/projects/hammer/etc/rc.d/mixer#3 integrate .. //depot/projects/hammer/lib/libc/gen/sysctl.3#5 integrate .. //depot/projects/hammer/lib/libc/locale/wctype.3#4 integrate .. //depot/projects/hammer/lib/libc/locale/wctype.c#2 integrate .. //depot/projects/hammer/lib/libkvm/kvm.3#4 integrate .. //depot/projects/hammer/lib/libkvm/kvm_open.3#4 integrate .. //depot/projects/hammer/lib/libkvm/kvm_proc.c#16 integrate .. //depot/projects/hammer/lib/libthr/thread/Makefile.inc#5 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_cond.c#9 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_create.c#10 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_detach.c#6 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_exit.c#9 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_find_thread.c#3 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_gc.c#7 delete .. //depot/projects/hammer/lib/libthr/thread/thr_init.c#10 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_join.c#7 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_kern.c#11 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_mattr_kind_np.c#2 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_mutex.c#17 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_private.h#14 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_resume_np.c#4 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_sig.c#7 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_syscalls.c#4 integrate .. //depot/projects/hammer/libexec/fingerd/Makefile#2 integrate .. //depot/projects/hammer/libexec/fingerd/fingerd.c#3 integrate .. //depot/projects/hammer/release/Makefile#46 integrate .. //depot/projects/hammer/release/scripts/print-cdrom-packages.sh#17 integrate .. //depot/projects/hammer/sbin/dmesg/dmesg.8#3 integrate .. //depot/projects/hammer/sbin/dmesg/dmesg.c#6 integrate .. //depot/projects/hammer/sbin/growfs/growfs.c#8 integrate .. //depot/projects/hammer/sbin/idmapd/idmapd.c#4 integrate .. //depot/projects/hammer/sbin/ipfw/ipfw.8#20 integrate .. //depot/projects/hammer/sbin/mount/mount.8#10 integrate .. //depot/projects/hammer/sbin/nologin/Makefile#4 delete .. //depot/projects/hammer/sbin/nologin/nologin.5#2 delete .. //depot/projects/hammer/sbin/nologin/nologin.8#4 delete .. //depot/projects/hammer/sbin/nologin/nologin.c#3 delete .. //depot/projects/hammer/sbin/tunefs/tunefs.c#6 integrate .. //depot/projects/hammer/share/colldef/Makefile#12 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/Makefile#18 integrate .. //depot/projects/hammer/share/man/man7/hier.7#13 integrate .. //depot/projects/hammer/share/mklocale/Makefile#11 integrate .. //depot/projects/hammer/share/mklocale/UTF-8.src#1 branch .. //depot/projects/hammer/share/monetdef/Makefile#11 integrate .. //depot/projects/hammer/share/monetdef/be_BY.UTF-8.src#1 branch .. //depot/projects/hammer/share/monetdef/bg_BG.UTF-8.src#1 branch .. //depot/projects/hammer/share/monetdef/cs_CZ.UTF-8.src#1 branch .. //depot/projects/hammer/share/monetdef/en_GB.UTF-8.src#1 branch .. //depot/projects/hammer/share/monetdef/en_IE.UTF-8.src#1 branch .. //depot/projects/hammer/share/monetdef/hy_AM.UTF-8.src#1 branch .. //depot/projects/hammer/share/monetdef/ja_JP.UTF-8.src#1 branch .. //depot/projects/hammer/share/monetdef/kk_KZ.UTF-8.src#1 branch .. //depot/projects/hammer/share/monetdef/ko_KR.UTF-8.src#1 branch .. //depot/projects/hammer/share/monetdef/pl_PL.UTF-8.src#1 branch .. //depot/projects/hammer/share/monetdef/ru_RU.UTF-8.src#1 branch .. //depot/projects/hammer/share/monetdef/sr_YU.UTF-8.src#1 branch .. //depot/projects/hammer/share/monetdef/uk_UA.UTF-8.src#1 branch .. //depot/projects/hammer/share/monetdef/zh_CN.UTF-8.src#1 branch .. //depot/projects/hammer/share/monetdef/zh_HK.UTF-8.src#1 branch .. //depot/projects/hammer/share/msgdef/Makefile#11 integrate .. //depot/projects/hammer/share/msgdef/be_BY.UTF-8.src#1 branch .. //depot/projects/hammer/share/msgdef/bg_BG.UTF-8.src#1 branch .. //depot/projects/hammer/share/msgdef/el_GR.UTF-8.src#1 branch .. //depot/projects/hammer/share/msgdef/hy_AM.UTF-8.src#1 branch .. //depot/projects/hammer/share/msgdef/ja_JP.UTF-8.src#1 branch .. //depot/projects/hammer/share/msgdef/kk_KZ.UTF-8.src#1 branch .. //depot/projects/hammer/share/msgdef/ru_RU.UTF-8.src#1 branch .. //depot/projects/hammer/share/msgdef/sr_YU.UTF-8.src#1 branch .. //depot/projects/hammer/share/msgdef/uk_UA.UTF-8.src#1 branch .. //depot/projects/hammer/share/msgdef/zh_CN.UTF-8.src#1 branch .. //depot/projects/hammer/share/msgdef/zh_TW.UTF-8.src#1 branch .. //depot/projects/hammer/share/numericdef/Makefile#10 integrate .. //depot/projects/hammer/share/timedef/Makefile#11 integrate .. //depot/projects/hammer/share/timedef/be_BY.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/bg_BG.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/ca_ES.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/cs_CZ.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/da_DK.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/de_AT.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/de_DE.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/el_GR.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/es_ES.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/et_EE.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/fi_FI.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/fr_FR.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/hr_HR.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/hu_HU.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/hy_AM.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/is_IS.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/it_IT.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/ja_JP.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/kk_KZ.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/ko_KR.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/lt_LT.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/no_NO.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/pl_PL.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/pt_BR.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/pt_PT.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/ro_RO.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/ru_RU.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/sk_SK.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/sl_SI.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/sr_YU.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/sv_SE.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/tr_TR.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/uk_UA.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/zh_CN.UTF-8.src#1 branch .. //depot/projects/hammer/share/timedef/zh_TW.UTF-8.src#1 branch .. //depot/projects/hammer/sys/alpha/alpha/vm_machdep.c#14 integrate .. //depot/projects/hammer/sys/alpha/linux/linux_dummy.c#4 integrate .. //depot/projects/hammer/sys/alpha/linux/linux_proto.h#7 integrate .. //depot/projects/hammer/sys/alpha/linux/linux_syscall.h#7 integrate .. //depot/projects/hammer/sys/alpha/linux/linux_sysent.c#7 integrate .. //depot/projects/hammer/sys/alpha/linux/syscalls.master#7 integrate .. //depot/projects/hammer/sys/amd64/amd64/identcpu.c#25 integrate .. //depot/projects/hammer/sys/amd64/amd64/vm_machdep.c#34 integrate .. //depot/projects/hammer/sys/amd64/conf/GENERIC#34 integrate .. //depot/projects/hammer/sys/boot/alpha/common/conf.c#4 integrate .. //depot/projects/hammer/sys/boot/i386/boot0/boot0ext.s#1 branch .. //depot/projects/hammer/sys/boot/i386/boot0ext/Makefile#1 branch .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_proto.h#11 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscall.h#11 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscalls.c#11 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_sysent.c#11 integrate .. //depot/projects/hammer/sys/compat/freebsd32/syscalls.master#14 integrate .. //depot/projects/hammer/sys/compat/ndis/kern_ndis.c#12 integrate .. //depot/projects/hammer/sys/compat/ndis/ndis_var.h#8 integrate .. //depot/projects/hammer/sys/compat/ndis/ntoskrnl_var.h#8 integrate .. //depot/projects/hammer/sys/compat/ndis/resource_var.h#2 integrate .. //depot/projects/hammer/sys/compat/ndis/subr_ndis.c#10 integrate .. //depot/projects/hammer/sys/compat/ndis/subr_ntoskrnl.c#12 integrate .. //depot/projects/hammer/sys/conf/kern.pre.mk#23 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pf.c#3 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pf_ioctl.c#4 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi.c#28 integrate .. //depot/projects/hammer/sys/dev/firewire/firewire.c#24 integrate .. //depot/projects/hammer/sys/dev/firewire/firewire.h#7 integrate .. //depot/projects/hammer/sys/dev/firewire/firewirereg.h#14 integrate .. //depot/projects/hammer/sys/dev/firewire/fwcrom.c#7 integrate .. //depot/projects/hammer/sys/dev/firewire/fwdev.c#12 integrate .. //depot/projects/hammer/sys/dev/firewire/fwdma.c#6 integrate .. //depot/projects/hammer/sys/dev/firewire/fwmem.c#13 integrate .. //depot/projects/hammer/sys/dev/firewire/fwohci.c#22 integrate .. //depot/projects/hammer/sys/dev/firewire/fwohci_pci.c#22 integrate .. //depot/projects/hammer/sys/dev/firewire/fwohcivar.h#7 integrate .. //depot/projects/hammer/sys/dev/firewire/if_fwe.c#16 integrate .. //depot/projects/hammer/sys/dev/firewire/sbp.c#27 integrate .. //depot/projects/hammer/sys/dev/firewire/sbp_targ.c#5 integrate .. //depot/projects/hammer/sys/dev/if_ndis/if_ndis.c#12 integrate .. //depot/projects/hammer/sys/dev/ips/ips.h#8 integrate .. //depot/projects/hammer/sys/dev/pccard/pccarddevs#21 integrate .. //depot/projects/hammer/sys/dev/pccard/pccarddevs.h#21 integrate .. //depot/projects/hammer/sys/dev/twe/twe.c#7 integrate .. //depot/projects/hammer/sys/dev/twe/twe_freebsd.c#11 integrate .. //depot/projects/hammer/sys/dev/twe/twevar.h#5 integrate .. //depot/projects/hammer/sys/dev/usb/ohci.c#12 integrate .. //depot/projects/hammer/sys/dev/wi/if_wi_pccard.c#18 integrate .. //depot/projects/hammer/sys/i386/ibcs2/ibcs2_proto.h#4 integrate .. //depot/projects/hammer/sys/i386/ibcs2/ibcs2_syscall.h#4 integrate .. //depot/projects/hammer/sys/i386/ibcs2/ibcs2_sysent.c#5 integrate .. //depot/projects/hammer/sys/i386/ibcs2/syscalls.master#4 integrate .. //depot/projects/hammer/sys/i386/linux/linux_dummy.c#5 integrate .. //depot/projects/hammer/sys/i386/linux/linux_proto.h#10 integrate .. //depot/projects/hammer/sys/i386/linux/linux_syscall.h#10 integrate .. //depot/projects/hammer/sys/i386/linux/linux_sysent.c#11 integrate .. //depot/projects/hammer/sys/i386/linux/syscalls.master#10 integrate .. //depot/projects/hammer/sys/ia64/ia64/vm_machdep.c#20 integrate .. //depot/projects/hammer/sys/kern/init_sysent.c#28 integrate .. //depot/projects/hammer/sys/kern/kern_descrip.c#21 integrate .. //depot/projects/hammer/sys/kern/kern_thr.c#13 integrate .. //depot/projects/hammer/sys/kern/kern_umtx.c#11 integrate .. //depot/projects/hammer/sys/kern/sched_ule.c#27 integrate .. //depot/projects/hammer/sys/kern/subr_param.c#8 integrate .. //depot/projects/hammer/sys/kern/subr_smp.c#17 integrate .. //depot/projects/hammer/sys/kern/sys_pipe.c#19 integrate .. //depot/projects/hammer/sys/kern/sys_socket.c#8 integrate .. //depot/projects/hammer/sys/kern/syscalls.c#27 integrate .. //depot/projects/hammer/sys/kern/syscalls.master#28 integrate .. //depot/projects/hammer/sys/kern/uipc_domain.c#5 integrate .. //depot/projects/hammer/sys/kern/uipc_socket.c#18 integrate .. //depot/projects/hammer/sys/kern/uipc_syscalls.c#19 integrate .. //depot/projects/hammer/sys/kern/vfs_mount.c#24 integrate .. //depot/projects/hammer/sys/modules/Makefile#39 integrate .. //depot/projects/hammer/sys/net/bpfdesc.h#7 integrate .. //depot/projects/hammer/sys/net/if_tun.c#14 integrate .. //depot/projects/hammer/sys/netinet/in_pcb.c#20 integrate .. //depot/projects/hammer/sys/netinet/in_pcb.h#14 integrate .. //depot/projects/hammer/sys/netinet/ip6.h#5 integrate .. //depot/projects/hammer/sys/netinet/ip_divert.c#14 integrate .. //depot/projects/hammer/sys/netinet/ip_input.c#27 integrate .. //depot/projects/hammer/sys/netinet/ip_output.c#26 integrate .. //depot/projects/hammer/sys/netinet/raw_ip.c#17 integrate .. //depot/projects/hammer/sys/netinet/tcp_syncache.c#14 integrate .. //depot/projects/hammer/sys/netinet/tcp_usrreq.c#11 integrate .. //depot/projects/hammer/sys/netinet/udp_usrreq.c#15 integrate .. //depot/projects/hammer/sys/netinet6/in6_pcb.c#13 integrate .. //depot/projects/hammer/sys/netinet6/in6_pcb.h#5 integrate .. //depot/projects/hammer/sys/netinet6/in6_src.c#9 integrate .. //depot/projects/hammer/sys/netinet6/ip6_output.c#20 integrate .. //depot/projects/hammer/sys/netinet6/raw_ip6.c#11 integrate .. //depot/projects/hammer/sys/netinet6/udp6_output.c#9 integrate .. //depot/projects/hammer/sys/netinet6/udp6_usrreq.c#12 integrate .. //depot/projects/hammer/sys/nfs4client/nfs4_dev.h#2 integrate .. //depot/projects/hammer/sys/nfsclient/nfs.h#9 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_socket.c#12 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_subs.c#11 integrate .. //depot/projects/hammer/sys/pc98/conf/NOTES#21 integrate .. //depot/projects/hammer/sys/pc98/i386/machdep.c#26 integrate .. //depot/projects/hammer/sys/pc98/pc98/clock.c#12 integrate .. //depot/projects/hammer/sys/pc98/pc98/fd.c#15 integrate .. //depot/projects/hammer/sys/rpc/rpcclnt.c#6 integrate .. //depot/projects/hammer/sys/sparc64/ebus/ebus.c#7 integrate .. //depot/projects/hammer/sys/sparc64/sbus/sbus.c#10 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/vm_machdep.c#14 integrate .. //depot/projects/hammer/sys/sys/mutex.h#11 integrate .. //depot/projects/hammer/sys/sys/param.h#30 integrate .. //depot/projects/hammer/sys/sys/pcpu.h#6 integrate .. //depot/projects/hammer/sys/sys/pipe.h#7 integrate .. //depot/projects/hammer/sys/sys/proc.h#45 integrate .. //depot/projects/hammer/sys/sys/smp.h#6 integrate .. //depot/projects/hammer/sys/sys/syscall.h#27 integrate .. //depot/projects/hammer/sys/sys/syscall.mk#27 integrate .. //depot/projects/hammer/sys/sys/sysproto.h#27 integrate .. //depot/projects/hammer/sys/sys/thr.h#2 integrate .. //depot/projects/hammer/sys/sys/tree.h#3 integrate .. //depot/projects/hammer/tools/tools/README#7 integrate .. //depot/projects/hammer/tools/tools/gdb_regofs/Makefile#1 branch .. //depot/projects/hammer/tools/tools/gdb_regofs/ia64.c#1 branch .. //depot/projects/hammer/tools/tools/nanobsd/i386.diskimage#3 integrate .. //depot/projects/hammer/usr.bin/Makefile#28 integrate .. //depot/projects/hammer/usr.bin/fstat/fstat.1#3 integrate .. //depot/projects/hammer/usr.bin/kdump/kdump.c#9 integrate .. //depot/projects/hammer/usr.bin/killall/killall.1#5 integrate .. //depot/projects/hammer/usr.bin/netstat/Makefile#4 integrate .. //depot/projects/hammer/usr.bin/netstat/main.c#7 integrate .. //depot/projects/hammer/usr.bin/netstat/mcast.c#1 branch .. //depot/projects/hammer/usr.bin/netstat/netstat.1#7 integrate .. //depot/projects/hammer/usr.bin/netstat/netstat.h#6 integrate .. //depot/projects/hammer/usr.bin/pkill/Makefile#1 branch .. //depot/projects/hammer/usr.bin/pkill/pkill.1#1 branch .. //depot/projects/hammer/usr.bin/pkill/pkill.c#1 branch .. //depot/projects/hammer/usr.bin/vmstat/vmstat.8#5 integrate .. //depot/projects/hammer/usr.bin/vmstat/vmstat.c#13 integrate .. //depot/projects/hammer/usr.sbin/fdcontrol/Makefile#4 integrate .. //depot/projects/hammer/usr.sbin/fdformat/Makefile#2 integrate .. //depot/projects/hammer/usr.sbin/fdread/Makefile#2 integrate .. //depot/projects/hammer/usr.sbin/fdread/fdutil.c#3 integrate .. //depot/projects/hammer/usr.sbin/mountd/exports.5#6 integrate .. //depot/projects/hammer/usr.sbin/pstat/pstat.8#3 integrate .. //depot/projects/hammer/usr.sbin/pstat/pstat.c#8 integrate Differences ... ==== //depot/projects/hammer/MAINTAINERS#17 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.83 2004/03/23 21:22:24 mlaier Exp $ +$FreeBSD: src/MAINTAINERS,v 1.84 2004/03/25 20:02:17 scottl Exp $ subsystem login notes ----------------------------- @@ -31,7 +31,6 @@ mlx scottl Pre-commit review requested. mly scottl Pre-commit review requested. maestro3 scottl Pre-commit review requested. -raidframe scottl Pre-commit review requested. CAM gibbs, ken Pre-commit review requested. send to scsi@freebsd.org devstat(9) ken Pre-commit review requested. ==== //depot/projects/hammer/bin/ps/print.c#9 (text+ko) ==== @@ -38,7 +38,7 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/ps/print.c,v 1.83 2003/08/13 07:35:07 harti Exp $"); +__FBSDID("$FreeBSD: src/bin/ps/print.c,v 1.84 2004/03/28 02:13:31 gad Exp $"); #include #include @@ -653,9 +653,9 @@ struct priority *lpri; char str[8]; unsigned class, level; - + v = ve->var; - lpri = (struct priority *) ((char *)k + v->off); + lpri = &k->ki_p->ki_pri; class = lpri->pri_class; level = lpri->pri_level; switch (class) { ==== //depot/projects/hammer/bin/ps/ps.1#12 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/ps/ps.1,v 1.68 2004/03/21 11:24:06 tjr Exp $ +.\" $FreeBSD: src/bin/ps/ps.1,v 1.72 2004/03/27 18:26:40 gad Exp $ .\" -.Dd March 21, 2004 +.Dd March 27, 2004 .Dt PS 1 .Os .Sh NAME @@ -40,7 +40,11 @@ .Nd process status .Sh SYNOPSIS .Nm -.Op Fl aCcefHhjlmrSTuvwxZ +.Op Fl aCcefHhjlmrSTuvwXxZ +.Oo Fl G Ar gid Ns Xo +.Op , Ns Ar gid Ns No ... +.Xc +.Oc .Op Fl M Ar core .Op Fl N Ar system .Op Fl O Ar fmt @@ -49,7 +53,10 @@ .Op , Ns Ar pid Ns No ... .Xc .Oc -.Op Fl t Ar tty +.Oo Fl t Ar tty Ns Xo +.Op , Ns Ar tty Ns No ... +.Xc +.Oc .Oo Fl U Ar username Ns Xo .Op , Ns Ar username Ns No ... .Xc @@ -65,7 +72,19 @@ This information is sorted by controlling terminal, then by process .Tn ID . .Pp -The information displayed is selected based on a set of keywords (see the +A different set of processes can be selected for display by using any +combination of the +.Fl a, G , p , T , t +and +.Fl U +options. +If more than one of these options are given, then +.Nm +will select all processes which are matched by at least one of the +given options. +.Pp +For the processes which have been selected for display, the information +to display is selected based on a set of keywords (see the .Fl L .Fl O and @@ -86,6 +105,10 @@ .Bl -tag -width indent .It Fl a Display information about other users' processes as well as your own. +This will skip any processes which do not have a controlling teminal, +unless the +.Fl x +option is also specified. This can be disabled by setting the .Va security.bsd.see_other_uids sysctl to zero. @@ -101,6 +124,10 @@ .It Fl f Show commandline and environment information about swapped out processes. This option is honored only if the uid of the user is 0. +.It Fl G +Display information about processes which are running with the specified +real group +.Tn ID(s) . .It Fl H Show all of the .Em kernel visible @@ -121,14 +148,13 @@ and command. .It Fl M Extract values associated with the name list from the specified core -instead of the default -.Pa /dev/kmem . +instead of the currently running system. .It Fl m Sort by memory usage, instead of by process .Tn ID . .It Fl N -Extract the name list from the specified system instead of the default -.Pa /boot/kernel/kernel . +Extract the name list from the specified system instead of the default, +which is the kernel image the system has booted from. .It Fl O Add the information associated with the space or comma separated list of keywords specified, after the process @@ -148,7 +174,7 @@ This causes the printed header to use the specified string instead of the standard header. .It Fl p -Display information associated with the specified process +Display information about processes which match the specified process .Tn ID(s) . .It Fl r Sort by current cpu usage, instead of by process @@ -161,7 +187,7 @@ with the standard input. .It Fl t Display information about processes attached to the specified terminal -device. +device(s). .It Fl U Display the processes belonging to the specified .Ar username Ns (s) . @@ -190,8 +216,22 @@ option is specified more than once, .Nm will use as many columns as necessary without regard for your window size. +.It Fl X +When displaying processes matched by other options, skip any processes +which do not have a controlling terminal. .It Fl x -Display information about processes without controlling terminals. +When displaying processes matched by other options, include processes +which do not have a controlling terminal. +This is the opposite of the +.Fl X +option. +If both +.Fl X +and +.Fl x +are specified in the same command, then +.Nm +will use the one which was specified last. .It Fl Z Add label to the list of keywords for which .Nm @@ -522,17 +562,11 @@ attempts to automatically determine the terminal width. .El .Sh FILES -.Bl -tag -width /var/db/kvm_kernel.db -compact -.It Pa /dev/kmem -default kernel memory +.Bl -tag -width ".Pa /boot/kernel/kernel" -compact .It Pa /dev/lomac interface used to query the .Xr lomac 4 KLD -.It Pa /var/run/dev.db -/dev name database -.It Pa /var/db/kvm_kernel.db -system namelist database .It Pa /boot/kernel/kernel default system namelist .It Pa /proc @@ -549,6 +583,14 @@ .Xr pstat 8 , .Xr sysctl 8 , .Xr mutex 9 +.Sh STANDARDS +For historical reasons, +.Nm +utility under +.Fx +supports a different set of options from what is described by +.St -p1003.2 , +and what is supported on non-BSD operating systems. .Sh HISTORY The .Nm ==== //depot/projects/hammer/bin/ps/ps.c#8 (text+ko) ==== @@ -29,6 +29,13 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. + * ------+---------+---------+-------- + --------+---------+---------+---------* + * Copyright (c) 2004 - Garance Alistair Drosehn . + * All rights reserved. + * + * Significant modifications made to bring `ps' options somewhat closer + * to the standard for `ps' as described in SingleUnixSpec-v3. + * ------+---------+---------+-------- + --------+---------+---------+---------* */ #ifndef lint @@ -44,9 +51,10 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.66 2004/03/18 01:28:23 gad Exp $"); +__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.80 2004/03/29 03:03:28 gad Exp $"); #include +#include #include #include #include @@ -56,11 +64,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -68,77 +78,103 @@ #include "ps.h" -#define SEP ", \t" /* username separators */ +#define W_SEP " \t" /* "Whitespace" list separators */ +#define T_SEP "," /* "Terminate-element" list separators */ + +#ifdef LAZY_PS +#define DEF_UREAD 0 +#define OPT_LAZY_f "f" +#else +#define DEF_UREAD 1 /* Always do the more-expensive read. */ +#define OPT_LAZY_f /* I.e., the `-f' option is not added. */ +#endif + +int cflag; /* -c */ +int eval; /* Exit value */ +time_t now; /* Current time(3) value */ +int rawcpu; /* -C */ +int sumrusage; /* -S */ +int termwidth; /* Width of the screen (0 == infinity). */ +int totwidth; /* Calculated-width of requested variables. */ -static KINFO *kinfo; struct varent *vhead; -int eval; /* exit value */ -int cflag; /* -c */ -int rawcpu; /* -C */ -int sumrusage; /* -S */ -int termwidth; /* width of screen (0 == infinity) */ -int totwidth; /* calculated width of requested variables */ +static int forceuread = DEF_UREAD; /* Do extra work to get u-area. */ +static kvm_t *kd; +static KINFO *kinfo; +static int needcomm; /* -o "command" */ +static int needenv; /* -e */ +static int needuser; /* -o "user" */ +static int optfatal; /* Fatal error parsing some list-option. */ -time_t now; /* current time(3) value */ +static enum sort { DEFAULT, SORTMEM, SORTCPU } sortby = DEFAULT; -static int needuser, needcomm, needenv; -#if defined(LAZY_PS) -static int forceuread=0; -#else -static int forceuread=1; -#endif +struct listinfo; +typedef int addelem_rtn(struct listinfo *_inf, const char *_elem); -static enum sort { DEFAULT, SORTMEM, SORTCPU } sortby = DEFAULT; +struct listinfo { + int count; + int maxcount; + int elemsize; + addelem_rtn *addelem; + const char *lname; + union { + gid_t *gids; + pid_t *pids; + dev_t *ttys; + uid_t *uids; + void *ptr; + }; +}; -static const char *fmt(char **(*)(kvm_t *, const struct kinfo_proc *, int), +static int addelem_gid(struct listinfo *, const char *); +static int addelem_pid(struct listinfo *, const char *); +static int addelem_tty(struct listinfo *, const char *); +static int addelem_uid(struct listinfo *, const char *); +static void add_list(struct listinfo *, const char *); +static void dynsizevars(KINFO *); +static void *expand_list(struct listinfo *); +static const char *fmt(char **(*)(kvm_t *, const struct kinfo_proc *, int), KINFO *, char *, int); +static void free_list(struct listinfo *); +static void init_list(struct listinfo *, addelem_rtn, int, const char *); static char *kludge_oldps_options(char *); static int pscomp(const void *, const void *); static void saveuser(KINFO *); static void scanvars(void); -static void dynsizevars(KINFO *); static void sizevars(void); static void usage(void); -static pid_t *getpids(const char *, int *); -static uid_t *getuids(const char *, int *); static char dfmt[] = "pid,tt,state,time,command"; static char jfmt[] = "user,pid,ppid,pgid,jobc,state,tt,time,command"; -static char lfmt[] = "uid,pid,ppid,cpu,pri,nice,vsz,rss,mwchan,state,tt,time,command"; +static char lfmt[] = "uid,pid,ppid,cpu,pri,nice,vsz,rss,mwchan,state," + "tt,time,command"; static char o1[] = "pid"; static char o2[] = "tt,state,time,command"; static char ufmt[] = "user,pid,%cpu,%mem,vsz,rss,tt,state,start,time,command"; -static char vfmt[] = "pid,state,time,sl,re,pagein,vsz,rss,lim,tsiz,%cpu,%mem,command"; +static char vfmt[] = "pid,state,time,sl,re,pagein,vsz,rss,lim,tsiz," + "%cpu,%mem,command"; static char Zfmt[] = "label"; -static kvm_t *kd; - -#if defined(LAZY_PS) -#define PS_ARGS "aCcefgHhjLlM:mN:O:o:p:rSTt:U:uvwxZ" -#else -#define PS_ARGS "aCcegHhjLlM:mN:O:o:p:rSTt:U:uvwxZ" -#endif +#define PS_ARGS "AaCc" OPT_LAZY_f "G:gHhjLlM:mN:O:o:p:rSTt:U:uvwXxZ" int main(int argc, char *argv[]) { + struct listinfo gidlist, pgrplist, pidlist; + struct listinfo ruidlist, sesslist, ttylist, uidlist; struct kinfo_proc *kp; struct varent *vent; struct winsize ws; - dev_t ttydev; - pid_t *pids; - uid_t *uids; - int all, ch, dropgid, flag, _fmt, i, lineno; - int nentries, nocludge, noutput, npids, nuids, pid; - int prtheader, showthreads, uid, wflag, what, xflg; + const char *cp, *nlistf, *memf; char *cols; + int all, ch, dropgid, elem, flag, _fmt, i, lineno; + int nentries, nocludge, nkept, nselectors; + int prtheader, showthreads, wflag, what, xkeep, xkeep_implied; char errbuf[_POSIX2_LINE_MAX]; - const char *cp, *nlistf, *memf; (void) setlocale(LC_ALL, ""); - /* Set the time to what it is right now. */ - time(&now); + time(&now); /* Used by routines in print.c. */ if ((cols = getenv("COLUMNS")) != NULL && *cols != '\0') termwidth = atoi(cols); @@ -170,16 +206,30 @@ argv[1] = kludge_oldps_options(argv[1]); } - all = _fmt = prtheader = wflag = xflg = 0; - npids = nuids = 0; - pids = uids = NULL; - ttydev = NODEV; - dropgid = 0; + all = dropgid = _fmt = nselectors = optfatal = 0; + prtheader = showthreads = wflag = xkeep_implied = 0; + xkeep = -1; /* Neither -x nor -X. */ + init_list(&gidlist, addelem_gid, sizeof(gid_t), "group"); + init_list(&pgrplist, addelem_pid, sizeof(pid_t), "process group"); + init_list(&pidlist, addelem_pid, sizeof(pid_t), "process id"); + init_list(&ruidlist, addelem_uid, sizeof(uid_t), "ruser"); + init_list(&sesslist, addelem_pid, sizeof(pid_t), "session id"); + init_list(&ttylist, addelem_tty, sizeof(dev_t), "tty"); + init_list(&uidlist, addelem_uid, sizeof(uid_t), "user"); memf = nlistf = _PATH_DEVNULL; - showthreads = 0; while ((ch = getopt(argc, argv, PS_ARGS)) != -1) switch((char)ch) { + case 'A': + /* + * Exactly the same as `-ax'. This has been + * added for compatability with SUSv3, but for + * now it will not be described in the man page. + */ + nselectors++; + all = xkeep = 1; + break; case 'a': + nselectors++; all = 1; break; case 'C': @@ -191,8 +241,32 @@ case 'e': /* XXX set ufmt */ needenv = 1; break; +#ifdef LAZY_PS + case 'f': + if (getuid() == 0 || getgid() == 0) + forceuread = 1; + break; +#endif + case 'G': + add_list(&gidlist, optarg); + xkeep_implied = 1; + nselectors++; + break; case 'g': +#if 0 + /* + * XXX - This SUSv3 behavior is still under debate + * since it conflicts with the (undocumented) + * `-g' option. So we skip it for now. + */ + add_list(&pgrplist, optarg); + xkeep_implied = 1; + nselectors++; + break; +#else + /* The historical BSD-ish (from SunOS) behavior. */ break; /* no-op */ +#endif case 'H': showthreads = KERN_PROC_INC_THREAD; break; @@ -234,47 +308,63 @@ parsefmt(optarg, 1); _fmt = 1; break; -#if defined(LAZY_PS) - case 'f': - if (getuid() == 0 || getgid() == 0) - forceuread = 1; + case 'p': + add_list(&pidlist, optarg); + /* + * Note: `-p' does not *set* xkeep, but any values + * from pidlist are checked before xkeep is. That + * way they are always matched, even if the user + * specifies `-X'. + */ + nselectors++; + break; +#if 0 + case 'R': + /* + * XXX - This un-standard option is still under + * debate. This is what SUSv3 defines as + * the `-U' option, and while it would be + * nice to have, it could cause even more + * confusion to implement it as `-R'. + */ + add_list(&ruidlist, optarg); + xkeep_implied = 1; + nselectors++; break; #endif - case 'p': - pids = getpids(optarg, &npids); - xflg = 1; - break; case 'r': sortby = SORTCPU; break; case 'S': sumrusage = 1; break; +#if 0 + case 's': + /* + * XXX - This non-standard option is still under + * debate. This *is* supported on Solaris, + * Linux, and IRIX, but conflicts with `-s' + * on NetBSD and maybe some older BSD's. + */ + add_list(&sesslist, optarg); + xkeep_implied = 1; + nselectors++; + break; +#endif case 'T': if ((optarg = ttyname(STDIN_FILENO)) == NULL) errx(1, "stdin: not a terminal"); /* FALLTHROUGH */ - case 't': { - struct stat sb; - char *ttypath, pathbuf[PATH_MAX]; - - if (strcmp(optarg, "co") == 0) - ttypath = strdup(_PATH_CONSOLE); - else if (*optarg != '/') - (void)snprintf(ttypath = pathbuf, - sizeof(pathbuf), "%s%s", _PATH_TTY, optarg); - else - ttypath = optarg; - if (stat(ttypath, &sb) == -1) - err(1, "%s", ttypath); - if (!S_ISCHR(sb.st_mode)) - errx(1, "%s: not a terminal", ttypath); - ttydev = sb.st_rdev; + case 't': + add_list(&ttylist, optarg); + xkeep_implied = 1; + nselectors++; break; - } case 'U': - uids = getuids(optarg, &nuids); - xflg++; /* XXX: intuitive? */ + /* This is what SUSv3 defines as the `-u' option. */ + add_list(&uidlist, optarg); + xkeep_implied = 1; + nselectors++; break; case 'u': parsefmt(ufmt, 0); @@ -295,8 +385,22 @@ termwidth = 131; wflag++; break; + case 'X': + /* + * Note that `-X' and `-x' are not standard "selector" + * options. For most selector-options, we check *all* + * processes to see if any are matched by the given + * value(s). After we have a set of all the matched + * processes, then `-X' and `-x' govern whether we + * modify that *matched* set for processes which do + * not have a controlling terminal. `-X' causes + * those processes to be deleted from the matched + * set, while `-x' causes them to be kept. + */ + xkeep = 0; + break; case 'x': - xflg = 1; + xkeep = 1; break; case 'Z': parsefmt(Zfmt, 0); @@ -308,14 +412,17 @@ } argc -= optind; argv += optind; + if (optfatal) + exit(1); /* Error messages already printed. */ + if (xkeep < 0) /* Neither -X nor -x was specified. */ + xkeep = xkeep_implied; #define BACKWARD_COMPATIBILITY #ifdef BACKWARD_COMPATIBILITY if (*argv) { nlistf = *argv; - if (*++argv) { + if (*++argv) memf = *argv; - } } #endif /* @@ -334,12 +441,13 @@ if (!_fmt) parsefmt(dfmt, 0); - /* XXX - should be cleaner */ - if (!all && ttydev == NODEV && !npids && !nuids) { - if ((uids = malloc(sizeof (*uids))) == NULL) + if (nselectors == 0) { + uidlist.ptr = malloc(sizeof(uid_t)); + if (uidlist.ptr == NULL) errx(1, "malloc failed"); - nuids = 1; - *uids = getuid(); + nselectors = 1; + uidlist.count = uidlist.maxcount = 1; + *uidlist.uids = getuid(); } /* @@ -347,37 +455,130 @@ * and adjusting header widths as appropriate. */ scanvars(); + /* - * get proc list + * Get process list. If the user requested just one selector- + * option, then kvm_getprocs can be asked to return just those + * processes. Otherwise, have it return all processes, and + * then this routine will search that full list and select the + * processes which match any of the user's selector-options. */ - if (nuids == 1) { - what = KERN_PROC_UID | showthreads; - flag = *uids; - } else if (ttydev != NODEV) { - what = KERN_PROC_TTY | showthreads; - flag = ttydev; - } else if (npids == 1) { - what = KERN_PROC_PID | showthreads; - flag = *pids; - } else { - what = showthreads != 0 ? KERN_PROC_ALL : KERN_PROC_PROC; - flag = 0; + what = showthreads != 0 ? KERN_PROC_ALL : KERN_PROC_PROC; + flag = 0; + if (nselectors == 1) { + /* XXX - Apparently there's no KERN_PROC_GID flag. */ + if (pgrplist.count == 1) { + what = KERN_PROC_PGRP | showthreads; + flag = *pgrplist.pids; + nselectors = 0; + } else if (pidlist.count == 1) { + what = KERN_PROC_PID | showthreads; + flag = *pidlist.pids; + nselectors = 0; + } else if (ruidlist.count == 1) { + what = KERN_PROC_RUID | showthreads; + flag = *ruidlist.uids; + nselectors = 0; +#if 0 + /* + * XXX - KERN_PROC_SESSION causes error in kvm_getprocs? + * For now, always do sid-matching in this routine. + */ + } else if (sesslist.count == 1) { + what = KERN_PROC_SESSION | showthreads; + flag = *sesslist.pids; + nselectors = 0; +#endif + } else if (ttylist.count == 1) { + what = KERN_PROC_TTY | showthreads; + flag = *ttylist.ttys; + nselectors = 0; + } else if (uidlist.count == 1) { + what = KERN_PROC_UID | showthreads; + flag = *uidlist.uids; + nselectors = 0; + } else if (all) { + /* No need for this routine to select processes. */ + nselectors = 0; + } } /* * select procs */ + nentries = -1; kp = kvm_getprocs(kd, what, flag, &nentries); - if ((kp == 0 && nentries != 0) || nentries < 0) + if ((kp == NULL && nentries > 0) || (kp != NULL && nentries < 0)) errx(1, "%s", kvm_geterr(kd)); + nkept = 0; if (nentries > 0) { if ((kinfo = malloc(nentries * sizeof(*kinfo))) == NULL) errx(1, "malloc failed"); for (i = nentries; --i >= 0; ++kp) { - kinfo[i].ki_p = kp; + /* + * If the user specified multiple selection-criteria, + * then keep any process matched by the inclusive OR + * of all the selection-criteria given. + */ + if (pidlist.count > 0) { + for (elem = 0; elem < pidlist.count; elem++) + if (kp->ki_pid == pidlist.pids[elem]) + goto keepit; + } + /* + * Note that we had to process pidlist before + * filtering out processes which do not have + * a controlling terminal. + */ + if (xkeep == 0) { + if ((kp->ki_tdev == NODEV || + (kp->ki_flag & P_CONTROLT) == 0)) + continue; + } + if (nselectors == 0) + goto keepit; + if (gidlist.count > 0) { + for (elem = 0; elem < gidlist.count; elem++) + if (kp->ki_rgid == gidlist.gids[elem]) + goto keepit; + } + if (pgrplist.count > 0) { + for (elem = 0; elem < pgrplist.count; elem++) + if (kp->ki_pgid == pgrplist.pids[elem]) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Mar 29 13:22:23 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5884A16A4DC; Mon, 29 Mar 2004 13:22:23 -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 2616416A4D4 for ; Mon, 29 Mar 2004 13:22:23 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1957D43D1F for ; Mon, 29 Mar 2004 13:22:23 -0800 (PST) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2TLMMGe071537 for ; Mon, 29 Mar 2004 13:22:22 -0800 (PST) (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2TLMMQH071528 for perforce@freebsd.org; Mon, 29 Mar 2004 13:22:22 -0800 (PST) (envelope-from imp@freebsd.org) Date: Mon, 29 Mar 2004 13:22:22 -0800 (PST) Message-Id: <200403292122.i2TLMMQH071528@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Subject: PERFORCE change 49914 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: Mon, 29 Mar 2004 21:22:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=49914 Change 49914 by imp@imp_pacopaco on 2004/03/29 13:21:49 IFC @49911 Affected files ... .. //depot/projects/power/sys/amd64/amd64/vm_machdep.c#6 integrate .. //depot/projects/power/sys/contrib/dev/oltr/if_oltr.c#4 integrate .. //depot/projects/power/sys/i386/i386/vm_machdep.c#7 integrate .. //depot/projects/power/sys/kern/uipc_domain.c#2 integrate .. //depot/projects/power/sys/kern/uipc_socket.c#6 integrate .. //depot/projects/power/sys/net/if_tun.c#7 integrate .. //depot/projects/power/sys/pc98/pc98/clock.c#5 integrate .. //depot/projects/power/sys/powerpc/powerpc/vm_machdep.c#5 integrate .. //depot/projects/power/sys/sys/tree.h#3 integrate Differences ... ==== //depot/projects/power/sys/amd64/amd64/vm_machdep.c#6 (text+ko) ==== @@ -41,10 +41,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.230 2004/03/25 03:39:38 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.231 2004/03/29 19:38:05 peter Exp $"); #include "opt_isa.h" -#include "opt_kstack_pages.h" #include "opt_cpu.h" #include ==== //depot/projects/power/sys/contrib/dev/oltr/if_oltr.c#4 (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/contrib/dev/oltr/if_oltr.c,v 1.32 2004/03/17 17:50:23 njl Exp $ + * $FreeBSD: src/sys/contrib/dev/oltr/if_oltr.c,v 1.33 2004/03/29 21:10:05 imp Exp $ */ #include @@ -50,11 +50,6 @@ #include #include -#if (__FreeBSD_version < 400000) -#include -#endif - -#if (NBPFILTER > 0) || (__FreeBSD_version > 400000) #include #ifndef BPF_MTAP @@ -63,7 +58,6 @@ bpf_mtap((_ifp), (_m)); \ } while (0) #endif -#endif #include /* for vtophys */ #include /* for vtophys */ @@ -238,8 +232,6 @@ static int oltr_ifmedia_upd __P((struct ifnet *)); static void oltr_ifmedia_sts __P((struct ifnet *, struct ifmediareq *)); -#if __FreeBSD_version > 400000 - static int oltr_pci_probe __P((device_t)); static int oltr_pci_attach __P((device_t)); static int oltr_pci_detach __P((device_t)); @@ -488,200 +480,7 @@ return; } -#else - -static const char *oltr_pci_probe __P((pcici_t, pcidi_t)); -static void oltr_pci_attach __P((pcici_t, int)); - -static unsigned long oltr_count = 0; - -static struct pci_device oltr_device = { - "oltr", - oltr_pci_probe, - oltr_pci_attach, - &oltr_count, - NULL -}; - -DATA_SET(pcidevice_set, oltr_device); - -static const char * -oltr_pci_probe(pcici_t config_id, pcidi_t device_id) -{ - int i, rc; - char PCIConfigHeader[64]; - TRlldAdapterConfig_t config; - - if (((device_id & 0xffff) == PCI_VENDOR_OLICOM) && ( - (((device_id >> 16) & 0xffff) == 0x0001) || - (((device_id >> 16) & 0xffff) == 0x0004) || - (((device_id >> 16) & 0xffff) == 0x0005) || - (((device_id >> 16) & 0xffff) == 0x0007) || - (((device_id >> 16) & 0xffff) == 0x0008))) { - - for (i = 0; i < 64; i++) - PCIConfigHeader[i] = pci_cfgread(config_id, i, /* bytes */ 1); - - rc = TRlldPCIConfig(&LldDriver, &config, PCIConfigHeader); - - if (rc == TRLLD_PCICONFIG_FAIL) { - printf("oltr: TRlldPciConfig failed!\n"); - return(NULL); - } - if (rc == TRLLD_PCICONFIG_VERSION) { - printf("oltr: wrong LLD version.\n"); - return(NULL); - } - return(AdapterName[config.type]); - } - - return(NULL); -} - static void -oltr_pci_attach(pcici_t config_id, int unit) -{ - int i, s, rc = 0, scratch_size; - int media = IFM_TOKEN|IFM_TOK_UTP16; - u_long command; - char PCIConfigHeader[64]; - struct oltr_softc *sc; - struct ifnet *ifp; /* = &sc->arpcom.ac_if; */ - - s = splimp(); - - sc = malloc(sizeof(struct oltr_softc), M_DEVBUF, M_NOWAIT | M_ZERO); - if (sc == NULL) { - printf("oltr%d: no memory for softc struct!\n", unit); - goto config_failed; - } - sc->unit = unit; - sc->state = OL_UNKNOWN; - ifp = &sc->arpcom.ac_if; - - for (i = 0; i < sizeof(PCIConfigHeader); i++) - PCIConfigHeader[i] = pci_cfgread(config_id, i, 1); - - switch(TRlldPCIConfig(&LldDriver, &sc->config, PCIConfigHeader)) { - case TRLLD_PCICONFIG_OK: - break; - case TRLLD_PCICONFIG_SET_COMMAND: - printf("oltr%d: enabling bus master mode\n", unit); - command = pci_conf_read(config_id, PCIR_COMMAND); - pci_conf_write(config_id, PCIR_COMMAND, (command | PCIM_CMD_BUSMASTEREN)); - command = pci_conf_read(config_id, PCIR_COMMAND); - if (!(command & PCIM_CMD_BUSMASTEREN)) { - printf("oltr%d: failed to enable bus master mode\n", unit); - goto config_failed; - } - break; - case TRLLD_PCICONFIG_FAIL: - printf("oltr%d: TRlldPciConfig failed!\n", unit); - goto config_failed; - break; - case TRLLD_PCICONFIG_VERSION: - printf("oltr%d: wrong LLD version\n", unit); - goto config_failed; - break; - } - printf("oltr%d: MAC address %6D\n", unit, sc->config.macaddress, ":"); - - scratch_size = TRlldAdapterSize(); - if (bootverbose) - printf("oltr%d: adapter memory block size %d bytes\n", unit, scratch_size); - sc->TRlldAdapter = (TRlldAdapter_t)malloc(scratch_size, M_DEVBUF, M_NOWAIT); - if (sc->TRlldAdapter == NULL) { - printf("oltr%d: couldn't allocate scratch buffer (%d bytes)\n",unit, scratch_size); - goto config_failed; - } - - /* - * Allocate RX/TX Pools - */ - for (i = 0; i < RING_BUFFER_LEN; i++) { - sc->rx_ring[i].index = i; - sc->rx_ring[i].data = (char *)malloc(RX_BUFFER_LEN, M_DEVBUF, M_NOWAIT); - sc->rx_ring[i].address = vtophys(sc->rx_ring[i].data); - sc->tx_ring[i].index = i; - sc->tx_ring[i].data = (char *)malloc(TX_BUFFER_LEN, M_DEVBUF, M_NOWAIT); - sc->tx_ring[i].address = vtophys(sc->tx_ring[i].data); - if ((!sc->rx_ring[i].data) || (!sc->tx_ring[i].data)) { - printf("oltr%d: unable to allocate ring buffers\n", unit); - while (i > 0) { - if (sc->rx_ring[i].data) - free(sc->rx_ring[i].data, M_DEVBUF); - if (sc->tx_ring[i].data) - free(sc->tx_ring[i].data, M_DEVBUF); - i--; - } - goto config_failed; - } - } - - /* - * Allocate interrupt and DMA channel - */ - if (!pci_map_int(config_id, oltr_intr, sc, &net_imask)) { - printf("oltr%d: couldn't setup interrupt\n", unit); - goto config_failed; - } - - /* - * Do the ifnet initialization - */ - ifp->if_softc = sc; - ifp->if_unit = unit; - ifp->if_name = "oltr"; - ifp->if_output = iso88025_output; - ifp->if_init = oltr_init; - ifp->if_start = oltr_start; - ifp->if_ioctl = oltr_ioctl; - ifp->if_flags = IFF_BROADCAST; - bcopy(sc->config.macaddress, sc->arpcom.ac_enaddr, sizeof(sc->config.macaddress)); - - /* - * Do ifmedia setup. - */ - ifmedia_init(&sc->ifmedia, 0, oltr_ifmedia_upd, oltr_ifmedia_sts); - rc = TRlldSetSpeed(sc->TRlldAdapter, TRLLD_SPEED_16MBPS); - switch(sc->config.type) { - case TRLLD_ADAPTER_PCI7: /* OC-3540 */ - ifmedia_add(&sc->ifmedia, IFM_TOKEN|IFM_TOK_UTP100, 0, NULL); - /* FALL THROUGH */ - case TRLLD_ADAPTER_PCI4: /* OC-3139 */ - case TRLLD_ADAPTER_PCI5: /* OC-3140 */ - case TRLLD_ADAPTER_PCI6: /* OC-3141 */ - ifmedia_add(&sc->ifmedia, IFM_TOKEN|IFM_AUTO, 0, NULL); - media = IFM_TOKEN|IFM_AUTO; - rc = TRlldSetSpeed(sc->TRlldAdapter, 0); - /* FALL THROUGH */ - default: - ifmedia_add(&sc->ifmedia, IFM_TOKEN|IFM_TOK_UTP4, 0, NULL); - ifmedia_add(&sc->ifmedia, IFM_TOKEN|IFM_TOK_UTP16, 0, NULL); - break; - } - sc->ifmedia.ifm_media = media; - ifmedia_set(&sc->ifmedia, media); - - /* - * Attach the interface - */ - if_attach(ifp); - ifp->if_snd.ifq_maxlen = IFQ_MAXLEN; - iso88025_ifattach(ifp); - - splx(s); - return; - -config_failed: - (void)splx(s); - - return; -} - -#endif - -static void oltr_intr(void *xsc) { struct oltr_softc *sc = (struct oltr_softc *)xsc; @@ -761,9 +560,7 @@ sc->tx_head = RING_BUFFER((sc->tx_head + sc->frame_ring[frame].FragmentCount)); sc->tx_frame++; -#if (NBPFILTER > 0) || (__FreeBSD_version > 400000) BPF_MTAP(ifp, m0); -#endif /*ifp->if_opackets++;*/ bad: ==== //depot/projects/power/sys/i386/i386/vm_machdep.c#7 (text+ko) ==== @@ -41,10 +41,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.233 2004/03/22 00:28:38 wpaul Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.234 2004/03/29 19:38:05 peter Exp $"); #include "opt_isa.h" -#include "opt_kstack_pages.h" #include "opt_npx.h" #ifdef PC98 #include "opt_pc98.h" ==== //depot/projects/power/sys/kern/uipc_domain.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_domain.c,v 1.34 2003/09/02 20:59:23 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_domain.c,v 1.35 2004/03/29 17:00:05 rwatson Exp $"); #include #include @@ -134,8 +134,13 @@ if (max_linkhdr < 16) /* XXX */ max_linkhdr = 16; - callout_init(&pffast_callout, 0); - callout_init(&pfslow_callout, 0); + if (debug_mpsafenet) { + callout_init(&pffast_callout, CALLOUT_MPSAFE); + callout_init(&pfslow_callout, CALLOUT_MPSAFE); + } else { + callout_init(&pffast_callout, 0); + callout_init(&pfslow_callout, 0); + } callout_reset(&pffast_callout, 1, pffasttimo, NULL); callout_reset(&pfslow_callout, 1, pfslowtimo, NULL); @@ -236,6 +241,8 @@ register struct domain *dp; register struct protosw *pr; + NET_ASSERT_GIANT(); + for (dp = domains; dp; dp = dp->dom_next) for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) if (pr->pr_slowtimo) @@ -250,6 +257,8 @@ register struct domain *dp; register struct protosw *pr; + NET_ASSERT_GIANT(); + for (dp = domains; dp; dp = dp->dom_next) for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) if (pr->pr_fasttimo) ==== //depot/projects/power/sys/kern/uipc_socket.c#6 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.165 2004/03/01 03:14:21 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.167 2004/03/29 18:06:15 rwatson Exp $"); #include "opt_inet.h" #include "opt_mac.h" @@ -283,14 +283,14 @@ sofree(so) struct socket *so; { - struct socket *head = so->so_head; int s; KASSERT(so->so_count == 0, ("socket %p so_count not 0", so)); if (so->so_pcb || (so->so_state & SS_NOFDREF) == 0) return; - if (head != NULL) { + if (so->so_head != NULL) { + struct socket *head = so->so_head; if (so->so_state & SS_INCOMP) { TAILQ_REMOVE(&head->so_incomp, so, so_list); head->so_incqlen--; @@ -1845,18 +1845,20 @@ filt_soread(struct knote *kn, long hint) { struct socket *so = kn->kn_fp->f_data; + int result; kn->kn_data = so->so_rcv.sb_cc - so->so_rcv.sb_ctl; if (so->so_state & SS_CANTRCVMORE) { kn->kn_flags |= EV_EOF; kn->kn_fflags = so->so_error; - return (1); - } - if (so->so_error) /* temporary udp error */ - return (1); - if (kn->kn_sfflags & NOTE_LOWAT) - return (kn->kn_data >= kn->kn_sdata); - return (so->so_rcv.sb_cc >= so->so_rcv.sb_lowat); + result = 1; + } else if (so->so_error) /* temporary udp error */ + result = 1; + else if (kn->kn_sfflags & NOTE_LOWAT) + result = (kn->kn_data >= kn->kn_sdata); + else + result = (so->so_rcv.sb_cc >= so->so_rcv.sb_lowat); + return (result); } static void @@ -1876,21 +1878,23 @@ filt_sowrite(struct knote *kn, long hint) { struct socket *so = kn->kn_fp->f_data; + int result; kn->kn_data = sbspace(&so->so_snd); if (so->so_state & SS_CANTSENDMORE) { kn->kn_flags |= EV_EOF; kn->kn_fflags = so->so_error; - return (1); - } - if (so->so_error) /* temporary udp error */ - return (1); - if (((so->so_state & SS_ISCONNECTED) == 0) && + result = 1; + } else if (so->so_error) /* temporary udp error */ + result = 1; + else if (((so->so_state & SS_ISCONNECTED) == 0) && (so->so_proto->pr_flags & PR_CONNREQUIRED)) - return (0); - if (kn->kn_sfflags & NOTE_LOWAT) - return (kn->kn_data >= kn->kn_sdata); - return (kn->kn_data >= so->so_snd.sb_lowat); + result = 0; + else if (kn->kn_sfflags & NOTE_LOWAT) + result = (kn->kn_data >= kn->kn_sdata); + else + result = (kn->kn_data >= so->so_snd.sb_lowat); + return (result); } /*ARGSUSED*/ ==== //depot/projects/power/sys/net/if_tun.c#7 (text+ko) ==== @@ -13,7 +13,7 @@ * UCL. This driver is based much more on read/write/poll mode of * operation though. * - * $FreeBSD: src/sys/net/if_tun.c,v 1.137 2004/03/17 01:12:09 rwatson Exp $ + * $FreeBSD: src/sys/net/if_tun.c,v 1.138 2004/03/29 18:42:51 rwatson Exp $ */ #include "opt_atalk.h" @@ -87,6 +87,12 @@ #define TUNDEBUG if (tundebug) if_printf #define TUNNAME "tun" +/* + * All mutable global variables in if_tun are locked using tunmtx, with + * the exception of tundebug, which is used unlocked, and tunclones, + * which is static after setup. + */ +static struct mtx tunmtx; static MALLOC_DEFINE(M_TUN, TUNNAME, "Tunnel Interface"); static int tundebug = 0; static struct clonedevs *tunclones; @@ -147,15 +153,30 @@ } } +static void +tun_destroy(struct tun_softc *tp) +{ + dev_t dev; + + KASSERT((tp->tun_flags & TUN_OPEN) == 0, + ("tununits is out of sync - unit %d", tp->tun_if.if_dunit)); + + dev = tp->tun_dev; + bpfdetach(&tp->tun_if); + if_detach(&tp->tun_if); + destroy_dev(dev); + free(tp, M_TUN); +} + static int tunmodevent(module_t mod, int type, void *data) { static eventhandler_tag tag; struct tun_softc *tp; - dev_t dev; switch (type) { case MOD_LOAD: + mtx_init(&tunmtx, "tunmtx", NULL, MTX_DEF); clone_setup(&tunclones); tag = EVENTHANDLER_REGISTER(dev_clone, tunclone, 0, 1000); if (tag == NULL) @@ -164,19 +185,16 @@ case MOD_UNLOAD: EVENTHANDLER_DEREGISTER(dev_clone, tag); - while (!TAILQ_EMPTY(&tunhead)) { - tp = TAILQ_FIRST(&tunhead); - KASSERT((tp->tun_flags & TUN_OPEN) == 0, - ("tununits is out of sync - unit %d", - tp->tun_if.if_dunit)); + mtx_lock(&tunmtx); + while ((tp = TAILQ_FIRST(&tunhead)) != NULL) { TAILQ_REMOVE(&tunhead, tp, tun_list); - dev = tp->tun_dev; - bpfdetach(&tp->tun_if); - if_detach(&tp->tun_if); - destroy_dev(dev); - free(tp, M_TUN); + mtx_unlock(&tunmtx); + tun_destroy(tp); + mtx_lock(&tunmtx); } + mtx_unlock(&tunmtx); clone_cleanup(&tunclones); + mtx_destroy(&tunmtx); break; } return 0; @@ -215,7 +233,9 @@ MALLOC(sc, struct tun_softc *, sizeof(*sc), M_TUN, M_WAITOK | M_ZERO); sc->tun_flags = TUN_INITED; sc->tun_dev = dev; + mtx_lock(&tunmtx); TAILQ_INSERT_TAIL(&tunhead, sc, tun_list); + mtx_unlock(&tunmtx); ifp = &sc->tun_if; if_initname(ifp, TUNNAME, dev2unit(dev)); ==== //depot/projects/power/sys/pc98/pc98/clock.c#5 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)clock.c 7.2 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/pc98/pc98/clock.c,v 1.135 2004/03/15 10:39:01 imp Exp $ + * $FreeBSD: src/sys/pc98/pc98/clock.c,v 1.136 2004/03/29 12:51:46 nyan Exp $ */ /* @@ -593,7 +593,7 @@ else tot_count += prev_count - count; prev_count = count; - if ((sec == start_sec + 1200) || + if ((sec == start_sec + 1200) || /* 1200 = 307.2KHz >> 8 */ (sec < start_sec && (u_int)sec + 0x10000 == (u_int)start_sec + 1200)) break; ==== //depot/projects/power/sys/powerpc/powerpc/vm_machdep.c#5 (text+ko) ==== @@ -38,7 +38,7 @@ * * from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91 * Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$ - * $FreeBSD: src/sys/powerpc/powerpc/vm_machdep.c,v 1.98 2004/03/16 19:04:28 alc Exp $ + * $FreeBSD: src/sys/powerpc/powerpc/vm_machdep.c,v 1.99 2004/03/29 19:38:05 peter Exp $ */ /* * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. @@ -67,8 +67,6 @@ * rights to redistribute these changes. */ -#include "opt_kstack_pages.h" - #include #include #include @@ -139,8 +137,8 @@ p1 = td1->td_proc; - pcb = (struct pcb *)((td2->td_kstack + KSTACK_PAGES * PAGE_SIZE - - sizeof(struct pcb)) & ~0x2fU); + pcb = (struct pcb *)((td2->td_kstack + + td2->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb)) & ~0x2fU); td2->td_pcb = pcb; /* Copy the pcb */ @@ -357,7 +355,7 @@ { struct pcb *pcb; - pcb = (struct pcb *)((td->td_kstack + KSTACK_PAGES * PAGE_SIZE - + pcb = (struct pcb *)((td->td_kstack + td2->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb)) & ~0x2fU); td->td_pcb = pcb; td->td_frame = (struct trapframe *)pcb - 1; ==== //depot/projects/power/sys/sys/tree.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: tree.h,v 1.7 2004/01/24 21:59:47 dbj Exp $ */ +/* $NetBSD: tree.h,v 1.8 2004/03/28 19:38:30 provos Exp $ */ /* $OpenBSD: tree.h,v 1.7 2002/10/17 21:51:54 art Exp $ */ /* * Copyright 2002 Niels Provos @@ -380,7 +380,7 @@ struct type *name##_RB_REMOVE(struct name *, struct type *); \ struct type *name##_RB_INSERT(struct name *, struct type *); \ struct type *name##_RB_FIND(struct name *, struct type *); \ -struct type *name##_RB_NEXT(struct name *, struct type *); \ +struct type *name##_RB_NEXT(struct type *); \ struct type *name##_RB_MINMAX(struct name *, int); \ \ @@ -628,7 +628,7 @@ \ /* ARGSUSED */ \ struct type * \ -name##_RB_NEXT(struct name *head, struct type *elm) \ +name##_RB_NEXT(struct type *elm) \ { \ if (RB_RIGHT(elm, field)) { \ elm = RB_RIGHT(elm, field); \ @@ -669,13 +669,13 @@ #define RB_INSERT(name, x, y) name##_RB_INSERT(x, y) #define RB_REMOVE(name, x, y) name##_RB_REMOVE(x, y) #define RB_FIND(name, x, y) name##_RB_FIND(x, y) -#define RB_NEXT(name, x, y) name##_RB_NEXT(x, y) +#define RB_NEXT(name, x, y) name##_RB_NEXT(y) #define RB_MIN(name, x) name##_RB_MINMAX(x, RB_NEGINF) #define RB_MAX(name, x) name##_RB_MINMAX(x, RB_INF) #define RB_FOREACH(x, name, head) \ for ((x) = RB_MIN(name, head); \ (x) != NULL; \ - (x) = name##_RB_NEXT(head, x)) + (x) = name##_RB_NEXT(x)) #endif /* _SYS_TREE_H_ */ From owner-p4-projects@FreeBSD.ORG Mon Mar 29 15:30:04 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2468116A4D0; Mon, 29 Mar 2004 15:30:04 -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 D62A916A4CE for ; Mon, 29 Mar 2004 15:30:03 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BA0D543D2D for ; Mon, 29 Mar 2004 15:30:03 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2TNU3Ge098633 for ; Mon, 29 Mar 2004 15:30:03 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2TNU3GD098630 for perforce@freebsd.org; Mon, 29 Mar 2004 15:30:03 -0800 (PST) (envelope-from peter@freebsd.org) Date: Mon, 29 Mar 2004 15:30:03 -0800 (PST) Message-Id: <200403292330.i2TNU3GD098630@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 49923 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: Mon, 29 Mar 2004 23:30:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=49923 Change 49923 by peter@peter_daintree on 2004/03/29 15:29:56 checkpoint. actually load the progbits/etc sections. Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#6 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#6 (text+ko) ==== @@ -56,26 +56,32 @@ #include "linker_if.h" typedef struct { - Elf_Addr base_vaddr; - Elf_Off base_offset; + void *addr; + Elf_Off fileoff; Elf_Off filesz; + int align; int flags; } Elf_progent; typedef struct { - Elf_Addr base_vaddr; + void *addr; Elf_Off filesz; + int align; int flags; } Elf_nobitent; typedef struct { const Elf_Rel *rel; int relsize; + Elf_Off fileoff; + Elf_Off filesz; } Elf_relent; typedef struct { const Elf_Rela *rela; int relasize; + Elf_Off fileoff; + Elf_Off filesz; } Elf_relaent; @@ -219,6 +225,8 @@ int symstrindex; int symcnt; int strcnt; + int nsym; + int pb, nb, rl, ra; GIANT_REQUIRED; @@ -390,6 +398,7 @@ ef->reltab = malloc(ef->nreltab * sizeof(*ef->reltab), M_LINKER, M_WAITOK); if (ef->nrelatab != 0) ef->relatab = malloc(ef->nrelatab * sizeof(*ef->relatab), M_LINKER, M_WAITOK); + /* XXX check for failures */ ef->ddbsymcnt = shdr[symtabindex].sh_size / sizeof(Elf_Sym); ef->ddbsymbase = malloc(shdr[symtabindex].sh_size, M_LINKER, M_WAITOK); @@ -402,11 +411,47 @@ goto out; } + pb = 0; + nb = 0; + rl = 0; + ra = 0; for (i = 0; i < hdr->e_shnum; i++) { switch (shdr[i].sh_type) { - + case SHT_PROGBITS: + ef->progtab[pb].addr = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); + ef->progtab[pb].fileoff = shdr[i].sh_offset; + ef->progtab[pb].size = shdr[i].sh_size; + ef->progtab[pb].align = shdr[i].sh_addralign; + pb++; + break; + case SHT_NOBITS: + ef->nobittab[nb].addr = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK | M_ZERO); + ef->nobittab[nb].size = shdr[i].sh_size; + ef->nobittab[nb].align = shdr[i].sh_addralign; + nb++; + break; + case SHT_REL: + ef->reltab[rl].addr = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); + ef->reltab[rl].fileoff = shdr[i].sh_offset; + ef->reltab[rl].size = shdr[i].sh_size; + rl++; + break; + case SHT_RELA: + ef->relatab[ra].addr = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); + ef->relatab[ra].fileoff = shdr[i].sh_offset; + ef->relatab[ra].size = shdr[i].sh_size; + ra++; + break; } } + if (pb != ef->nprogtab) + panic("lots progbits"); + if (nb != ef->nnobittab) + panic("lots nobits"); + if (rl != ef->nreltab) + panic("lots rel"); + if (ra != ef->nrelatab) + panic("lots rela"); /* XXX *************** STEP 3 GOES HERE ************* XXX */ @@ -423,6 +468,36 @@ &resid, td); if (error) goto out; + for (i = 0; i < ef->nprogtab; i++) { + error = vn_rdwr(UIO_READ, nd.ni_vp, + ef->progtab[pb].addr, + ef->progtab[pb].size, + ef->progtab[pb].fileoff + UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, + &resid, td); + if (error) + goto out; + } + for (i = 0; i < ef->nreltab; i++) { + error = vn_rdwr(UIO_READ, nd.ni_vp, + ef->reltab[pb].addr, + ef->reltab[pb].size, + ef->reltab[pb].fileoff + UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, + &resid, td); + if (error) + goto out; + } + for (i = 0; i < ef->nrelatab; i++) { + error = vn_rdwr(UIO_READ, nd.ni_vp, + ef->relatab[pb].addr, + ef->relatab[pb].size, + ef->relatab[pb].fileoff + UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, + &resid, td); + if (error) + goto out; + } /* XXX *************** STEP 4 GOES HERE ************* XXX */ From owner-p4-projects@FreeBSD.ORG Mon Mar 29 15:31:06 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2807D16A4D0; Mon, 29 Mar 2004 15:31:06 -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 0230116A4CE for ; Mon, 29 Mar 2004 15:31:06 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E97E543D1D for ; Mon, 29 Mar 2004 15:31:05 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2TNV5Ge098714 for ; Mon, 29 Mar 2004 15:31:05 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2TNV5L8098711 for perforce@freebsd.org; Mon, 29 Mar 2004 15:31:05 -0800 (PST) (envelope-from peter@freebsd.org) Date: Mon, 29 Mar 2004 15:31:05 -0800 (PST) Message-Id: <200403292331.i2TNV5L8098711@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 49924 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: Mon, 29 Mar 2004 23:31:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=49924 Change 49924 by peter@peter_daintree on 2004/03/29 15:31:03 IFC @49922 Affected files ... .. //depot/projects/hammer/etc/rc.d/ntpdate#7 integrate .. //depot/projects/hammer/lib/libc/locale/Makefile.inc#18 integrate .. //depot/projects/hammer/libexec/rtld-elf/rtld.c#19 integrate .. //depot/projects/hammer/share/man/man9/copy.9#3 integrate .. //depot/projects/hammer/sys/amd64/amd64/vm_machdep.c#35 integrate .. //depot/projects/hammer/sys/conf/NOTES#38 integrate .. //depot/projects/hammer/sys/contrib/dev/oltr/if_oltr.c#8 integrate .. //depot/projects/hammer/sys/fs/umapfs/umap_vnops.c#5 integrate .. //depot/projects/hammer/sys/i386/i386/vm_machdep.c#26 integrate .. //depot/projects/hammer/sys/kern/kern_sig.c#36 integrate .. //depot/projects/hammer/sys/kern/vfs_default.c#18 integrate .. //depot/projects/hammer/sys/kern/vfs_subr.c#35 integrate .. //depot/projects/hammer/sys/libkern/index.c#3 integrate .. //depot/projects/hammer/sys/libkern/rindex.c#3 integrate .. //depot/projects/hammer/sys/modules/Makefile#40 integrate .. //depot/projects/hammer/sys/net/if_tun.c#15 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/vm_machdep.c#14 integrate .. //depot/projects/hammer/sys/sys/vnode.h#22 integrate Differences ... ==== //depot/projects/hammer/etc/rc.d/ntpdate#7 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # $NetBSD: ntpdate,v 1.8 2002/03/22 04:16:39 lukem Exp $ -# $FreeBSD: src/etc/rc.d/ntpdate,v 1.8 2004/03/22 16:35:35 des Exp $ +# $FreeBSD: src/etc/rc.d/ntpdate,v 1.9 2004/03/29 20:00:54 des Exp $ # # PROVIDE: ntpdate @@ -17,13 +17,13 @@ ntpdate_start() { - if [ -z "$ntpdate_hosts" ]; then + if [ -z "$ntpdate_hosts" -a -f /etc/ntp.conf ]; then ntpdate_hosts=`awk ' /^server[ \t]*127.127/ {next} /^(server|peer)/ {print $2} ' interp, obj_rtld.path) != 0) { free(obj_rtld.path); obj_rtld.path = xstrdup(obj_main->interp); + __progname = obj_rtld.path; } digest_dynamic(obj_main, 0); ==== //depot/projects/hammer/share/man/man9/copy.9#3 (text+ko) ==== @@ -32,7 +32,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/copy.9,v 1.12 2003/10/23 02:22:07 hmp Exp $ +.\" $FreeBSD: src/share/man/man9/copy.9,v 1.14 2004/03/29 19:42:21 hmp Exp $ .\" .Dd January 7, 1996 .Dt COPY 9 @@ -72,38 +72,50 @@ .Bl -tag -width "copyoutstr()" .It Fn copyin Copies -.Pa len +.Fa len bytes of data from the user-space address -.Pa uaddr +.Fa uaddr to the kernel-space address -.Pa kaddr . +.Fa kaddr . .It Fn copyout Copies -.Pa len +.Fa len bytes of data from the kernel-space address -.Pa kaddr +.Fa kaddr to the user-space address -.Pa uaddr . +.Fa uaddr . .It Fn copystr Copies a NUL-terminated string, at most -.Pa len +.Fa len bytes long, from kernel-space address -.Pa kfaddr +.Fa kfaddr to kernel-space address -.Pa kdaddr . +.Fa kdaddr . The number of bytes actually copied, including the terminating NUL, is returned in -.Pa *done . +.Fa *done +.Po +if +.Fa done +is +.No non- Ns Dv NULL +.Pc . .It Fn copyinstr Copies a NUL-terminated string, at most -.Pa len +.Fa len bytes long, from user-space address -.Pa uaddr +.Fa uaddr to kernel-space address -.Pa kaddr . +.Fa kaddr . The number of bytes actually copied, including the terminating NUL, is returned in -.Pa *done . +.Fa *done +.Po +if +.Fa done +is +.No non- Ns Dv NULL Ns +.Pc . .\" .It Fn copyoutstr .\" Copies a NUL-terminated string, at most .\" bytes long, from kernel-space address @@ -130,7 +142,7 @@ functions return .Er ENAMETOOLONG if the string is longer than -.Pa len +.Fa len bytes. .Sh SEE ALSO .Xr fetch 9 , ==== //depot/projects/hammer/sys/amd64/amd64/vm_machdep.c#35 (text+ko) ==== @@ -41,10 +41,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.230 2004/03/25 03:39:38 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.231 2004/03/29 19:38:05 peter Exp $"); #include "opt_isa.h" -#include "opt_kstack_pages.h" #include "opt_cpu.h" #include ==== //depot/projects/hammer/sys/conf/NOTES#38 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1207 2004/03/18 12:22:31 brueffer Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1208 2004/03/29 22:41:20 peter Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -701,7 +701,8 @@ options PSEUDOFS #Pseudo-filesystem framework options SMBFS #SMB/CIFS filesystem options UDF #Universal Disk Format -options UMAPFS #UID map filesystem +#umapfs is seriously (functionally) broken at this point. +#options UMAPFS #UID map filesystem options UNIONFS #Union filesystem # The xFS_ROOT options REQUIRE the associated ``options xFS'' options NFS_ROOT #NFS usable as root device ==== //depot/projects/hammer/sys/contrib/dev/oltr/if_oltr.c#8 (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/contrib/dev/oltr/if_oltr.c,v 1.32 2004/03/17 17:50:23 njl Exp $ + * $FreeBSD: src/sys/contrib/dev/oltr/if_oltr.c,v 1.33 2004/03/29 21:10:05 imp Exp $ */ #include @@ -50,11 +50,6 @@ #include #include -#if (__FreeBSD_version < 400000) -#include -#endif - -#if (NBPFILTER > 0) || (__FreeBSD_version > 400000) #include #ifndef BPF_MTAP @@ -63,7 +58,6 @@ bpf_mtap((_ifp), (_m)); \ } while (0) #endif -#endif #include /* for vtophys */ #include /* for vtophys */ @@ -238,8 +232,6 @@ static int oltr_ifmedia_upd __P((struct ifnet *)); static void oltr_ifmedia_sts __P((struct ifnet *, struct ifmediareq *)); -#if __FreeBSD_version > 400000 - static int oltr_pci_probe __P((device_t)); static int oltr_pci_attach __P((device_t)); static int oltr_pci_detach __P((device_t)); @@ -488,200 +480,7 @@ return; } -#else - -static const char *oltr_pci_probe __P((pcici_t, pcidi_t)); -static void oltr_pci_attach __P((pcici_t, int)); - -static unsigned long oltr_count = 0; - -static struct pci_device oltr_device = { - "oltr", - oltr_pci_probe, - oltr_pci_attach, - &oltr_count, - NULL -}; - -DATA_SET(pcidevice_set, oltr_device); - -static const char * -oltr_pci_probe(pcici_t config_id, pcidi_t device_id) -{ - int i, rc; - char PCIConfigHeader[64]; - TRlldAdapterConfig_t config; - - if (((device_id & 0xffff) == PCI_VENDOR_OLICOM) && ( - (((device_id >> 16) & 0xffff) == 0x0001) || - (((device_id >> 16) & 0xffff) == 0x0004) || - (((device_id >> 16) & 0xffff) == 0x0005) || - (((device_id >> 16) & 0xffff) == 0x0007) || - (((device_id >> 16) & 0xffff) == 0x0008))) { - - for (i = 0; i < 64; i++) - PCIConfigHeader[i] = pci_cfgread(config_id, i, /* bytes */ 1); - - rc = TRlldPCIConfig(&LldDriver, &config, PCIConfigHeader); - - if (rc == TRLLD_PCICONFIG_FAIL) { - printf("oltr: TRlldPciConfig failed!\n"); - return(NULL); - } - if (rc == TRLLD_PCICONFIG_VERSION) { - printf("oltr: wrong LLD version.\n"); - return(NULL); - } - return(AdapterName[config.type]); - } - - return(NULL); -} - static void -oltr_pci_attach(pcici_t config_id, int unit) -{ - int i, s, rc = 0, scratch_size; - int media = IFM_TOKEN|IFM_TOK_UTP16; - u_long command; - char PCIConfigHeader[64]; - struct oltr_softc *sc; - struct ifnet *ifp; /* = &sc->arpcom.ac_if; */ - - s = splimp(); - - sc = malloc(sizeof(struct oltr_softc), M_DEVBUF, M_NOWAIT | M_ZERO); - if (sc == NULL) { - printf("oltr%d: no memory for softc struct!\n", unit); - goto config_failed; - } - sc->unit = unit; - sc->state = OL_UNKNOWN; - ifp = &sc->arpcom.ac_if; - - for (i = 0; i < sizeof(PCIConfigHeader); i++) - PCIConfigHeader[i] = pci_cfgread(config_id, i, 1); - - switch(TRlldPCIConfig(&LldDriver, &sc->config, PCIConfigHeader)) { - case TRLLD_PCICONFIG_OK: - break; - case TRLLD_PCICONFIG_SET_COMMAND: - printf("oltr%d: enabling bus master mode\n", unit); - command = pci_conf_read(config_id, PCIR_COMMAND); - pci_conf_write(config_id, PCIR_COMMAND, (command | PCIM_CMD_BUSMASTEREN)); - command = pci_conf_read(config_id, PCIR_COMMAND); - if (!(command & PCIM_CMD_BUSMASTEREN)) { - printf("oltr%d: failed to enable bus master mode\n", unit); - goto config_failed; - } - break; - case TRLLD_PCICONFIG_FAIL: - printf("oltr%d: TRlldPciConfig failed!\n", unit); - goto config_failed; - break; - case TRLLD_PCICONFIG_VERSION: - printf("oltr%d: wrong LLD version\n", unit); - goto config_failed; - break; - } - printf("oltr%d: MAC address %6D\n", unit, sc->config.macaddress, ":"); - - scratch_size = TRlldAdapterSize(); - if (bootverbose) - printf("oltr%d: adapter memory block size %d bytes\n", unit, scratch_size); - sc->TRlldAdapter = (TRlldAdapter_t)malloc(scratch_size, M_DEVBUF, M_NOWAIT); - if (sc->TRlldAdapter == NULL) { - printf("oltr%d: couldn't allocate scratch buffer (%d bytes)\n",unit, scratch_size); - goto config_failed; - } - - /* - * Allocate RX/TX Pools - */ - for (i = 0; i < RING_BUFFER_LEN; i++) { - sc->rx_ring[i].index = i; - sc->rx_ring[i].data = (char *)malloc(RX_BUFFER_LEN, M_DEVBUF, M_NOWAIT); - sc->rx_ring[i].address = vtophys(sc->rx_ring[i].data); - sc->tx_ring[i].index = i; - sc->tx_ring[i].data = (char *)malloc(TX_BUFFER_LEN, M_DEVBUF, M_NOWAIT); - sc->tx_ring[i].address = vtophys(sc->tx_ring[i].data); - if ((!sc->rx_ring[i].data) || (!sc->tx_ring[i].data)) { - printf("oltr%d: unable to allocate ring buffers\n", unit); - while (i > 0) { - if (sc->rx_ring[i].data) - free(sc->rx_ring[i].data, M_DEVBUF); - if (sc->tx_ring[i].data) - free(sc->tx_ring[i].data, M_DEVBUF); - i--; - } - goto config_failed; - } - } - - /* - * Allocate interrupt and DMA channel - */ - if (!pci_map_int(config_id, oltr_intr, sc, &net_imask)) { - printf("oltr%d: couldn't setup interrupt\n", unit); - goto config_failed; - } - - /* - * Do the ifnet initialization - */ - ifp->if_softc = sc; - ifp->if_unit = unit; - ifp->if_name = "oltr"; - ifp->if_output = iso88025_output; - ifp->if_init = oltr_init; - ifp->if_start = oltr_start; - ifp->if_ioctl = oltr_ioctl; - ifp->if_flags = IFF_BROADCAST; - bcopy(sc->config.macaddress, sc->arpcom.ac_enaddr, sizeof(sc->config.macaddress)); - - /* - * Do ifmedia setup. - */ - ifmedia_init(&sc->ifmedia, 0, oltr_ifmedia_upd, oltr_ifmedia_sts); - rc = TRlldSetSpeed(sc->TRlldAdapter, TRLLD_SPEED_16MBPS); - switch(sc->config.type) { - case TRLLD_ADAPTER_PCI7: /* OC-3540 */ - ifmedia_add(&sc->ifmedia, IFM_TOKEN|IFM_TOK_UTP100, 0, NULL); - /* FALL THROUGH */ - case TRLLD_ADAPTER_PCI4: /* OC-3139 */ - case TRLLD_ADAPTER_PCI5: /* OC-3140 */ - case TRLLD_ADAPTER_PCI6: /* OC-3141 */ - ifmedia_add(&sc->ifmedia, IFM_TOKEN|IFM_AUTO, 0, NULL); - media = IFM_TOKEN|IFM_AUTO; - rc = TRlldSetSpeed(sc->TRlldAdapter, 0); - /* FALL THROUGH */ - default: - ifmedia_add(&sc->ifmedia, IFM_TOKEN|IFM_TOK_UTP4, 0, NULL); - ifmedia_add(&sc->ifmedia, IFM_TOKEN|IFM_TOK_UTP16, 0, NULL); - break; - } - sc->ifmedia.ifm_media = media; - ifmedia_set(&sc->ifmedia, media); - - /* - * Attach the interface - */ - if_attach(ifp); - ifp->if_snd.ifq_maxlen = IFQ_MAXLEN; - iso88025_ifattach(ifp); - - splx(s); - return; - -config_failed: - (void)splx(s); - - return; -} - -#endif - -static void oltr_intr(void *xsc) { struct oltr_softc *sc = (struct oltr_softc *)xsc; @@ -761,9 +560,7 @@ sc->tx_head = RING_BUFFER((sc->tx_head + sc->frame_ring[frame].FragmentCount)); sc->tx_frame++; -#if (NBPFILTER > 0) || (__FreeBSD_version > 400000) BPF_MTAP(ifp, m0); -#endif /*ifp->if_opackets++;*/ bad: ==== //depot/projects/hammer/sys/fs/umapfs/umap_vnops.c#5 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)umap_vnops.c 8.6 (Berkeley) 5/22/95 - * $FreeBSD: src/sys/fs/umapfs/umap_vnops.c,v 1.38 2003/03/03 19:15:39 njl Exp $ + * $FreeBSD: src/sys/fs/umapfs/umap_vnops.c,v 1.39 2004/03/29 22:41:20 peter Exp $ */ /* @@ -363,6 +363,15 @@ } */ *ap; { + /* + * vop_nolock no longer exists. I could have pasted the code + * in so that it compiles, but that would be doing our users a + * great disservice. umapfs is about 5 years behind the nullfs + * code that it is derived from. The stub locking here guarantees + * a deadlock the moment a VOP_INACTIVE arrives. There is no point + * pasting the code that makes it compile either, because that just + * makes it Even More Wrong. + */ vop_nolock(ap); if ((ap->a_flags & LK_TYPE_MASK) == LK_DRAIN) return (0); ==== //depot/projects/hammer/sys/i386/i386/vm_machdep.c#26 (text+ko) ==== @@ -41,10 +41,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.233 2004/03/22 00:28:38 wpaul Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.234 2004/03/29 19:38:05 peter Exp $"); #include "opt_isa.h" -#include "opt_kstack_pages.h" #include "opt_npx.h" #ifdef PC98 #include "opt_pc98.h" ==== //depot/projects/hammer/sys/kern/kern_sig.c#36 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.273 2004/03/05 22:39:53 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.274 2004/03/29 22:46:54 peter Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -1875,10 +1875,8 @@ mtx_unlock_spin(&sched_lock); goto out; /* - * XXXKSE What about threads that are waiting on mutexes? - * Shouldn't they abort too? - * No, hopefully mutexes are short lived.. They'll - * eventually hit thread_suspend_check(). + * Mutexes are short lived. Threads waiting on them will + * hit thread_suspend_check() soon. */ } else if (p->p_state == PRS_NORMAL) { if ((p->p_flag & P_TRACED) || (action != SIG_DFL) || ==== //depot/projects/hammer/sys/kern/vfs_default.c#18 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_default.c,v 1.91 2003/11/05 04:30:07 kan Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_default.c,v 1.92 2004/03/29 22:41:20 peter Exp $"); #include #include @@ -369,166 +369,6 @@ } /* - * Stubs to use when there is no locking to be done on the underlying object. - * A minimal shared lock is necessary to ensure that the underlying object - * is not revoked while an operation is in progress. So, an active shared - * count is maintained in an auxillary vnode lock structure. - */ -int -vop_sharedlock(ap) - struct vop_lock_args /* { - struct vnode *a_vp; - int a_flags; - struct thread *a_td; - } */ *ap; -{ - /* - * This code cannot be used until all the non-locking filesystems - * (notably NFS) are converted to properly lock and release nodes. - * Also, certain vnode operations change the locking state within - * the operation (create, mknod, remove, link, rename, mkdir, rmdir, - * and symlink). Ideally these operations should not change the - * lock state, but should be changed to let the caller of the - * function unlock them. Otherwise all intermediate vnode layers - * (such as union, umapfs, etc) must catch these functions to do - * the necessary locking at their layer. Note that the inactive - * and lookup operations also change their lock state, but this - * cannot be avoided, so these two operations will always need - * to be handled in intermediate layers. - */ - struct vnode *vp = ap->a_vp; - int vnflags, flags = ap->a_flags; - - switch (flags & LK_TYPE_MASK) { - case LK_DRAIN: - vnflags = LK_DRAIN; - break; - case LK_EXCLUSIVE: -#ifdef DEBUG_VFS_LOCKS - /* - * Normally, we use shared locks here, but that confuses - * the locking assertions. - */ - vnflags = LK_EXCLUSIVE; - break; -#endif - case LK_SHARED: - vnflags = LK_SHARED; - break; - case LK_UPGRADE: - case LK_EXCLUPGRADE: - case LK_DOWNGRADE: - return (0); - case LK_RELEASE: - default: - panic("vop_sharedlock: bad operation %d", flags & LK_TYPE_MASK); - } - vnflags |= flags & (LK_INTERLOCK | LK_EXTFLG_MASK); -#ifndef DEBUG_LOCKS - return (lockmgr(vp->v_vnlock, vnflags, VI_MTX(vp), ap->a_td)); -#else - return (debuglockmgr(vp->v_vnlock, vnflags, VI_MTX(vp), ap->a_td, - "vop_sharedlock", vp->filename, vp->line)); -#endif -} - -/* - * Stubs to use when there is no locking to be done on the underlying object. - * A minimal shared lock is necessary to ensure that the underlying object - * is not revoked while an operation is in progress. So, an active shared - * count is maintained in an auxillary vnode lock structure. - */ -int -vop_nolock(ap) - struct vop_lock_args /* { - struct vnode *a_vp; - int a_flags; - struct thread *a_td; - } */ *ap; -{ -#ifdef notyet - /* - * This code cannot be used until all the non-locking filesystems - * (notably NFS) are converted to properly lock and release nodes. - * Also, certain vnode operations change the locking state within - * the operation (create, mknod, remove, link, rename, mkdir, rmdir, - * and symlink). Ideally these operations should not change the - * lock state, but should be changed to let the caller of the - * function unlock them. Otherwise all intermediate vnode layers - * (such as union, umapfs, etc) must catch these functions to do - * the necessary locking at their layer. Note that the inactive - * and lookup operations also change their lock state, but this - * cannot be avoided, so these two operations will always need - * to be handled in intermediate layers. - */ - struct vnode *vp = ap->a_vp; - int vnflags, flags = ap->a_flags; - - switch (flags & LK_TYPE_MASK) { - case LK_DRAIN: - vnflags = LK_DRAIN; - break; - case LK_EXCLUSIVE: - case LK_SHARED: - vnflags = LK_SHARED; - break; - case LK_UPGRADE: - case LK_EXCLUPGRADE: - case LK_DOWNGRADE: - return (0); - case LK_RELEASE: - default: - panic("vop_nolock: bad operation %d", flags & LK_TYPE_MASK); - } - vnflags |= flags & (LK_INTERLOCK | LK_EXTFLG_MASK); - return(lockmgr(vp->v_vnlock, vnflags, VI_MTX(vp), ap->a_td)); -#else /* for now */ - /* - * Since we are not using the lock manager, we must clear - * the interlock here. - */ - if (ap->a_flags & LK_INTERLOCK) - VI_UNLOCK(ap->a_vp); - return (0); -#endif -} - -/* - * Do the inverse of vop_nolock, handling the interlock in a compatible way. - */ -int -vop_nounlock(ap) - struct vop_unlock_args /* { - struct vnode *a_vp; - int a_flags; - struct thread *a_td; - } */ *ap; -{ - - /* - * Since we are not using the lock manager, we must clear - * the interlock here. - */ - if (ap->a_flags & LK_INTERLOCK) - VI_UNLOCK(ap->a_vp); - return (0); -} - -/* - * Return whether or not the node is in use. - */ -int -vop_noislocked(ap) - struct vop_islocked_args /* { - struct vnode *a_vp; - struct thread *a_td; - } */ *ap; -{ - - return (0); -} - -/* * Return our mount point, as we will take charge of the writes. */ int ==== //depot/projects/hammer/sys/kern/vfs_subr.c#35 (text+ko) ==== @@ -43,7 +43,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.487 2004/03/11 18:02:35 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.488 2004/03/29 22:45:33 peter Exp $"); #include "opt_ddb.h" #include "opt_mac.h" @@ -532,7 +532,7 @@ struct mount *mp, *nmp; int done; struct proc *p = vnlruproc; - struct thread *td = FIRST_THREAD_IN_PROC(p); /* XXXKSE */ + struct thread *td = FIRST_THREAD_IN_PROC(p); mtx_lock(&Giant); @@ -1487,7 +1487,7 @@ struct vnode *vp; struct mount *mp; long starttime; - struct thread *td = FIRST_THREAD_IN_PROC(updateproc); /* XXXKSE */ + struct thread *td = FIRST_THREAD_IN_PROC(updateproc); mtx_lock(&Giant); @@ -1591,7 +1591,6 @@ * Request the syncer daemon to speed up its work. * We never push it to speed up more than half of its * normal turn time, otherwise it could take over the cpu. - * XXXKSE only one update? */ int speedup_syncer() ==== //depot/projects/hammer/sys/libkern/index.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/libkern/index.c,v 1.7 2003/06/11 05:23:04 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/libkern/index.c,v 1.8 2004/03/29 21:15:41 robert Exp $"); #include #include @@ -51,7 +51,7 @@ for (;; ++u.p) { if (*u.p == ch) return(u.p); - if (!*u.p) + if (*u.p == '\0') return(NULL); } /* NOTREACHED */ ==== //depot/projects/hammer/sys/libkern/rindex.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/libkern/rindex.c,v 1.8 2003/06/11 05:23:04 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/libkern/rindex.c,v 1.9 2004/03/29 21:15:41 robert Exp $"); #include #include @@ -52,7 +52,7 @@ for (save = NULL;; ++u.p) { if (*u.p == ch) save = u.p; - if (!*u.p) + if (*u.p == '\0') return(save); } /* NOTREACHED */ ==== //depot/projects/hammer/sys/modules/Makefile#40 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/modules/Makefile,v 1.374 2004/03/25 17:20:45 rik Exp $ +# $FreeBSD: src/sys/modules/Makefile,v 1.375 2004/03/29 22:41:21 peter Exp $ # pcic -- currently broken and being worked on out of tree. # oldcard -- specialized use for debugging only. @@ -222,7 +222,6 @@ uhid \ ukbd \ ulpt \ - umapfs \ umass \ umct \ umodem \ ==== //depot/projects/hammer/sys/net/if_tun.c#15 (text+ko) ==== @@ -13,7 +13,7 @@ * UCL. This driver is based much more on read/write/poll mode of * operation though. * - * $FreeBSD: src/sys/net/if_tun.c,v 1.138 2004/03/29 18:42:51 rwatson Exp $ + * $FreeBSD: src/sys/net/if_tun.c,v 1.139 2004/03/29 22:16:39 rwatson Exp $ */ #include "opt_atalk.h" @@ -55,6 +55,11 @@ #include +/* + * tun_list is protected by global tunmtx. Other mutable fields are + * protected by tun->tun_mtx, or by their owning subsystem. tun_dev is + * static for the duration of a tunnel interface. + */ struct tun_softc { TAILQ_ENTRY(tun_softc) tun_list; dev_t tun_dev; @@ -82,6 +87,7 @@ struct ifnet tun_if; /* the interface */ struct sigio *tun_sigio; /* information for async I/O */ struct selinfo tun_rsel; /* read select */ + struct mtx tun_mtx; /* protect mutable softc fields */ }; #define TUNDEBUG if (tundebug) if_printf @@ -158,6 +164,7 @@ { dev_t dev; + /* Unlocked read. */ KASSERT((tp->tun_flags & TUN_OPEN) == 0, ("tununits is out of sync - unit %d", tp->tun_if.if_dunit)); @@ -165,6 +172,7 @@ bpfdetach(&tp->tun_if); if_detach(&tp->tun_if); destroy_dev(dev); + mtx_destroy(&tp->tun_mtx); free(tp, M_TUN); } @@ -213,12 +221,16 @@ { struct tun_softc *tp = ifp->if_softc; + mtx_lock(&tp->tun_mtx); if (tp->tun_flags & TUN_RWAIT) { tp->tun_flags &= ~TUN_RWAIT; wakeup(tp); } - if (tp->tun_flags & TUN_ASYNC && tp->tun_sigio) + if (tp->tun_flags & TUN_ASYNC && tp->tun_sigio) { + mtx_unlock(&tp->tun_mtx); pgsigio(&tp->tun_sigio, SIGIO, 0); + } else + mtx_unlock(&tp->tun_mtx); selwakeuppri(&tp->tun_rsel, PZERO + 1); } @@ -231,6 +243,7 @@ dev->si_flags &= ~SI_CHEAPCLONE; MALLOC(sc, struct tun_softc *, sizeof(*sc), M_TUN, M_WAITOK | M_ZERO); + mtx_init(&sc->tun_mtx, "tun_mtx", NULL, MTX_DEF); sc->tun_flags = TUN_INITED; sc->tun_dev = dev; mtx_lock(&tunmtx); @@ -258,17 +271,31 @@ struct ifnet *ifp; struct tun_softc *tp; + /* + * XXXRW: Non-atomic test and set of dev->si_drv1 requires + * synchronization. + */ tp = dev->si_drv1; if (!tp) { tuncreate(dev); tp = dev->si_drv1; } - if (tp->tun_pid != 0 && tp->tun_pid != td->td_proc->p_pid) + /* + * XXXRW: This use of tun_pid is subject to error due to the + * fact that a reference to the tunnel can live beyond the + * death of the process that created it. Can we replace this + * with a simple busy flag? + */ + mtx_lock(&tp->tun_mtx); + if (tp->tun_pid != 0 && tp->tun_pid != td->td_proc->p_pid) { + mtx_unlock(&tp->tun_mtx); return (EBUSY); + } tp->tun_pid = td->td_proc->p_pid; tp->tun_flags |= TUN_OPEN; + mtx_unlock(&tp->tun_mtx); ifp = &tp->tun_if; TUNDEBUG(ifp, "open\n"); @@ -289,8 +316,10 @@ tp = dev->si_drv1; ifp = &tp->tun_if; + mtx_lock(&tp->tun_mtx); tp->tun_flags &= ~TUN_OPEN; tp->tun_pid = 0; + mtx_unlock(&tp->tun_mtx); /* * junk all pending output @@ -310,6 +339,7 @@ /* find internet addresses and delete routes */ TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) if (ifa->ifa_addr->sa_family == AF_INET) + /* Unlocked read. */ rtinit(ifa, (int)RTM_DELETE, tp->tun_flags & TUN_DSTADDR ? RTF_HOST : 0); ifp->if_flags &= ~IFF_RUNNING; @@ -345,12 +375,14 @@ struct sockaddr_in *si; si = (struct sockaddr_in *)ifa->ifa_addr; + mtx_lock(&tp->tun_mtx); if (si->sin_addr.s_addr) tp->tun_flags |= TUN_IASET; si = (struct sockaddr_in *)ifa->ifa_dstaddr; if (si && si->sin_addr.s_addr) tp->tun_flags |= TUN_DSTADDR; + mtx_unlock(&tp->tun_mtx); } #endif } @@ -373,9 +405,11 @@ switch(cmd) { case SIOCGIFSTATUS: ifs = (struct ifstat *)data; + mtx_lock(&tp->tun_mtx); if (tp->tun_pid) sprintf(ifs->ascii + strlen(ifs->ascii), "\tOpened by PID %d\n", tp->tun_pid); + mtx_unlock(&tp->tun_mtx); break; case SIOCSIFADDR: error = tuninit(ifp); @@ -411,6 +445,7 @@ struct rtentry *rt) { struct tun_softc *tp = ifp->if_softc; + u_short cached_tun_flags; #ifdef MAC int error; #endif @@ -425,7 +460,11 @@ } #endif - if ((tp->tun_flags & TUN_READY) != TUN_READY) { + /* Could be unlocked read? */ + mtx_lock(&tp->tun_mtx); + cached_tun_flags = tp->tun_flags; + mtx_unlock(&tp->tun_mtx); + if ((cached_tun_flags & TUN_READY) != TUN_READY) { TUNDEBUG (ifp, "not ready 0%o\n", tp->tun_flags); m_freem (m0); return (EHOSTDOWN); @@ -450,7 +489,7 @@ } /* prepend sockaddr? this may abort if the mbuf allocation fails */ - if (tp->tun_flags & TUN_LMODE) { + if (cached_tun_flags & TUN_LMODE) { /* allocate space for sockaddr */ M_PREPEND(m0, dst->sa_len, M_DONTWAIT); @@ -464,7 +503,7 @@ } } - if (tp->tun_flags & TUN_IFHEAD) { + if (cached_tun_flags & TUN_IFHEAD) { /* Prepend the address family */ M_PREPEND(m0, 4, M_DONTWAIT); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Mar 29 15:34:10 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A571916A4D0; Mon, 29 Mar 2004 15:34:10 -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 7EF2616A4CE for ; Mon, 29 Mar 2004 15:34:10 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 73DAB43D1D for ; Mon, 29 Mar 2004 15:34:10 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2TNYAGe000632 for ; Mon, 29 Mar 2004 15:34:10 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2TNY9Yn000629 for perforce@freebsd.org; Mon, 29 Mar 2004 15:34:09 -0800 (PST) (envelope-from peter@freebsd.org) Date: Mon, 29 Mar 2004 15:34:09 -0800 (PST) Message-Id: <200403292334.i2TNY9Yn000629@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 49925 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: Mon, 29 Mar 2004 23:34:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=49925 Change 49925 by peter@peter_daintree on 2004/03/29 15:33:49 IFC @49922 (ct.4 bogo-conflicts) Affected files ... .. //depot/projects/hammer/share/man/man4/man4.i386/ct.4#3 integrate Differences ... ==== //depot/projects/hammer/share/man/man4/man4.i386/ct.4#3 (text+ko) ==== @@ -1,99 +1,148 @@ -.\" Copyright (c) 2004 Roman Kurakin -.\" Copyright (c) 2004 Cronyx Engineering -.\" All rights reserved. +.\" Copyright (c) 2003 Noriaki MITSUNAGA. All rights reserved. +.\" Copyright (c) 2003 Hideyuki KURASHINA. All rights reserved. .\" -.\" This software is distributed with NO WARRANTIES, not even the implied -.\" warranties for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. .\" -.\" Authors grant any other persons or organisations a permission to use, -.\" modify and redistribute this software in source and binary forms, -.\" as long as this message is kept with the software, all derivative -.\" works or modified versions. +.\" THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. .\" -.\" Cronyx Id: ct.4,v 1.1.2.2 2004/02/26 18:47:18 rik Exp $ -.\" $FreeBSD: src/share/man/man4/man4.i386/ct.4,v 1.2 2004/03/13 00:12:09 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/man4.i386/ct.4,v 1.4 2004/03/26 06:26:45 non Exp $ .\" -.Dd February 26, 2004 -.Dt CT 4 i386 +.Dd November 18, 2003 +.Dt CT 4 .Os .Sh NAME .Nm ct -.Nd driver for synchronous Cronyx-Tau WAN adapters +.Nd "WD33C93[ABC] based CBUS SCSI host adapter driver" .Sh SYNOPSIS -.Cd "device ctau" +.Cd "device ct" +.Cd "device scbus" +.Pp +In +.Pa /boot/device.hints: +.Pp +For most PC-9801-55, -92 and compatibles: +.Cd hint.ct.0.at="isa" +.Pp +For ELECOM bus-master +.Tn SCSI +adapters: +.Cd hint.ct.0.at="isa" +.Cd hint.ct.0.flags="0x30000" .Pp -Additional options: -.Cd "device sppp" -.Cd "options NETGRAPH" -.Cd "options NETGRAPH_CRONYX" +For I-O DATA SC98 adapters: +.Cd hint.ct.0.at="isa" +.Cd hint.ct.0.flags="0x10000" .Pp -In -.Pa /boot/device.hints : -.Cd hint.ctau.0.at="isa" -.Cd hint.ctau.0.port="0x240" -.Cd hint.ctau.0.irq="15" -.Cd hint.ctau.0.drq="7" -.Sh DESCRIPTION -The -.Nm -driver needs either -.Xr sppp 4 -or -.Xr netgraph 4 . -Which one to use is determined by the NETGRAPH_CRONYX option. -If this option is present in your kernel configuration file, the -.Nm -driver will be compiled with -.Xr netgraph 4 -support. -Otherwise, it will be compiled with -.Xr sppp 4 -support. +For LOGITEC adapters: +.Cd hint.ct.0.at="isa" +.Cd hint.ct.0.flags="0x50000" .Pp -The base I/O port address specified in -.Pa /boot/device.hints -must match the port address set by the jumpers on the board. -The DMA I/O channel and interrupt request numbers are configured -by software at adapter initialization. -Legal values are: +For TEXA adapters: +.Cd hint.ct.0.at="isa" +.Cd hint.ct.0.flags="0x20000" .Pp -.Bl -tag -compact -width Port: -.It Port : -0x200, 0x220, 0x240, 0x260, 0x280, 0x2a0, 0x2c0, 0x2e0, -0x300, 0x320, 0x340, 0x360, 0x380, 0x3a0, 0x3c0, 0x3e0 -.It IRQ : -3, 5, 7, 10, 11, 12, 15 -.It DMA : -5, 6, 7 -.El +For adapters with SMIT transfer mode to enable SMIT transfer: +.Cd hint.ct.0.at="isa" +.Cd hint.ct.0.flags="0x40000" +.Cd hint.ct.0.maddr="0xdc000" .Pp +.Ar Flag +meaning: +.Bl -tag -offset indent -compact -width 0x000000 +.It 0x00000 +DMA transfer mode for an NEC PC-9801-55, -92 (or +compatibles), ICM IF-2660, Midori-Denshi MDC-554NA, or +Logitec LHA-N151 +.It 0x10000 +DMA transfer mode for an I-O DATA SC-98II +.It 0x20000 +bus-master transfer mode for a TEXA HA-55BS2, its +successors, or Midori-Denshi MDC-926R +.It 0x30000 +bus-master transfer mode for an ELECOM bus-master SCSI +adapter +.It 0x40000 +SMIT transfer mode (for supported adapters only) +.It 0x50000 +bus-master transfer mode for a Logitec LHA-20x series, +ICM IF-2766, IF-2766ET, IF-2767 or IF-2769 +.Sh DESCRIPTION The .Nm -driver supports autodetection. -As for all non-PNP hardware, using -autodetection could lead to some potential problems with other devices during -the hardware detection process. -It is always better to specify hardware resources manually. +driver provides access to the +.Tn SCSI +bus connected to a WD33C93[ABC] based host adapter. +The following adapters are supported: .Pp -Refer to -.Xr sconfig 8 -for information about the -.Nm -adapter configuration. +.Bl -bullet -compact +.It +NEC PC-9801-55, 92 and compatibles, +.It +ELECOM bus-master +.Tn SCSI +adapters, +.It +I-O DATA SC-98II, +.It +ICM IF-2660, IF-2766, IF-2766ET, IF-2767 and IF-2769, +.It +Logitec LHA-N151 and LHA-20x series, +.It +Midori-Denshi MDC-554NA and MDC-926R, +.It +TEXA HA-55BS2 and its later models, and +.It +SMIT transfer type +.Tn SCSI +host adapters. +.El .Sh SEE ALSO -.Xr cx 4 , -.Xr sppp 4 , -.Xr ifconfig 8 , -.Xr sconfig 8 , -.Xr spppcontrol 8 +.Xr cd 4 , +.Xr ch 4 , +.Xr ctau 4 , +.Xr da 4 , +.Xr intro 4 , +.Xr sa 4 , +.Xr scsi 4 +.Sh NOTES +Historically, the driver for the Cronyx-Tau WAN adapters was +ct. This device name was changed to ctau to avoid conflicts +with this pc98 ct driver. The network device name for ctau +is 'ct'. Please see +.Xr ctau 4 +for the details for that device. .Sh HISTORY The .Nm -driver was added in -.Fx 5.3 . +device driver has been developed for NetBSD/pc98 and ported for +.Fx . +It first appeared in +.Fx 4.4 . +.Sh AUTHORS The .Nm -driver for previous versions of -.Fx -is available from -.Pa http://www.cronyx.ru/ . +driver was written by +.An Naofumi HONDA . +.Pp +This manual page was written by +.An -nosplit +.An Noriaki MITSUNAGA Aq non@FreeBSD.org +and +.An Hideyuki KURASHINA Aq rushani@FreeBSD.org . From owner-p4-projects@FreeBSD.ORG Mon Mar 29 15:58:41 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 39B4916A4D0; Mon, 29 Mar 2004 15:58:41 -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 F26BE16A4CE for ; Mon, 29 Mar 2004 15:58:40 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D255A43D53 for ; Mon, 29 Mar 2004 15:58:40 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2TNweGe004744 for ; Mon, 29 Mar 2004 15:58:40 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2TNwea6004741 for perforce@freebsd.org; Mon, 29 Mar 2004 15:58:40 -0800 (PST) (envelope-from peter@freebsd.org) Date: Mon, 29 Mar 2004 15:58:40 -0800 (PST) Message-Id: <200403292358.i2TNwea6004741@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 49926 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: Mon, 29 Mar 2004 23:58:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=49926 Change 49926 by peter@peter_daintree on 2004/03/29 15:58:22 integ -I -b i386_hammer (NOP tracking submit) Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/vm_machdep.c#36 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/vm_machdep.c#36 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Mon Mar 29 16:16:03 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B889716A4D0; Mon, 29 Mar 2004 16:16:02 -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 74E0316A4CE for ; Mon, 29 Mar 2004 16:16:02 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 67B8043D2F for ; Mon, 29 Mar 2004 16:16:02 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2U0G2Ge009824 for ; Mon, 29 Mar 2004 16:16:02 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2U0G1Sg009821 for perforce@freebsd.org; Mon, 29 Mar 2004 16:16:01 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 29 Mar 2004 16:16:01 -0800 (PST) Message-Id: <200403300016.i2U0G1Sg009821@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 49927 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: Tue, 30 Mar 2004 00:16:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=49927 Change 49927 by rwatson@rwatson_paprika on 2004/03/29 16:15:23 Integrate netperf_socket: Death of umapfs recognized, but NFS will work better. if_oltr FreeBSD 3.x source compatibility removed. KSE comments updated. Loop back of if_tun softc locking from rwatson_netperf. More kstack size fixes. Affected files ... .. //depot/projects/netperf_socket/sys/amd64/amd64/vm_machdep.c#5 integrate .. //depot/projects/netperf_socket/sys/conf/NOTES#9 integrate .. //depot/projects/netperf_socket/sys/contrib/dev/oltr/if_oltr.c#3 integrate .. //depot/projects/netperf_socket/sys/fs/umapfs/umap_vnops.c#2 integrate .. //depot/projects/netperf_socket/sys/i386/i386/vm_machdep.c#8 integrate .. //depot/projects/netperf_socket/sys/kern/kern_sig.c#5 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_default.c#2 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_subr.c#5 integrate .. //depot/projects/netperf_socket/sys/libkern/index.c#2 integrate .. //depot/projects/netperf_socket/sys/libkern/rindex.c#2 integrate .. //depot/projects/netperf_socket/sys/modules/Makefile#7 integrate .. //depot/projects/netperf_socket/sys/net/if_tun.c#7 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/vm_machdep.c#4 integrate .. //depot/projects/netperf_socket/sys/sys/vnode.h#3 integrate Differences ... ==== //depot/projects/netperf_socket/sys/amd64/amd64/vm_machdep.c#5 (text+ko) ==== @@ -41,10 +41,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.230 2004/03/25 03:39:38 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.231 2004/03/29 19:38:05 peter Exp $"); #include "opt_isa.h" -#include "opt_kstack_pages.h" #include "opt_cpu.h" #include ==== //depot/projects/netperf_socket/sys/conf/NOTES#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1207 2004/03/18 12:22:31 brueffer Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1208 2004/03/29 22:41:20 peter Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -701,7 +701,8 @@ options PSEUDOFS #Pseudo-filesystem framework options SMBFS #SMB/CIFS filesystem options UDF #Universal Disk Format -options UMAPFS #UID map filesystem +#umapfs is seriously (functionally) broken at this point. +#options UMAPFS #UID map filesystem options UNIONFS #Union filesystem # The xFS_ROOT options REQUIRE the associated ``options xFS'' options NFS_ROOT #NFS usable as root device ==== //depot/projects/netperf_socket/sys/contrib/dev/oltr/if_oltr.c#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/contrib/dev/oltr/if_oltr.c,v 1.32 2004/03/17 17:50:23 njl Exp $ + * $FreeBSD: src/sys/contrib/dev/oltr/if_oltr.c,v 1.33 2004/03/29 21:10:05 imp Exp $ */ #include @@ -50,11 +50,6 @@ #include #include -#if (__FreeBSD_version < 400000) -#include -#endif - -#if (NBPFILTER > 0) || (__FreeBSD_version > 400000) #include #ifndef BPF_MTAP @@ -63,7 +58,6 @@ bpf_mtap((_ifp), (_m)); \ } while (0) #endif -#endif #include /* for vtophys */ #include /* for vtophys */ @@ -238,8 +232,6 @@ static int oltr_ifmedia_upd __P((struct ifnet *)); static void oltr_ifmedia_sts __P((struct ifnet *, struct ifmediareq *)); -#if __FreeBSD_version > 400000 - static int oltr_pci_probe __P((device_t)); static int oltr_pci_attach __P((device_t)); static int oltr_pci_detach __P((device_t)); @@ -488,200 +480,7 @@ return; } -#else - -static const char *oltr_pci_probe __P((pcici_t, pcidi_t)); -static void oltr_pci_attach __P((pcici_t, int)); - -static unsigned long oltr_count = 0; - -static struct pci_device oltr_device = { - "oltr", - oltr_pci_probe, - oltr_pci_attach, - &oltr_count, - NULL -}; - -DATA_SET(pcidevice_set, oltr_device); - -static const char * -oltr_pci_probe(pcici_t config_id, pcidi_t device_id) -{ - int i, rc; - char PCIConfigHeader[64]; - TRlldAdapterConfig_t config; - - if (((device_id & 0xffff) == PCI_VENDOR_OLICOM) && ( - (((device_id >> 16) & 0xffff) == 0x0001) || - (((device_id >> 16) & 0xffff) == 0x0004) || - (((device_id >> 16) & 0xffff) == 0x0005) || - (((device_id >> 16) & 0xffff) == 0x0007) || - (((device_id >> 16) & 0xffff) == 0x0008))) { - - for (i = 0; i < 64; i++) - PCIConfigHeader[i] = pci_cfgread(config_id, i, /* bytes */ 1); - - rc = TRlldPCIConfig(&LldDriver, &config, PCIConfigHeader); - - if (rc == TRLLD_PCICONFIG_FAIL) { - printf("oltr: TRlldPciConfig failed!\n"); - return(NULL); - } - if (rc == TRLLD_PCICONFIG_VERSION) { - printf("oltr: wrong LLD version.\n"); - return(NULL); - } - return(AdapterName[config.type]); - } - - return(NULL); -} - static void -oltr_pci_attach(pcici_t config_id, int unit) -{ - int i, s, rc = 0, scratch_size; - int media = IFM_TOKEN|IFM_TOK_UTP16; - u_long command; - char PCIConfigHeader[64]; - struct oltr_softc *sc; - struct ifnet *ifp; /* = &sc->arpcom.ac_if; */ - - s = splimp(); - - sc = malloc(sizeof(struct oltr_softc), M_DEVBUF, M_NOWAIT | M_ZERO); - if (sc == NULL) { - printf("oltr%d: no memory for softc struct!\n", unit); - goto config_failed; - } - sc->unit = unit; - sc->state = OL_UNKNOWN; - ifp = &sc->arpcom.ac_if; - - for (i = 0; i < sizeof(PCIConfigHeader); i++) - PCIConfigHeader[i] = pci_cfgread(config_id, i, 1); - - switch(TRlldPCIConfig(&LldDriver, &sc->config, PCIConfigHeader)) { - case TRLLD_PCICONFIG_OK: - break; - case TRLLD_PCICONFIG_SET_COMMAND: - printf("oltr%d: enabling bus master mode\n", unit); - command = pci_conf_read(config_id, PCIR_COMMAND); - pci_conf_write(config_id, PCIR_COMMAND, (command | PCIM_CMD_BUSMASTEREN)); - command = pci_conf_read(config_id, PCIR_COMMAND); - if (!(command & PCIM_CMD_BUSMASTEREN)) { - printf("oltr%d: failed to enable bus master mode\n", unit); - goto config_failed; - } - break; - case TRLLD_PCICONFIG_FAIL: - printf("oltr%d: TRlldPciConfig failed!\n", unit); - goto config_failed; - break; - case TRLLD_PCICONFIG_VERSION: - printf("oltr%d: wrong LLD version\n", unit); - goto config_failed; - break; - } - printf("oltr%d: MAC address %6D\n", unit, sc->config.macaddress, ":"); - - scratch_size = TRlldAdapterSize(); - if (bootverbose) - printf("oltr%d: adapter memory block size %d bytes\n", unit, scratch_size); - sc->TRlldAdapter = (TRlldAdapter_t)malloc(scratch_size, M_DEVBUF, M_NOWAIT); - if (sc->TRlldAdapter == NULL) { - printf("oltr%d: couldn't allocate scratch buffer (%d bytes)\n",unit, scratch_size); - goto config_failed; - } - - /* - * Allocate RX/TX Pools - */ - for (i = 0; i < RING_BUFFER_LEN; i++) { - sc->rx_ring[i].index = i; - sc->rx_ring[i].data = (char *)malloc(RX_BUFFER_LEN, M_DEVBUF, M_NOWAIT); - sc->rx_ring[i].address = vtophys(sc->rx_ring[i].data); - sc->tx_ring[i].index = i; - sc->tx_ring[i].data = (char *)malloc(TX_BUFFER_LEN, M_DEVBUF, M_NOWAIT); - sc->tx_ring[i].address = vtophys(sc->tx_ring[i].data); - if ((!sc->rx_ring[i].data) || (!sc->tx_ring[i].data)) { - printf("oltr%d: unable to allocate ring buffers\n", unit); - while (i > 0) { - if (sc->rx_ring[i].data) - free(sc->rx_ring[i].data, M_DEVBUF); - if (sc->tx_ring[i].data) - free(sc->tx_ring[i].data, M_DEVBUF); - i--; - } - goto config_failed; - } - } - - /* - * Allocate interrupt and DMA channel - */ - if (!pci_map_int(config_id, oltr_intr, sc, &net_imask)) { - printf("oltr%d: couldn't setup interrupt\n", unit); - goto config_failed; - } - - /* - * Do the ifnet initialization - */ - ifp->if_softc = sc; - ifp->if_unit = unit; - ifp->if_name = "oltr"; - ifp->if_output = iso88025_output; - ifp->if_init = oltr_init; - ifp->if_start = oltr_start; - ifp->if_ioctl = oltr_ioctl; - ifp->if_flags = IFF_BROADCAST; - bcopy(sc->config.macaddress, sc->arpcom.ac_enaddr, sizeof(sc->config.macaddress)); - - /* - * Do ifmedia setup. - */ - ifmedia_init(&sc->ifmedia, 0, oltr_ifmedia_upd, oltr_ifmedia_sts); - rc = TRlldSetSpeed(sc->TRlldAdapter, TRLLD_SPEED_16MBPS); - switch(sc->config.type) { - case TRLLD_ADAPTER_PCI7: /* OC-3540 */ - ifmedia_add(&sc->ifmedia, IFM_TOKEN|IFM_TOK_UTP100, 0, NULL); - /* FALL THROUGH */ - case TRLLD_ADAPTER_PCI4: /* OC-3139 */ - case TRLLD_ADAPTER_PCI5: /* OC-3140 */ - case TRLLD_ADAPTER_PCI6: /* OC-3141 */ - ifmedia_add(&sc->ifmedia, IFM_TOKEN|IFM_AUTO, 0, NULL); - media = IFM_TOKEN|IFM_AUTO; - rc = TRlldSetSpeed(sc->TRlldAdapter, 0); - /* FALL THROUGH */ - default: - ifmedia_add(&sc->ifmedia, IFM_TOKEN|IFM_TOK_UTP4, 0, NULL); - ifmedia_add(&sc->ifmedia, IFM_TOKEN|IFM_TOK_UTP16, 0, NULL); - break; - } - sc->ifmedia.ifm_media = media; - ifmedia_set(&sc->ifmedia, media); - - /* - * Attach the interface - */ - if_attach(ifp); - ifp->if_snd.ifq_maxlen = IFQ_MAXLEN; - iso88025_ifattach(ifp); - - splx(s); - return; - -config_failed: - (void)splx(s); - - return; -} - -#endif - -static void oltr_intr(void *xsc) { struct oltr_softc *sc = (struct oltr_softc *)xsc; @@ -761,9 +560,7 @@ sc->tx_head = RING_BUFFER((sc->tx_head + sc->frame_ring[frame].FragmentCount)); sc->tx_frame++; -#if (NBPFILTER > 0) || (__FreeBSD_version > 400000) BPF_MTAP(ifp, m0); -#endif /*ifp->if_opackets++;*/ bad: ==== //depot/projects/netperf_socket/sys/fs/umapfs/umap_vnops.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)umap_vnops.c 8.6 (Berkeley) 5/22/95 - * $FreeBSD: src/sys/fs/umapfs/umap_vnops.c,v 1.38 2003/03/03 19:15:39 njl Exp $ + * $FreeBSD: src/sys/fs/umapfs/umap_vnops.c,v 1.39 2004/03/29 22:41:20 peter Exp $ */ /* @@ -363,6 +363,15 @@ } */ *ap; { + /* + * vop_nolock no longer exists. I could have pasted the code + * in so that it compiles, but that would be doing our users a + * great disservice. umapfs is about 5 years behind the nullfs + * code that it is derived from. The stub locking here guarantees + * a deadlock the moment a VOP_INACTIVE arrives. There is no point + * pasting the code that makes it compile either, because that just + * makes it Even More Wrong. + */ vop_nolock(ap); if ((ap->a_flags & LK_TYPE_MASK) == LK_DRAIN) return (0); ==== //depot/projects/netperf_socket/sys/i386/i386/vm_machdep.c#8 (text+ko) ==== @@ -41,10 +41,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.233 2004/03/22 00:28:38 wpaul Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.234 2004/03/29 19:38:05 peter Exp $"); #include "opt_isa.h" -#include "opt_kstack_pages.h" #include "opt_npx.h" #ifdef PC98 #include "opt_pc98.h" ==== //depot/projects/netperf_socket/sys/kern/kern_sig.c#5 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.273 2004/03/05 22:39:53 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.274 2004/03/29 22:46:54 peter Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -1875,10 +1875,8 @@ mtx_unlock_spin(&sched_lock); goto out; /* - * XXXKSE What about threads that are waiting on mutexes? - * Shouldn't they abort too? - * No, hopefully mutexes are short lived.. They'll - * eventually hit thread_suspend_check(). + * Mutexes are short lived. Threads waiting on them will + * hit thread_suspend_check() soon. */ } else if (p->p_state == PRS_NORMAL) { if ((p->p_flag & P_TRACED) || (action != SIG_DFL) || ==== //depot/projects/netperf_socket/sys/kern/vfs_default.c#2 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_default.c,v 1.91 2003/11/05 04:30:07 kan Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_default.c,v 1.92 2004/03/29 22:41:20 peter Exp $"); #include #include @@ -369,166 +369,6 @@ } /* - * Stubs to use when there is no locking to be done on the underlying object. - * A minimal shared lock is necessary to ensure that the underlying object - * is not revoked while an operation is in progress. So, an active shared - * count is maintained in an auxillary vnode lock structure. - */ -int -vop_sharedlock(ap) - struct vop_lock_args /* { - struct vnode *a_vp; - int a_flags; - struct thread *a_td; - } */ *ap; -{ - /* - * This code cannot be used until all the non-locking filesystems - * (notably NFS) are converted to properly lock and release nodes. - * Also, certain vnode operations change the locking state within - * the operation (create, mknod, remove, link, rename, mkdir, rmdir, - * and symlink). Ideally these operations should not change the - * lock state, but should be changed to let the caller of the - * function unlock them. Otherwise all intermediate vnode layers - * (such as union, umapfs, etc) must catch these functions to do - * the necessary locking at their layer. Note that the inactive - * and lookup operations also change their lock state, but this - * cannot be avoided, so these two operations will always need - * to be handled in intermediate layers. - */ - struct vnode *vp = ap->a_vp; - int vnflags, flags = ap->a_flags; - - switch (flags & LK_TYPE_MASK) { - case LK_DRAIN: - vnflags = LK_DRAIN; - break; - case LK_EXCLUSIVE: -#ifdef DEBUG_VFS_LOCKS - /* - * Normally, we use shared locks here, but that confuses - * the locking assertions. - */ - vnflags = LK_EXCLUSIVE; - break; -#endif - case LK_SHARED: - vnflags = LK_SHARED; - break; - case LK_UPGRADE: - case LK_EXCLUPGRADE: - case LK_DOWNGRADE: - return (0); - case LK_RELEASE: - default: - panic("vop_sharedlock: bad operation %d", flags & LK_TYPE_MASK); - } - vnflags |= flags & (LK_INTERLOCK | LK_EXTFLG_MASK); -#ifndef DEBUG_LOCKS - return (lockmgr(vp->v_vnlock, vnflags, VI_MTX(vp), ap->a_td)); -#else - return (debuglockmgr(vp->v_vnlock, vnflags, VI_MTX(vp), ap->a_td, - "vop_sharedlock", vp->filename, vp->line)); -#endif -} - -/* - * Stubs to use when there is no locking to be done on the underlying object. - * A minimal shared lock is necessary to ensure that the underlying object - * is not revoked while an operation is in progress. So, an active shared - * count is maintained in an auxillary vnode lock structure. - */ -int -vop_nolock(ap) - struct vop_lock_args /* { - struct vnode *a_vp; - int a_flags; - struct thread *a_td; - } */ *ap; -{ -#ifdef notyet - /* - * This code cannot be used until all the non-locking filesystems - * (notably NFS) are converted to properly lock and release nodes. - * Also, certain vnode operations change the locking state within - * the operation (create, mknod, remove, link, rename, mkdir, rmdir, - * and symlink). Ideally these operations should not change the - * lock state, but should be changed to let the caller of the - * function unlock them. Otherwise all intermediate vnode layers - * (such as union, umapfs, etc) must catch these functions to do - * the necessary locking at their layer. Note that the inactive - * and lookup operations also change their lock state, but this - * cannot be avoided, so these two operations will always need - * to be handled in intermediate layers. - */ - struct vnode *vp = ap->a_vp; - int vnflags, flags = ap->a_flags; - - switch (flags & LK_TYPE_MASK) { - case LK_DRAIN: - vnflags = LK_DRAIN; - break; - case LK_EXCLUSIVE: - case LK_SHARED: - vnflags = LK_SHARED; - break; - case LK_UPGRADE: - case LK_EXCLUPGRADE: - case LK_DOWNGRADE: - return (0); - case LK_RELEASE: - default: - panic("vop_nolock: bad operation %d", flags & LK_TYPE_MASK); - } - vnflags |= flags & (LK_INTERLOCK | LK_EXTFLG_MASK); - return(lockmgr(vp->v_vnlock, vnflags, VI_MTX(vp), ap->a_td)); -#else /* for now */ - /* - * Since we are not using the lock manager, we must clear - * the interlock here. - */ - if (ap->a_flags & LK_INTERLOCK) - VI_UNLOCK(ap->a_vp); - return (0); -#endif -} - -/* - * Do the inverse of vop_nolock, handling the interlock in a compatible way. - */ -int -vop_nounlock(ap) - struct vop_unlock_args /* { - struct vnode *a_vp; - int a_flags; - struct thread *a_td; - } */ *ap; -{ - - /* - * Since we are not using the lock manager, we must clear - * the interlock here. - */ - if (ap->a_flags & LK_INTERLOCK) - VI_UNLOCK(ap->a_vp); - return (0); -} - -/* - * Return whether or not the node is in use. - */ -int -vop_noislocked(ap) - struct vop_islocked_args /* { - struct vnode *a_vp; - struct thread *a_td; - } */ *ap; -{ - - return (0); -} - -/* * Return our mount point, as we will take charge of the writes. */ int ==== //depot/projects/netperf_socket/sys/kern/vfs_subr.c#5 (text+ko) ==== @@ -43,7 +43,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.487 2004/03/11 18:02:35 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.488 2004/03/29 22:45:33 peter Exp $"); #include "opt_ddb.h" #include "opt_mac.h" @@ -532,7 +532,7 @@ struct mount *mp, *nmp; int done; struct proc *p = vnlruproc; - struct thread *td = FIRST_THREAD_IN_PROC(p); /* XXXKSE */ + struct thread *td = FIRST_THREAD_IN_PROC(p); mtx_lock(&Giant); @@ -1487,7 +1487,7 @@ struct vnode *vp; struct mount *mp; long starttime; - struct thread *td = FIRST_THREAD_IN_PROC(updateproc); /* XXXKSE */ + struct thread *td = FIRST_THREAD_IN_PROC(updateproc); mtx_lock(&Giant); @@ -1591,7 +1591,6 @@ * Request the syncer daemon to speed up its work. * We never push it to speed up more than half of its * normal turn time, otherwise it could take over the cpu. - * XXXKSE only one update? */ int speedup_syncer() ==== //depot/projects/netperf_socket/sys/libkern/index.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/libkern/index.c,v 1.7 2003/06/11 05:23:04 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/libkern/index.c,v 1.8 2004/03/29 21:15:41 robert Exp $"); #include #include @@ -51,7 +51,7 @@ for (;; ++u.p) { if (*u.p == ch) return(u.p); - if (!*u.p) + if (*u.p == '\0') return(NULL); } /* NOTREACHED */ ==== //depot/projects/netperf_socket/sys/libkern/rindex.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/libkern/rindex.c,v 1.8 2003/06/11 05:23:04 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/libkern/rindex.c,v 1.9 2004/03/29 21:15:41 robert Exp $"); #include #include @@ -52,7 +52,7 @@ for (save = NULL;; ++u.p) { if (*u.p == ch) save = u.p; - if (!*u.p) + if (*u.p == '\0') return(save); } /* NOTREACHED */ ==== //depot/projects/netperf_socket/sys/modules/Makefile#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/modules/Makefile,v 1.374 2004/03/25 17:20:45 rik Exp $ +# $FreeBSD: src/sys/modules/Makefile,v 1.375 2004/03/29 22:41:21 peter Exp $ # pcic -- currently broken and being worked on out of tree. # oldcard -- specialized use for debugging only. @@ -222,7 +222,6 @@ uhid \ ukbd \ ulpt \ - umapfs \ umass \ umct \ umodem \ ==== //depot/projects/netperf_socket/sys/net/if_tun.c#7 (text+ko) ==== @@ -13,7 +13,7 @@ * UCL. This driver is based much more on read/write/poll mode of * operation though. * - * $FreeBSD: src/sys/net/if_tun.c,v 1.138 2004/03/29 18:42:51 rwatson Exp $ + * $FreeBSD: src/sys/net/if_tun.c,v 1.139 2004/03/29 22:16:39 rwatson Exp $ */ #include "opt_atalk.h" @@ -55,6 +55,11 @@ #include +/* + * tun_list is protected by global tunmtx. Other mutable fields are + * protected by tun->tun_mtx, or by their owning subsystem. tun_dev is + * static for the duration of a tunnel interface. + */ struct tun_softc { TAILQ_ENTRY(tun_softc) tun_list; dev_t tun_dev; @@ -82,6 +87,7 @@ struct ifnet tun_if; /* the interface */ struct sigio *tun_sigio; /* information for async I/O */ struct selinfo tun_rsel; /* read select */ + struct mtx tun_mtx; /* protect mutable softc fields */ }; #define TUNDEBUG if (tundebug) if_printf @@ -158,6 +164,7 @@ { dev_t dev; + /* Unlocked read. */ KASSERT((tp->tun_flags & TUN_OPEN) == 0, ("tununits is out of sync - unit %d", tp->tun_if.if_dunit)); @@ -165,6 +172,7 @@ bpfdetach(&tp->tun_if); if_detach(&tp->tun_if); destroy_dev(dev); + mtx_destroy(&tp->tun_mtx); free(tp, M_TUN); } @@ -213,12 +221,16 @@ { struct tun_softc *tp = ifp->if_softc; + mtx_lock(&tp->tun_mtx); if (tp->tun_flags & TUN_RWAIT) { tp->tun_flags &= ~TUN_RWAIT; wakeup(tp); } - if (tp->tun_flags & TUN_ASYNC && tp->tun_sigio) + if (tp->tun_flags & TUN_ASYNC && tp->tun_sigio) { + mtx_unlock(&tp->tun_mtx); pgsigio(&tp->tun_sigio, SIGIO, 0); + } else + mtx_unlock(&tp->tun_mtx); selwakeuppri(&tp->tun_rsel, PZERO + 1); } @@ -231,6 +243,7 @@ dev->si_flags &= ~SI_CHEAPCLONE; MALLOC(sc, struct tun_softc *, sizeof(*sc), M_TUN, M_WAITOK | M_ZERO); + mtx_init(&sc->tun_mtx, "tun_mtx", NULL, MTX_DEF); sc->tun_flags = TUN_INITED; sc->tun_dev = dev; mtx_lock(&tunmtx); @@ -258,17 +271,31 @@ struct ifnet *ifp; struct tun_softc *tp; + /* + * XXXRW: Non-atomic test and set of dev->si_drv1 requires + * synchronization. + */ tp = dev->si_drv1; if (!tp) { tuncreate(dev); tp = dev->si_drv1; } - if (tp->tun_pid != 0 && tp->tun_pid != td->td_proc->p_pid) + /* + * XXXRW: This use of tun_pid is subject to error due to the + * fact that a reference to the tunnel can live beyond the + * death of the process that created it. Can we replace this + * with a simple busy flag? + */ + mtx_lock(&tp->tun_mtx); + if (tp->tun_pid != 0 && tp->tun_pid != td->td_proc->p_pid) { + mtx_unlock(&tp->tun_mtx); return (EBUSY); + } tp->tun_pid = td->td_proc->p_pid; tp->tun_flags |= TUN_OPEN; + mtx_unlock(&tp->tun_mtx); ifp = &tp->tun_if; TUNDEBUG(ifp, "open\n"); @@ -289,8 +316,10 @@ tp = dev->si_drv1; ifp = &tp->tun_if; + mtx_lock(&tp->tun_mtx); tp->tun_flags &= ~TUN_OPEN; tp->tun_pid = 0; + mtx_unlock(&tp->tun_mtx); /* * junk all pending output @@ -310,6 +339,7 @@ /* find internet addresses and delete routes */ TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) if (ifa->ifa_addr->sa_family == AF_INET) + /* Unlocked read. */ rtinit(ifa, (int)RTM_DELETE, tp->tun_flags & TUN_DSTADDR ? RTF_HOST : 0); ifp->if_flags &= ~IFF_RUNNING; @@ -345,12 +375,14 @@ struct sockaddr_in *si; si = (struct sockaddr_in *)ifa->ifa_addr; + mtx_lock(&tp->tun_mtx); if (si->sin_addr.s_addr) tp->tun_flags |= TUN_IASET; si = (struct sockaddr_in *)ifa->ifa_dstaddr; if (si && si->sin_addr.s_addr) tp->tun_flags |= TUN_DSTADDR; + mtx_unlock(&tp->tun_mtx); } #endif } @@ -373,9 +405,11 @@ switch(cmd) { case SIOCGIFSTATUS: ifs = (struct ifstat *)data; + mtx_lock(&tp->tun_mtx); if (tp->tun_pid) sprintf(ifs->ascii + strlen(ifs->ascii), "\tOpened by PID %d\n", tp->tun_pid); + mtx_unlock(&tp->tun_mtx); break; case SIOCSIFADDR: error = tuninit(ifp); @@ -411,6 +445,7 @@ struct rtentry *rt) { struct tun_softc *tp = ifp->if_softc; + u_short cached_tun_flags; #ifdef MAC int error; #endif @@ -425,7 +460,11 @@ } #endif - if ((tp->tun_flags & TUN_READY) != TUN_READY) { + /* Could be unlocked read? */ + mtx_lock(&tp->tun_mtx); + cached_tun_flags = tp->tun_flags; + mtx_unlock(&tp->tun_mtx); + if ((cached_tun_flags & TUN_READY) != TUN_READY) { TUNDEBUG (ifp, "not ready 0%o\n", tp->tun_flags); m_freem (m0); return (EHOSTDOWN); @@ -450,7 +489,7 @@ } /* prepend sockaddr? this may abort if the mbuf allocation fails */ - if (tp->tun_flags & TUN_LMODE) { + if (cached_tun_flags & TUN_LMODE) { /* allocate space for sockaddr */ M_PREPEND(m0, dst->sa_len, M_DONTWAIT); @@ -464,7 +503,7 @@ } } - if (tp->tun_flags & TUN_IFHEAD) { + if (cached_tun_flags & TUN_IFHEAD) { /* Prepend the address family */ M_PREPEND(m0, 4, M_DONTWAIT); @@ -529,21 +568,28 @@ *(int *)data = tundebug; break; case TUNSLMODE: + mtx_lock(&tp->tun_mtx); if (*(int *)data) { tp->tun_flags |= TUN_LMODE; tp->tun_flags &= ~TUN_IFHEAD; } else tp->tun_flags &= ~TUN_LMODE; + mtx_unlock(&tp->tun_mtx); break; case TUNSIFHEAD: + mtx_lock(&tp->tun_mtx); if (*(int *)data) { tp->tun_flags |= TUN_IFHEAD; tp->tun_flags &= ~TUN_LMODE; } else tp->tun_flags &= ~TUN_IFHEAD; + mtx_unlock(&tp->tun_mtx); break; case TUNGIFHEAD: + /* Could be unlocked read? */ + mtx_lock(&tp->tun_mtx); *(int *)data = (tp->tun_flags & TUN_IFHEAD) ? 1 : 0; + mtx_unlock(&tp->tun_mtx); break; case TUNSIFMODE: /* deny this if UP */ @@ -562,15 +608,19 @@ } break; case TUNSIFPID: + mtx_lock(&tp->tun_mtx); tp->tun_pid = curthread->td_proc->p_pid; + mtx_unlock(&tp->tun_mtx); break; case FIONBIO: break; case FIOASYNC: + mtx_lock(&tp->tun_mtx); if (*(int *)data) tp->tun_flags |= TUN_ASYNC; else tp->tun_flags &= ~TUN_ASYNC; + mtx_unlock(&tp->tun_mtx); break; case FIONREAD: s = splimp(); @@ -617,12 +667,15 @@ int error=0, len, s; TUNDEBUG (ifp, "read\n"); + mtx_lock(&tp->tun_mtx); if ((tp->tun_flags & TUN_READY) != TUN_READY) { + mtx_unlock(&tp->tun_mtx); TUNDEBUG (ifp, "not ready 0%o\n", tp->tun_flags); return (EHOSTDOWN); } tp->tun_flags &= ~TUN_RWAIT; + mtx_unlock(&tp->tun_mtx); s = splimp(); do { @@ -632,7 +685,9 @@ splx(s); return (EWOULDBLOCK); } + mtx_lock(&tp->tun_mtx); tp->tun_flags |= TUN_RWAIT; + mtx_unlock(&tp->tun_mtx); if((error = tsleep(tp, PCATCH | (PZERO + 1), "tunread", 0)) != 0) { splx(s); @@ -719,14 +774,19 @@ mac_create_mbuf_from_ifnet(ifp, top); #endif + /* Could be unlocked read? */ + mtx_lock(&tp->tun_mtx); if (tp->tun_flags & TUN_IFHEAD) { + mtx_unlock(&tp->tun_mtx); if (top->m_len < sizeof(family) && (top = m_pullup(top, sizeof(family))) == NULL) return (ENOBUFS); family = ntohl(*mtod(top, u_int32_t *)); m_adj(top, sizeof(family)); - } else + } else { + mtx_unlock(&tp->tun_mtx); family = AF_INET; + } BPF_MTAP2(ifp, &family, sizeof(family), top); ==== //depot/projects/netperf_socket/sys/powerpc/powerpc/vm_machdep.c#4 (text+ko) ==== @@ -38,7 +38,7 @@ * * from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91 * Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$ - * $FreeBSD: src/sys/powerpc/powerpc/vm_machdep.c,v 1.98 2004/03/16 19:04:28 alc Exp $ + * $FreeBSD: src/sys/powerpc/powerpc/vm_machdep.c,v 1.99 2004/03/29 19:38:05 peter Exp $ */ /* * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. @@ -67,8 +67,6 @@ * rights to redistribute these changes. */ -#include "opt_kstack_pages.h" - #include #include #include @@ -139,8 +137,8 @@ p1 = td1->td_proc; - pcb = (struct pcb *)((td2->td_kstack + KSTACK_PAGES * PAGE_SIZE - - sizeof(struct pcb)) & ~0x2fU); + pcb = (struct pcb *)((td2->td_kstack + + td2->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb)) & ~0x2fU); td2->td_pcb = pcb; /* Copy the pcb */ @@ -357,7 +355,7 @@ { struct pcb *pcb; - pcb = (struct pcb *)((td->td_kstack + KSTACK_PAGES * PAGE_SIZE - + pcb = (struct pcb *)((td->td_kstack + td2->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb)) & ~0x2fU); td->td_pcb = pcb; td->td_frame = (struct trapframe *)pcb - 1; ==== //depot/projects/netperf_socket/sys/sys/vnode.h#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)vnode.h 8.7 (Berkeley) 2/4/94 - * $FreeBSD: src/sys/sys/vnode.h,v 1.234 2004/03/11 16:33:11 phk Exp $ + * $FreeBSD: src/sys/sys/vnode.h,v 1.235 2004/03/29 22:41:21 peter Exp $ */ #ifndef _SYS_VNODE_H_ @@ -697,14 +697,10 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Mar 29 17:21:22 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7878B16A504; Mon, 29 Mar 2004 17:21:22 -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 2886716A4EF for ; Mon, 29 Mar 2004 17:21:22 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1FCEE43D49 for ; Mon, 29 Mar 2004 17:21:22 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2U1LLGe030095 for ; Mon, 29 Mar 2004 17:21:21 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2U1LL4e030086 for perforce@freebsd.org; Mon, 29 Mar 2004 17:21:21 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Mon, 29 Mar 2004 17:21:21 -0800 (PST) Message-Id: <200403300121.i2U1LL4e030086@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 49929 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: Tue, 30 Mar 2004 01:21:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=49929 Change 49929 by marcel@marcel_nfs on 2004/03/29 17:21:12 Make this compile with BREAK_TO_DEBUGGER and ALT_BREAK_TO_DEBUGGER. Duh! Affected files ... .. //depot/projects/gdb/sys/dev/sio/sio.c#6 edit Differences ... ==== //depot/projects/gdb/sys/dev/sio/sio.c#6 (text+ko) ==== @@ -58,6 +58,7 @@ #include #include #include +#include #include #include #include @@ -1803,7 +1804,7 @@ #ifdef KDB #ifdef ALT_BREAK_TO_DEBUGGER if (com->unit == comconsole && - db_alt_break(recv_data, &com->alt_brk_state) != 0) + kdb_alt_break(recv_data, &com->alt_brk_state) != 0) kdb_enter("Break sequence on console"); #endif /* ALT_BREAK_TO_DEBUGGER */ #endif /* KDB */ From owner-p4-projects@FreeBSD.ORG Mon Mar 29 18:44:06 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8686F16A4D0; Mon, 29 Mar 2004 18:44:06 -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 5FEB216A4CE for ; Mon, 29 Mar 2004 18:44:06 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5377243D2D for ; Mon, 29 Mar 2004 18:44:06 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2U2i6Ge048609 for ; Mon, 29 Mar 2004 18:44:06 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2U2i58m048606 for perforce@freebsd.org; Mon, 29 Mar 2004 18:44:05 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 29 Mar 2004 18:44:05 -0800 (PST) Message-Id: <200403300244.i2U2i58m048606@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 49935 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: Tue, 30 Mar 2004 02:44:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=49935 Change 49935 by rwatson@rwatson_paprika on 2004/03/29 18:43:30 Integrate netperf_socket: Prefer NULL to 0 in pointer comparison and assignment. Affected files ... .. //depot/projects/netperf_socket/sys/kern/uipc_usrreq.c#5 integrate Differences ... ==== //depot/projects/netperf_socket/sys/kern/uipc_usrreq.c#5 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.117 2004/03/01 03:14:21 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.118 2004/03/30 02:16:25 rwatson Exp $"); #include "opt_mac.h" @@ -138,7 +138,7 @@ { struct unpcb *unp = sotounpcb(so); - if (unp == 0) + if (unp == NULL) return (EINVAL); UNP_ENTER(unp); unp_drop(unp, ECONNABORTED); @@ -154,7 +154,7 @@ struct unpcb *unp = sotounpcb(so); struct sockaddr *sa; - if (unp == 0) + if (unp == NULL) return (EINVAL); /* @@ -164,7 +164,7 @@ */ *nam = malloc(sizeof(struct sockaddr_un), M_SONAME, M_WAITOK); UNP_ENTER(unp); - if (unp->unp_conn && unp->unp_conn->unp_addr) + if (unp->unp_conn != NULL && unp->unp_conn->unp_addr != NULL) sa = (struct sockaddr *) unp->unp_conn->unp_addr; else sa = &sun_noname; @@ -178,7 +178,7 @@ { struct unpcb *unp = sotounpcb(so); - if (unp != 0) + if (unp != NULL) return (EISCONN); return (unp_attach(so)); } @@ -188,7 +188,7 @@ { struct unpcb *unp = sotounpcb(so); - if (unp == 0) + if (unp == NULL) return (EINVAL); return (unp_bind(unp, nam, td)); } @@ -199,7 +199,7 @@ struct unpcb *unp = sotounpcb(so); int retval; - if (unp != 0) { + if (unp != NULL) { UNP_ENTER(unp); retval = unp_connect(so, nam, curthread); UNP_EXIT(unp); @@ -214,7 +214,7 @@ struct unpcb *unp = sotounpcb(so1); int retval; - if (unp != 0) { + if (unp != NULL) { UNP_ENTER(unp); retval = unp_connect2(so1, so2); UNP_EXIT(unp); @@ -230,7 +230,7 @@ { struct unpcb *unp = sotounpcb(so); - if (unp == 0) + if (unp == NULL) return (EINVAL); UNP_ENTER(unp); unp_detach(unp); /* NB: unlocks unp + head */ @@ -242,7 +242,7 @@ { struct unpcb *unp = sotounpcb(so); - if (unp != 0) { + if (unp != NULL) { UNP_ENTER(unp); unp_disconnect(unp); UNP_EXIT(unp); @@ -257,7 +257,7 @@ struct unpcb *unp = sotounpcb(so); int retval; - if (unp != 0 && unp->unp_vnode != 0) { + if (unp != NULL && unp->unp_vnode != NULL) { UNP_ENTER(unp); retval = unp_listen(unp, td); UNP_EXIT(unp); @@ -272,11 +272,11 @@ struct unpcb *unp = sotounpcb(so); struct sockaddr *sa; - if (unp == 0) + if (unp == NULL) return (EINVAL); *nam = malloc(sizeof(struct sockaddr_un), M_SONAME, M_WAITOK); UNP_ENTER(unp); - if (unp->unp_conn && unp->unp_conn->unp_addr) + if (unp->unp_conn != NULL && unp->unp_conn->unp_addr!= NULL) sa = (struct sockaddr *) unp->unp_conn->unp_addr; else { /* @@ -298,7 +298,7 @@ struct socket *so2; u_long newhiwat; - if (unp == 0) + if (unp == NULL) return (EINVAL); /* * Reorder locks to avoid LORs. Note that we @@ -313,7 +313,7 @@ /*NOTREACHED*/ case SOCK_STREAM: - if (unp->unp_conn == 0) { + if (unp->unp_conn == NULL) { SOCKBUF_LOCK(&so->so_rcv); break; } @@ -354,7 +354,7 @@ struct socket *so2; u_long newhiwat; - if (unp == 0) { + if (unp == NULL) { error = EINVAL; goto release; } @@ -363,7 +363,7 @@ goto release; } - if (control && (error = unp_internalize(&control, td))) + if (control != NULL && (error = unp_internalize(&control, td))) goto release; /* @@ -378,8 +378,8 @@ { struct sockaddr *from; - if (nam) { - if (unp->unp_conn) { + if (nam != NULL) { + if (unp->unp_conn != NULL) { error = EISCONN; break; } @@ -389,25 +389,25 @@ if (error) break; } else { - if (unp->unp_conn == 0) { + if (unp->unp_conn == NULL) { error = ENOTCONN; break; } } so2 = unp->unp_conn->unp_socket; - if (unp->unp_addr) + if (unp->unp_addr != NULL) from = (struct sockaddr *)unp->unp_addr; else from = &sun_noname; SOCKBUF_LOCK(&so2->so_rcv); if (sbappendaddr_locked(&so2->so_rcv, from, m, control)) { sorwakeup_locked(so2); - m = 0; - control = 0; + m = NULL; + control = NULL; } else error = ENOBUFS; SOCKBUF_UNLOCK(&so2->so_rcv); - if (nam) + if (nam != NULL) unp_disconnect(unp); break; } @@ -419,7 +419,7 @@ * if not equal to the peer's address. */ if ((so->so_state & SS_ISCONNECTED) == 0) { - if (nam) { + if (nam != NULL) { SOCKBUF_UNLOCK(&so->so_snd); error = unp_connect(so, nam, td); SOCKBUF_LOCK(&so->so_snd); @@ -435,7 +435,7 @@ error = EPIPE; break; } - if (unp->unp_conn == 0) + if (unp->unp_conn == NULL) panic("uipc_send connected but no connection?"); so2 = unp->unp_conn->unp_socket; SOCKBUF_LOCK(&so2->so_rcv); @@ -444,9 +444,9 @@ * send buffer hiwater marks to maintain backpressure. * Wake up readers. */ - if (control) { + if (control != NULL) { if (sbappendcontrol_locked(&so2->so_rcv, m, control)) - control = 0; + control = NULL; } else sbappend_locked(&so2->so_rcv, m); so->so_snd.sb_mbmax -= @@ -459,7 +459,7 @@ unp->unp_conn->unp_cc = so2->so_rcv.sb_cc; sorwakeup_locked(so2); SOCKBUF_UNLOCK(&so2->so_rcv); - m = 0; + m = NULL; break; default: @@ -476,12 +476,12 @@ } UNP_EXIT(unp); - if (control && error != 0) + if (control != NULL && error != 0) unp_dispose(control); /* XXX need head lock? */ release: - if (control) + if (control != NULL) m_freem(control); - if (m) + if (m != NULL) m_freem(m); return (error); } @@ -492,11 +492,11 @@ struct unpcb *unp = sotounpcb(so); struct socket *so2; - if (unp == 0) + if (unp == NULL) return (EINVAL); UNP_ENTER(unp); sb->st_blksize = so->so_snd.sb_hiwat; - if (so->so_type == SOCK_STREAM && unp->unp_conn != 0) { + if (so->so_type == SOCK_STREAM && unp->unp_conn != NULL) { so2 = unp->unp_conn->unp_socket; sb->st_blksize += so2->so_rcv.sb_cc; } @@ -513,7 +513,7 @@ { struct unpcb *unp = sotounpcb(so); - if (unp == 0) + if (unp == NULL) return (EINVAL); UNP_ENTER(unp); /* XXX socket lock? */ @@ -529,11 +529,11 @@ struct unpcb *unp = sotounpcb(so); struct sockaddr *sa; - if (unp == 0) + if (unp == NULL) return (EINVAL); *nam = malloc(sizeof(struct sockaddr_un), M_SONAME, M_WAITOK); UNP_ENTER(unp); - if (unp->unp_addr) + if (unp->unp_addr != NULL) sa = (struct sockaddr *) unp->unp_addr; else sa = &sun_noname; @@ -672,11 +672,11 @@ LIST_REMOVE(unp, unp_link); unp->unp_gencnt = ++unp_gencnt; --unp_count; - if ((vp = unp->unp_vnode)) { - unp->unp_vnode->v_socket = 0; - unp->unp_vnode = 0; + if ((vp = unp->unp_vnode) != NULL) { + unp->unp_vnode->v_socket = NULL; + unp->unp_vnode = NULL; } - if (unp->unp_conn) + if (unp->unp_conn != NULL) unp_disconnect(unp); while (!LIST_EMPTY(&unp->unp_refs)) { struct unpcb *ref = LIST_FIRST(&unp->unp_refs); @@ -685,7 +685,7 @@ UNP_UNLOCK(ref); } soisdisconnected(unp->unp_socket); - unp->unp_socket->so_pcb = 0; + unp->unp_socket->so_pcb = NULL; if (unp_rights) { /* * Normally the receive buffer is flushed later, @@ -697,7 +697,7 @@ sorflush(unp->unp_socket); unp_gc(); } - if (unp->unp_addr) + if (unp->unp_addr != NULL) FREE(unp->unp_addr, M_SONAME); UNP_LOCK_DESTROY(unp); UNP_HEAD_UNLOCK(); @@ -830,7 +830,7 @@ if (error) goto bad; so2 = vp->v_socket; - if (so2 == 0) { + if (so2 == NULL) { error = ECONNREFUSED; goto bad; } @@ -850,15 +850,15 @@ so3 = sonewconn(so2, 0); UNP_ENTER(unp); } else - so3 = 0; - if (so3 == 0) { + so3 = NULL; + if (so3 == NULL) { error = ECONNREFUSED; goto bad; } unp = sotounpcb(so); unp2 = sotounpcb(so2); unp3 = sotounpcb(so3); - if (unp2->unp_addr) { + if (unp2->unp_addr != NULL) { bcopy(unp2->unp_addr, sa, unp2->unp_addr->sun_len); unp3->unp_addr = (struct sockaddr_un *) sa; sa = NULL; @@ -944,9 +944,9 @@ UNP_ASSERT(unp); - if (unp2 == 0) + if (unp2 == NULL) return; - unp->unp_conn = 0; + unp->unp_conn = NULL; switch (unp->unp_socket->so_type) { case SOCK_DGRAM: @@ -957,7 +957,7 @@ case SOCK_STREAM: soisdisconnected(unp->unp_socket); UNP_LOCK(unp2); - unp2->unp_conn = 0; + unp2->unp_conn = NULL; soisdisconnected(unp2->unp_socket); UNP_UNLOCK(unp2); break; @@ -991,14 +991,14 @@ * The process of preparing the PCB list is too time-consuming and * resource-intensive to repeat twice on every request. */ - if (req->oldptr == 0) { + if (req->oldptr == NULL) { n = unp_count; req->oldidx = 2 * (sizeof *xug) + (n + n/8) * sizeof(struct xunpcb); return (0); } - if (req->newptr != 0) + if (req->newptr != NULL) return (EPERM); /* @@ -1046,10 +1046,11 @@ * XXX - need more locking here to protect against * connect/disconnect races for SMP. */ - if (unp->unp_addr) + if (unp->unp_addr != NULL) bcopy(unp->unp_addr, &xu->xu_addr, unp->unp_addr->sun_len); - if (unp->unp_conn && unp->unp_conn->unp_addr) + if (unp->unp_conn != NULL && + unp->unp_conn->unp_addr != NULL) bcopy(unp->unp_conn->unp_addr, &xu->xu_caddr, unp->unp_conn->unp_addr->sun_len); @@ -1252,7 +1253,7 @@ { unp_zone = uma_zcreate("unpcb", sizeof(struct unpcb), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); - if (unp_zone == 0) + if (unp_zone == NULL) panic("unp_init"); uma_zone_set_max(unp_zone, nmbclusters); LIST_INIT(&unp_dhead); @@ -1552,8 +1553,8 @@ */ extra_ref = malloc(nfiles * sizeof(struct file *), M_TEMP, M_WAITOK); sx_slock(&filelist_lock); - for (nunref = 0, fp = LIST_FIRST(&filehead), fpp = extra_ref; fp != 0; - fp = nextfp) { + for (nunref = 0, fp = LIST_FIRST(&filehead), fpp = extra_ref; + fp != NULL; fp = nextfp) { nextfp = LIST_NEXT(fp, f_list); FILE_LOCK(fp); /* @@ -1631,7 +1632,7 @@ socklen_t clen, datalen; int qfds; - while (m0) { + while (m0 != NULL) { for (m = m0; m; m = m->m_next) { if (m->m_type != MT_CONTROL) continue; From owner-p4-projects@FreeBSD.ORG Mon Mar 29 20:21:05 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B440C16A4D0; Mon, 29 Mar 2004 20:21:05 -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 601C816A4CE for ; Mon, 29 Mar 2004 20:21:05 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 537E443D39 for ; Mon, 29 Mar 2004 20:21:05 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2U4L5Ge069114 for ; Mon, 29 Mar 2004 20:21:05 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2U4L4km069069 for perforce@freebsd.org; Mon, 29 Mar 2004 20:21:04 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Mon, 29 Mar 2004 20:21:04 -0800 (PST) Message-Id: <200403300421.i2U4L4km069069@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 49938 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: Tue, 30 Mar 2004 04:21:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=49938 Change 49938 by marcel@marcel_nfs on 2004/03/29 20:20:59 Don't mutilate DELAY() when the debugger is active. If the sole reason for not calling getit() is to avoid locking, then it's infinitely better to just don't lock in getit(). That way DELAY() will at least deliver on its promise to delay. This unbreaks uart(4) when used as a debug port on i386 at low speeds. Affected files ... .. //depot/projects/gdb/sys/i386/isa/clock.c#3 edit Differences ... ==== //depot/projects/gdb/sys/i386/isa/clock.c#3 (text+ko) ==== @@ -403,7 +403,10 @@ { int high, low; - mtx_lock_spin(&clock_lock); +#ifdef KDB + if (!kdb_active) + mtx_lock_spin(&clock_lock); +#endif /* Select timer0 and latch counter value. */ outb(TIMER_MODE, TIMER_SEL0 | TIMER_LATCH); @@ -411,7 +414,11 @@ low = inb(TIMER_CNTR0); high = inb(TIMER_CNTR0); - mtx_unlock_spin(&clock_lock); +#ifdef KDB + if (!kdb_active) + mtx_unlock_spin(&clock_lock); +#endif + return ((high << 8) | low); } @@ -458,12 +465,7 @@ * locking for many reasons, but it calls here for at least atkbd * input. */ -#ifdef KDB - if (kdb_active) - prev_tick = 0; - else -#endif - prev_tick = getit(); + prev_tick = getit(); n -= 0; /* XXX actually guess no initial overhead */ /* * Calculate (n * (timer_freq / 1e6)) without using floating point @@ -490,13 +492,7 @@ / 1000000; while (ticks_left > 0) { -#ifdef KDB - if (kdb_active) { - inb(0x84); - tick = prev_tick + 1; - } else -#endif - tick = getit(); + tick = getit(); #ifdef DELAYDEBUG ++getit_calls; #endif From owner-p4-projects@FreeBSD.ORG Mon Mar 29 21:22:20 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8627016A4D0; Mon, 29 Mar 2004 21:22:20 -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 52DA716A4CE for ; Mon, 29 Mar 2004 21:22:20 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4B5B743D2D for ; Mon, 29 Mar 2004 21:22:20 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2U5MKGe089578 for ; Mon, 29 Mar 2004 21:22:20 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2U5MJD5089569 for perforce@freebsd.org; Mon, 29 Mar 2004 21:22:19 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Mon, 29 Mar 2004 21:22:19 -0800 (PST) Message-Id: <200403300522.i2U5MJD5089569@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 49940 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: Tue, 30 Mar 2004 05:22:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=49940 Change 49940 by marcel@marcel_nfs on 2004/03/29 21:22:02 Argh.. actually lock when KDB is not defined. Spotted by: kan Affected files ... .. //depot/projects/gdb/sys/i386/isa/clock.c#4 edit Differences ... ==== //depot/projects/gdb/sys/i386/isa/clock.c#4 (text+ko) ==== @@ -405,8 +405,8 @@ #ifdef KDB if (!kdb_active) +#endif mtx_lock_spin(&clock_lock); -#endif /* Select timer0 and latch counter value. */ outb(TIMER_MODE, TIMER_SEL0 | TIMER_LATCH); @@ -416,8 +416,8 @@ #ifdef KDB if (!kdb_active) +#endif mtx_unlock_spin(&clock_lock); -#endif return ((high << 8) | low); } From owner-p4-projects@FreeBSD.ORG Mon Mar 29 22:53:13 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DBEAC16A4D0; Mon, 29 Mar 2004 22:53:12 -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 AFBCA16A4CE for ; Mon, 29 Mar 2004 22:53:12 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7088A43D3F for ; Mon, 29 Mar 2004 22:53:12 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2U6rCGe009046 for ; Mon, 29 Mar 2004 22:53:12 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2U6rB99009043 for perforce@freebsd.org; Mon, 29 Mar 2004 22:53:11 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Mon, 29 Mar 2004 22:53:11 -0800 (PST) Message-Id: <200403300653.i2U6rB99009043@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 49942 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: Tue, 30 Mar 2004 06:53:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=49942 Change 49942 by marcel@marcel_nfs on 2004/03/29 22:53:04 Add kdb_jmpbuf(). Backends use this function to "install" a jmp_buf. The function returns the previous jmp_buf. When the trappable code has completed, the previous jmp_buf can be restored by calling kdb_jmpbuf() again. In trap(), test early for traps from within the debugger. Do not print the trap information. Just call kdb_trap() where recursion is handled by doing a longjmp() for the most recent jmp_buf. Protect memory accesses in gdb_tx_mem() with a jmp_buf. Affected files ... .. //depot/projects/gdb/sys/gdb/gdb_int.h#6 edit .. //depot/projects/gdb/sys/gdb/gdb_packet.c#9 edit .. //depot/projects/gdb/sys/i386/i386/trap.c#7 edit .. //depot/projects/gdb/sys/ia64/ia64/trap.c#6 edit .. //depot/projects/gdb/sys/kern/subr_kdb.c#10 edit .. //depot/projects/gdb/sys/sys/kdb.h#8 edit Differences ... ==== //depot/projects/gdb/sys/gdb/gdb_int.h#6 (text+ko) ==== @@ -54,7 +54,7 @@ void gdb_tx_begin(char); int gdb_tx_end(void); -void gdb_tx_mem(const unsigned char *, size_t); +int gdb_tx_mem(const unsigned char *, size_t); void gdb_tx_reg(int); static __inline void ==== //depot/projects/gdb/sys/gdb/gdb_packet.c#9 (text+ko) ==== @@ -30,6 +30,7 @@ #include #include #include +#include #include @@ -224,15 +225,24 @@ return (0); } -void +int gdb_tx_mem(const unsigned char *addr, size_t size) { + void *prev; + jmp_buf jb; + int ret; - while (size-- > 0) { - *gdb_txp++ = N2C(*addr >> 4); - *gdb_txp++ = N2C(*addr & 0x0f); - addr++; + prev = kdb_jmpbuf(jb); + ret = setjmp(jb); + if (ret == 0) { + while (size-- > 0) { + *gdb_txp++ = N2C(*addr >> 4); + *gdb_txp++ = N2C(*addr & 0x0f); + addr++; + } } + (void)kdb_jmpbuf(prev); + return ((ret == 0) ? 1 : 0); } void ==== //depot/projects/gdb/sys/i386/i386/trap.c#7 (text+ko) ==== @@ -46,7 +46,6 @@ #include "opt_clock.h" #include "opt_cpu.h" -#include "opt_ddb.h" #include "opt_isa.h" #include "opt_ktrace.h" #include "opt_npx.h" @@ -55,10 +54,10 @@ #include #include #include -#include #include #include #include +#include #include #include #include @@ -97,8 +96,6 @@ #include #endif -#include - extern void trap(struct trapframe frame); #ifdef I386_CPU extern int trapwrite(unsigned addr); @@ -148,10 +145,10 @@ extern int has_f00f_bug; #endif -#ifdef DDB -static int ddb_on_nmi = 1; -SYSCTL_INT(_machdep, OID_AUTO, ddb_on_nmi, CTLFLAG_RW, - &ddb_on_nmi, 0, "Go to DDB on NMI"); +#ifdef KDB +static int kdb_on_nmi = 1; +SYSCTL_INT(_machdep, OID_AUTO, kdb_on_nmi, CTLFLAG_RW, + &kdb_on_nmi, 0, "Go to KDB on NMI"); #endif static int panic_on_nmi = 1; SYSCTL_INT(_machdep, OID_AUTO, panic_on_nmi, CTLFLAG_RW, @@ -191,9 +188,8 @@ td->td_last_frame = &frame; #ifdef KDB - if (kdb_active) { - eva = (type == T_PAGEFLT ? rcr2() : 0); - trap_fatal(&frame, eva); + if (kdb_active && type == T_PAGEFLT) { + kdb_trap(type, 0, &frame); goto out; } #endif @@ -365,16 +361,16 @@ /* machine/parity/power fail/"kitchen sink" faults */ /* XXX Giant */ if (isa_nmi(code) == 0) { -#ifdef DDB +#ifdef KDB /* * NMI can be hooked up to a pushbutton * for debugging. */ - if (ddb_on_nmi) { + if (kdb_on_nmi) { printf ("NMI ... going to debugger\n"); - kdb_trap (type, 0, &frame); + kdb_trap(type, 0, &frame); } -#endif /* DDB */ +#endif /* KDB */ goto userout; } else if (panic_on_nmi) panic("NMI indicates hardware failure"); @@ -573,12 +569,12 @@ */ case T_BPTFLT: /* - * If DDB is enabled, let it handle the debugger trap. + * If KDB is enabled, let it handle the debugger trap. * Otherwise, debugger traps "can't happen". */ -#ifdef DDB +#ifdef KDB /* XXX Giant */ - if (kdb_trap (type, 0, &frame)) + if (kdb_trap(type, 0, &frame)) goto out; #endif break; @@ -598,16 +594,16 @@ /* XXX Giant */ /* machine/parity/power fail/"kitchen sink" faults */ if (isa_nmi(code) == 0) { -#ifdef DDB +#ifdef KDB /* * NMI can be hooked up to a pushbutton * for debugging. */ - if (ddb_on_nmi) { + if (kdb_on_nmi) { printf ("NMI ... going to debugger\n"); - kdb_trap (type, 0, &frame); + kdb_trap(type, 0, &frame); } -#endif /* DDB */ +#endif /* KDB */ goto out; } else if (panic_on_nmi == 0) goto out; @@ -809,7 +805,7 @@ } #ifdef KDB - if ((debugger_on_panic || kdb_active) && kdb_trap(type, 0, frame)) + if (kdb_trap(type, 0, frame)) return; #endif printf("trap number = %d\n", type); ==== //depot/projects/gdb/sys/ia64/ia64/trap.c#6 (text+ko) ==== @@ -76,10 +76,6 @@ #include #endif -#ifdef DDB -#include -#endif - static int print_usertrap = 0; SYSCTL_INT(_machdep, OID_AUTO, print_usertrap, CTLFLAG_RW, &print_usertrap, 0, ""); @@ -378,6 +374,10 @@ sticks = 0; /* XXX bogus -Wuninitialized warning */ KASSERT(cold || td->td_ucred != NULL, ("kernel trap doesn't have ucred")); +#ifdef KDB + if (kdb_active && vector == IA64_VEC_PAGE_NOT_PRESENT) + kdb_trap(vector, 0, tf); +#endif } sig = 0; ==== //depot/projects/gdb/sys/kern/subr_kdb.c#10 (text+ko) ==== @@ -38,6 +38,7 @@ #include int kdb_active = 0; +void *kdb_jmpbufp = NULL; struct kdb_dbbe *kdb_dbbe = NULL; struct thread *kdb_thread = NULL; struct trapframe *kdb_frame = NULL; @@ -102,6 +103,20 @@ } /* + * Handle contexts. + */ + +void * +kdb_jmpbuf(jmp_buf new) +{ + void *old; + + old = kdb_jmpbufp; + kdb_jmpbufp = new; + return (old); +} + +/* * Enter the currently selected debugger. If a message has been provided, * it is printed first. If the debugger does not support the enter method, * it is entered by using breakpoint(), which enters the debugger through @@ -112,7 +127,7 @@ kdb_enter(const char *msg) { - if (kdb_dbbe != NULL) { + if (kdb_dbbe != NULL && kdb_active == 0) { if (msg != NULL) printf("KDB: enter: %s\n", msg); breakpoint(); @@ -189,6 +204,12 @@ critical_enter(); + /* Check for recursion. */ + if (kdb_active && kdb_jmpbufp != NULL) { + critical_exit(); + longjmp(kdb_jmpbufp, 1); + } + kdb_active++; kdb_thread = curthread; kdb_frame = tf; ==== //depot/projects/gdb/sys/sys/kdb.h#8 (text+ko) ==== @@ -29,6 +29,8 @@ #ifndef _SYS_KDB_H_ #define _SYS_KDB_H_ +#include + typedef int dbbe_init_f(void); typedef void dbbe_trace_f(void); typedef int dbbe_trap_f(int, int); @@ -62,6 +64,7 @@ void kdb_backtrace(void); void kdb_enter(const char *); void kdb_init(void); +void * kdb_jmpbuf(jmp_buf); int kdb_set_thread(pid_t); int kdb_trap(int, int, struct trapframe *); From owner-p4-projects@FreeBSD.ORG Tue Mar 30 09:21:10 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 888AB16A4D0; Tue, 30 Mar 2004 09:21:10 -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 5807516A4CE for ; Tue, 30 Mar 2004 09:21:10 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5005243D2F for ; Tue, 30 Mar 2004 09:21:10 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2UHLAGe066451 for ; Tue, 30 Mar 2004 09:21:10 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2UHL9F0066445 for perforce@freebsd.org; Tue, 30 Mar 2004 09:21:09 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 30 Mar 2004 09:21:09 -0800 (PST) Message-Id: <200403301721.i2UHL9F0066445@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 49977 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: Tue, 30 Mar 2004 17:21:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=49977 Change 49977 by peter@peter_daintree on 2004/03/30 09:21:07 GC some crud Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#7 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#7 (text+ko) ==== @@ -207,14 +207,8 @@ Elf_Ehdr *hdr; caddr_t firstpage; int nbytes, i; - Elf_Phdr *phdr; - Elf_Phdr *phlimit; - Elf_Phdr *segs[2]; int nsegs; - caddr_t mapbase; size_t mapsize; - Elf_Off base_offset; - Elf_Addr base_vaddr; Elf_Addr base_vlimit; int error = 0; int resid, flags; @@ -232,6 +226,7 @@ shdr = NULL; lf = NULL; + mapsize = 0; NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, filename, td); flags = FREAD; @@ -321,13 +316,7 @@ error = ENOMEM; goto out; } - ef = (elf_file_t) lf; - ef->address = malloc(mapsize, M_LINKER, M_WAITOK); - if (!ef->address) { - error = ENOMEM; - goto out; - } /* * Scan the program header entries, and save key information. @@ -502,33 +491,6 @@ /* XXX *************** STEP 4 GOES HERE ************* XXX */ - /* - * Allocate the entire address space of the object, to stake out our - * contiguous region, and to establish the base address for relocation. - */ - base_offset = trunc_page(segs[0]->p_offset); - base_vaddr = trunc_page(segs[0]->p_vaddr); - base_vlimit = round_page(segs[1]->p_vaddr + segs[1]->p_memsz); - mapsize = base_vlimit - base_vaddr; - - mapbase = ef->address; - - /* - * Read the text and data sections and zero the bss. - */ - for (i = 0; i < 2; i++) { - caddr_t segbase = mapbase + segs[i]->p_vaddr - base_vaddr; - error = vn_rdwr(UIO_READ, nd.ni_vp, - segbase, segs[i]->p_filesz, segs[i]->p_offset, - UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, - &resid, td); - if (error) { - goto out; - } - bzero(segbase + segs[i]->p_filesz, - segs[i]->p_memsz - segs[i]->p_filesz); - } - lf->address = ef->address; lf->size = mapsize; From owner-p4-projects@FreeBSD.ORG Tue Mar 30 10:34:41 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C3BD616A4D0; Tue, 30 Mar 2004 10:34:40 -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 9914116A4CF for ; Tue, 30 Mar 2004 10:34:40 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 88FE443D39 for ; Tue, 30 Mar 2004 10:34:40 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2UIYeGe082919 for ; Tue, 30 Mar 2004 10:34:40 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2UIYd83082916 for perforce@freebsd.org; Tue, 30 Mar 2004 10:34:39 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 30 Mar 2004 10:34:39 -0800 (PST) Message-Id: <200403301834.i2UIYd83082916@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 49980 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: Tue, 30 Mar 2004 18:34:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=49980 Change 49980 by peter@peter_overcee on 2004/03/30 10:34:21 IFC @49979 Affected files ... .. //depot/projects/hammer/bin/ps/ps.c#9 integrate .. //depot/projects/hammer/etc/mtree/BSD.local.dist#19 integrate .. //depot/projects/hammer/etc/mtree/BSD.usr.dist#23 integrate .. //depot/projects/hammer/lib/libc/include/nss_tls.h#2 integrate .. //depot/projects/hammer/lib/libc/locale/Makefile.inc#19 integrate .. //depot/projects/hammer/lib/libc/locale/ctype.3#4 integrate .. //depot/projects/hammer/lib/libc/locale/digittoint.3#2 integrate .. //depot/projects/hammer/lib/libc/locale/isdigit.3#3 integrate .. //depot/projects/hammer/lib/libc/locale/isideogram.3#1 branch .. //depot/projects/hammer/lib/libc/locale/isphonogram.3#1 branch .. //depot/projects/hammer/lib/libc/locale/isrune.3#1 branch .. //depot/projects/hammer/lib/libc/locale/isspecial.3#1 branch .. //depot/projects/hammer/lib/libc/locale/isxdigit.3#3 integrate .. //depot/projects/hammer/lib/libc/net/nsdispatch.c#6 integrate .. //depot/projects/hammer/lib/libc/net/nss_compat.c#3 integrate .. //depot/projects/hammer/lib/libdisk/Makefile#7 integrate .. //depot/projects/hammer/lib/libdisk/disk.c#16 integrate .. //depot/projects/hammer/lib/libdisk/libdisk.h#13 integrate .. //depot/projects/hammer/lib/libdisk/open_disk.c#3 integrate .. //depot/projects/hammer/lib/libdisk/rules.c#13 integrate .. //depot/projects/hammer/lib/libdisk/write_i386_disk.c#6 integrate .. //depot/projects/hammer/lib/libdisk/write_pc98_disk.c#6 integrate .. //depot/projects/hammer/secure/lib/libcrypto/Makefile.inc#6 integrate .. //depot/projects/hammer/share/man/man4/ng_sppp.4#1 branch .. //depot/projects/hammer/share/man/man5/rc.conf.5#23 integrate .. //depot/projects/hammer/sys/conf/NOTES#39 integrate .. //depot/projects/hammer/sys/conf/files.i386#26 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pf.c#4 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi.c#29 integrate .. //depot/projects/hammer/sys/dev/nge/if_nge.c#15 integrate .. //depot/projects/hammer/sys/dev/twa/twa.c#1 branch .. //depot/projects/hammer/sys/dev/twa/twa.h#1 branch .. //depot/projects/hammer/sys/dev/twa/twa_cam.c#1 branch .. //depot/projects/hammer/sys/dev/twa/twa_externs.h#1 branch .. //depot/projects/hammer/sys/dev/twa/twa_freebsd.c#1 branch .. //depot/projects/hammer/sys/dev/twa/twa_fwimg.c#1 branch .. //depot/projects/hammer/sys/dev/twa/twa_globals.c#1 branch .. //depot/projects/hammer/sys/dev/twa/twa_includes.h#1 branch .. //depot/projects/hammer/sys/dev/twa/twa_ioctl.h#1 branch .. //depot/projects/hammer/sys/dev/twa/twa_reg.h#1 branch .. //depot/projects/hammer/sys/fs/udf/udf_vfsops.c#9 integrate .. //depot/projects/hammer/sys/fs/udf/udf_vnops.c#15 integrate .. //depot/projects/hammer/sys/i386/conf/GENERIC#21 integrate .. //depot/projects/hammer/sys/kern/subr_param.c#9 integrate .. //depot/projects/hammer/sys/kern/uipc_usrreq.c#10 integrate .. //depot/projects/hammer/sys/modules/twa/Makefile#1 branch .. //depot/projects/hammer/sys/powerpc/powerpc/vm_machdep.c#15 integrate .. //depot/projects/hammer/usr.bin/pkill/pkill.c#2 integrate .. //depot/projects/hammer/usr.sbin/diskinfo/diskinfo.8#4 integrate .. //depot/projects/hammer/usr.sbin/diskinfo/diskinfo.c#2 integrate Differences ... ==== //depot/projects/hammer/bin/ps/ps.c#9 (text+ko) ==== @@ -51,7 +51,7 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.80 2004/03/29 03:03:28 gad Exp $"); +__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.84 2004/03/30 04:20:33 gad Exp $"); #include #include @@ -134,7 +134,8 @@ static void add_list(struct listinfo *, const char *); static void dynsizevars(KINFO *); static void *expand_list(struct listinfo *); -static const char *fmt(char **(*)(kvm_t *, const struct kinfo_proc *, int), +static const char * + fmt(char **(*)(kvm_t *, const struct kinfo_proc *, int), KINFO *, char *, int); static void free_list(struct listinfo *); static void init_list(struct listinfo *, addelem_rtn, int, const char *); @@ -254,7 +255,7 @@ break; case 'g': #if 0 - /* + /*- * XXX - This SUSv3 behavior is still under debate * since it conflicts with the (undocumented) * `-g' option. So we skip it for now. @@ -320,7 +321,7 @@ break; #if 0 case 'R': - /* + /*- * XXX - This un-standard option is still under * debate. This is what SUSv3 defines as * the `-U' option, and while it would be @@ -340,7 +341,7 @@ break; #if 0 case 's': - /* + /*- * XXX - This non-standard option is still under * debate. This *is* supported on Solaris, * Linux, and IRIX, but conflicts with `-s' @@ -480,7 +481,7 @@ flag = *ruidlist.uids; nselectors = 0; #if 0 - /* + /*- * XXX - KERN_PROC_SESSION causes error in kvm_getprocs? * For now, always do sid-matching in this routine. */ @@ -628,7 +629,7 @@ struct group *grp; const char *nameorID; char *endp; - intmax_t ltemp; + u_long bigtemp; if (*elem == '\0' || strlen(elem) >= MAXLOGNAME) { if (*elem == '\0') @@ -651,10 +652,10 @@ grp = NULL; nameorID = "named"; errno = 0; - ltemp = strtol(elem, &endp, 10); - if (errno == 0 && *endp == '\0' && ltemp >= 0 && ltemp <= GID_MAX) { + bigtemp = strtoul(elem, &endp, 10); + if (errno == 0 && *endp == '\0' && bigtemp <= GID_MAX) { nameorID = "name or ID matches"; - grp = getgrgid((gid_t)ltemp); + grp = getgrgid((gid_t)bigtemp); } if (grp == NULL) grp = getgrnam(elem); @@ -670,7 +671,7 @@ return (1); } -#define BSD_PID_MAX 99999 /* Copy of PID_MAX from sys/proc.h. */ +#define BSD_PID_MAX 99999 /* Copy of PID_MAX from sys/proc.h. */ static int addelem_pid(struct listinfo *inf, const char *elem) { @@ -741,7 +742,7 @@ { struct passwd *pwd; char *endp; - intmax_t ltemp; + u_long bigtemp; if (*elem == '\0' || strlen(elem) >= MAXLOGNAME) { if (*elem == '\0') @@ -755,13 +756,12 @@ pwd = getpwnam(elem); if (pwd == NULL) { errno = 0; - ltemp = strtol(elem, &endp, 10); - if (errno != 0 || *endp != '\0' || ltemp < 0 || - ltemp > UID_MAX) + bigtemp = strtoul(elem, &endp, 10); + if (errno != 0 || *endp != '\0' || bigtemp > UID_MAX) warnx("No %s named '%s'", inf->lname, elem); else { /* The string is all digits, so it might be a userID. */ - pwd = getpwuid((uid_t)ltemp); + pwd = getpwuid((uid_t)bigtemp); if (pwd == NULL) warnx("No %s name or ID matches '%s'", inf->lname, elem); @@ -814,7 +814,7 @@ */ inf->addelem(inf, elemcopy); #else - /* + /*- * This would add a simple non-standard-but-convienent * feature. * @@ -1024,20 +1024,49 @@ static int pscomp(const void *a, const void *b) { - int i; -#define VSIZE(k) ((k)->ki_p->ki_dsize + (k)->ki_p->ki_ssize + \ - (k)->ki_p->ki_tsize) + const KINFO *ka, *kb; + double cpua, cpub; + segsz_t sizea, sizeb; - if (sortby == SORTCPU) - return (getpcpu((const KINFO *)b) - getpcpu((const KINFO *)a)); - if (sortby == SORTMEM) - return (VSIZE((const KINFO *)b) - VSIZE((const KINFO *)a)); - i = (int)((const KINFO *)a)->ki_p->ki_tdev - - (int)((const KINFO *)b)->ki_p->ki_tdev; - if (i == 0) - i = ((const KINFO *)a)->ki_p->ki_pid - - ((const KINFO *)b)->ki_p->ki_pid; - return (i); + ka = a; + kb = b; + /* SORTCPU and SORTMEM are sorted in descending order. */ + if (sortby == SORTCPU) { + cpua = getpcpu(ka); + cpub = getpcpu(kb); + if (cpua < cpub) + return (1); + if (cpua > cpub) + return (-1); + } + if (sortby == SORTMEM) { + sizea = ka->ki_p->ki_tsize + ka->ki_p->ki_dsize + + ka->ki_p->ki_ssize; + sizeb = kb->ki_p->ki_tsize + kb->ki_p->ki_dsize + + kb->ki_p->ki_ssize; + if (sizea < sizeb) + return (1); + if (sizea > sizeb) + return (-1); + } + /* + * TTY's are sorted in ascending order, except that all NODEV + * processes come before all processes with a device. + */ + if (ka->ki_p->ki_tdev == NODEV && kb->ki_p->ki_tdev != NODEV) + return (-1); + if (ka->ki_p->ki_tdev != NODEV && kb->ki_p->ki_tdev == NODEV) + return (1); + if (ka->ki_p->ki_tdev < kb->ki_p->ki_tdev) + return (-1); + if (ka->ki_p->ki_tdev > kb->ki_p->ki_tdev) + return (1); + /* PID's are sorted in ascending order. */ + if (ka->ki_p->ki_pid < kb->ki_p->ki_pid) + return (-1); + if (ka->ki_p->ki_pid > kb->ki_p->ki_pid) + return (1); + return (0); } /* ==== //depot/projects/hammer/etc/mtree/BSD.local.dist#19 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.109 2004/03/29 11:07:35 tjr Exp $ +# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.110 2004/03/30 14:20:45 des Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -273,7 +273,6 @@ nls C .. - POSIX type=link link=C af_ZA.ISO8859-1 .. af_ZA.ISO8859-15 @@ -368,7 +367,6 @@ .. en_US.ISO8859-1 .. - en_US.US-ASCII type=link link=C en_US.ISO8859-15 .. en_US.UTF-8 ==== //depot/projects/hammer/etc/mtree/BSD.usr.dist#23 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.300 2004/03/29 11:07:35 tjr Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.301 2004/03/30 14:20:45 des Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -801,7 +801,6 @@ nls C .. - POSIX type=link link=C af_ZA.ISO8859-1 .. af_ZA.ISO8859-15 @@ -896,7 +895,6 @@ .. en_US.ISO8859-1 .. - en_US.US-ASCII type=link link=C en_US.ISO8859-15 .. en_US.UTF-8 ==== //depot/projects/hammer/lib/libc/include/nss_tls.h#2 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libc/include/nss_tls.h,v 1.2 2003/04/21 15:44:25 nectar Exp $ + * $FreeBSD: src/lib/libc/include/nss_tls.h,v 1.3 2004/03/30 15:56:15 nectar Exp $ * * Macros which generate thread local storage handling code in NSS modules. */ @@ -75,6 +75,6 @@ return (rv); \ } \ /* allow the macro invocation to end with a semicolon */ \ -typedef int _##name##_bmVjdGFy +struct _clashproof_bmVjdGFy #endif /* _NSS_TLS_H_ */ ==== //depot/projects/hammer/lib/libc/locale/Makefile.inc#19 (text+ko) ==== @@ -1,5 +1,5 @@ # from @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/libc/locale/Makefile.inc,v 1.54 2004/03/29 21:46:52 tjr Exp $ +# $FreeBSD: src/lib/libc/locale/Makefile.inc,v 1.55 2004/03/30 07:23:54 tjr Exp $ # locale sources .PATH: ${.CURDIR}/${MACHINE_ARCH}/locale ${.CURDIR}/locale @@ -21,7 +21,8 @@ MAN+= btowc.3 \ ctype.3 digittoint.3 isalnum.3 isalpha.3 isascii.3 isblank.3 iscntrl.3 \ - isdigit.3 isgraph.3 islower.3 isprint.3 ispunct.3 isspace.3 \ + isdigit.3 isgraph.3 isideogram.3 islower.3 isphonogram.3 isprint.3 \ + ispunct.3 isrune.3 isspace.3 isspecial.3 \ isupper.3 iswalnum.3 isxdigit.3 localeconv.3 mblen.3 mbrlen.3 \ mbrtowc.3 \ mbrune.3 mbsinit.3 \ ==== //depot/projects/hammer/lib/libc/locale/ctype.3#4 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)ctype.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/ctype.3,v 1.13 2003/09/08 19:57:14 ru Exp $ +.\" $FreeBSD: src/lib/libc/locale/ctype.3,v 1.14 2004/03/30 08:11:57 tjr Exp $ .\" -.Dd June 4, 1993 +.Dd March 30, 2004 .Dt CTYPE 3 .Os .Sh NAME @@ -124,15 +124,20 @@ .Xr iscntrl 3 , .Xr isdigit 3 , .Xr isgraph 3 , +.Xr isideogram 3 , .Xr islower 3 , +.Xr isrune 3 , +.Xr isphonogram 3 , .Xr isprint 3 , .Xr ispunct 3 , .Xr isspace 3 , +.Xr isspecial 3 , .Xr isupper 3 , .Xr isxdigit 3 , .Xr toascii 3 , .Xr tolower 3 , .Xr toupper 3 , +.Xr wctype 3 , .Xr ascii 7 .Sh STANDARDS These functions, except for ==== //depot/projects/hammer/lib/libc/locale/digittoint.3#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)digittoint.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/digittoint.3,v 1.2 2002/03/18 15:44:27 ru Exp $ +.\" $FreeBSD: src/lib/libc/locale/digittoint.3,v 1.3 2004/03/30 07:19:35 tjr Exp $ .\" .Dd April 6, 2001 .Dt DIGITTOINT 3 @@ -58,19 +58,6 @@ .Xr isxdigit 3 , the function will return 0. .Sh SEE ALSO -.Xr isalnum 3 , -.Xr isalpha 3 , -.Xr isascii 3 , -.Xr iscntrl 3 , +.Xr ctype 3 , .Xr isdigit 3 , -.Xr isgraph 3 , -.Xr islower 3 , -.Xr isprint 3 , -.Xr ispunct 3 , -.Xr isspace 3 , -.Xr isupper 3 , -.Xr isxdigit 3 , -.Xr stdio 3 , -.Xr tolower 3 , -.Xr toupper 3 , -.Xr ascii 7 +.Xr isxdigit 3 ==== //depot/projects/hammer/lib/libc/locale/isdigit.3#3 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isdigit.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isdigit.3,v 1.16 2002/10/06 10:15:38 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isdigit.3,v 1.17 2004/03/30 07:02:04 tjr Exp $ .\" -.Dd October 6, 2002 +.Dd March 30, 2004 .Dt ISDIGIT 3 .Os .Sh NAME @@ -53,15 +53,21 @@ .Sh DESCRIPTION The .Fn isdigit -function tests for any decimal-digit character. -For any locale, -this includes the following characters only: +function tests for a decimal digit character. +Regardless of locale, this includes the following characters only: .Pp .Bl -column \&``0''______ \&``0''______ \&``0''______ \&``0''______ \&``0''______ .It "\&``0''\t``1''\t``2''\t``3''\t``4''" .It "\&``5''\t``6''\t``7''\t``8''\t``9''" .El .Pp +The +.Fn isnumber +function behaves similarly to +.Fn isdigit , +but may recognize additional characters, depending on the current locale +setting. +.Pp For single C .Va char Ns s locales (see @@ -74,7 +80,9 @@ .Sh RETURN VALUES The .Fn isdigit -function returns zero if the character tests false and +and +.Fn isnumber +functions return zero if the character tests false and returns non-zero if the character tests true. .Sh COMPATIBILITY Although @@ -97,3 +105,8 @@ .Fn isdigit function conforms to .St -isoC . +.Sh HISTORY +The +.Fn isnumber +function appeared in +.Bx 4.4 . ==== //depot/projects/hammer/lib/libc/locale/isxdigit.3#3 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isxdigit.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isxdigit.3,v 1.16 2002/10/06 10:15:38 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isxdigit.3,v 1.17 2004/03/30 07:02:04 tjr Exp $ .\" -.Dd October 6, 2002 +.Dd March 30, 2004 .Dt ISXDIGIT 3 .Os .Sh NAME @@ -54,7 +54,7 @@ The .Fn isxdigit function tests for any hexadecimal-digit character. -For any locale, this includes the following characters only: +Regardless of locale, this includes the following characters only: .Pp .Bl -column \&``0''______ \&``0''______ \&``0''______ \&``0''______ \&``0''______ .It "\&``0''\t``1''\t``2''\t``3''\t``4''" @@ -64,6 +64,13 @@ .It "\&``e''\t``f''" .El .Pp +The +.Fn ishexnumber +function behaves similarly to +.Fn isxdigit , +but may recognize additional characters, +depennding on the current locale setting. +.Pp For single C .Va char Ns s locales (see @@ -81,18 +88,14 @@ .Sh COMPATIBILITY Although .Fn isxdigit -and -.Fn ishexnumber -accept arguments outside of the range of the +accepts arguments outside of the range of the .Vt "unsigned char" type in locales with large character sets, this is a .Bx 4.4 extension and the .Fn isxwdigit -and -.Fn iswhexnumber -functions should be used instead for maximum portability. +function should be used instead for maximum portability. .Sh SEE ALSO .Xr ctype 3 , .Xr iswxdigit 3 , @@ -103,3 +106,8 @@ .Fn isxdigit function conforms to .St -isoC . +.Sh HISTORY +The +.Fn ishexnumber +function appeared in +.Bx 4.4 . ==== //depot/projects/hammer/lib/libc/net/nsdispatch.c#6 (text+ko) ==== @@ -68,7 +68,7 @@ * */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/nsdispatch.c,v 1.10 2004/03/15 08:14:35 des Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/nsdispatch.c,v 1.11 2004/03/30 15:56:15 nectar Exp $"); #include "namespace.h" #include @@ -316,9 +316,11 @@ static pthread_mutex_t conf_lock = PTHREAD_MUTEX_INITIALIZER; static time_t confmod; struct stat statbuf; - int result; + int result, isthreaded; const char *path; + result = 0; + isthreaded = __isthreaded; #if defined(_NSS_DEBUG) && defined(_NSS_SHOOT_FOOT) /* NOTE WELL: THIS IS A SECURITY HOLE. This must only be built * for debugging purposes and MUST NEVER be used in production. @@ -331,16 +333,20 @@ return (0); if (statbuf.st_mtime <= confmod) return (0); - result = _pthread_mutex_trylock(&conf_lock); - if (result != 0) - return (0); - (void)_pthread_rwlock_unlock(&nss_lock); - result = _pthread_rwlock_wrlock(&nss_lock); - if (result != 0) - goto fin2; + if (isthreaded) { + result = _pthread_mutex_trylock(&conf_lock); + if (result != 0) + return (0); + (void)_pthread_rwlock_unlock(&nss_lock); + result = _pthread_rwlock_wrlock(&nss_lock); + if (result != 0) + goto fin2; + } _nsyyin = fopen(path, "r"); - if (_nsyyin == NULL) + if (_nsyyin == NULL) { + result = errno; goto fin; + } VECTOR_FREE(_nsmap, &_nsmapsize, sizeof(*_nsmap), (vector_free_elem)ns_dbt_free); VECTOR_FREE(_nsmod, &_nsmodsize, sizeof(*_nsmod), @@ -353,10 +359,14 @@ (void)atexit(nss_atexit); confmod = statbuf.st_mtime; fin: - (void)_pthread_rwlock_unlock(&nss_lock); - result = _pthread_rwlock_rdlock(&nss_lock); + if (isthreaded) { + (void)_pthread_rwlock_unlock(&nss_lock); + if (result == 0) + result = _pthread_rwlock_rdlock(&nss_lock); + } fin2: - (void)_pthread_mutex_unlock(&conf_lock); + if (isthreaded) + (void)_pthread_mutex_unlock(&conf_lock); return (result); } @@ -510,12 +520,17 @@ static void nss_atexit(void) { - (void)_pthread_rwlock_wrlock(&nss_lock); + int isthreaded; + + isthreaded = __isthreaded; + if (isthreaded) + (void)_pthread_rwlock_wrlock(&nss_lock); VECTOR_FREE(_nsmap, &_nsmapsize, sizeof(*_nsmap), (vector_free_elem)ns_dbt_free); VECTOR_FREE(_nsmod, &_nsmodsize, sizeof(*_nsmod), (vector_free_elem)ns_mod_free); - (void)_pthread_rwlock_unlock(&nss_lock); + if (isthreaded) + (void)_pthread_rwlock_unlock(&nss_lock); } @@ -568,13 +583,16 @@ const ns_src *srclist; nss_method method; void *mdata; - int serrno, i, result, srclistsize; + int isthreaded, serrno, i, result, srclistsize; + isthreaded = __isthreaded; serrno = errno; - result = _pthread_rwlock_rdlock(&nss_lock); - if (result != 0) { - result = NS_UNAVAIL; - goto fin; + if (isthreaded) { + result = _pthread_rwlock_rdlock(&nss_lock); + if (result != 0) { + result = NS_UNAVAIL; + goto fin; + } } result = nss_configure(); if (result != 0) { @@ -604,7 +622,8 @@ break; } } - (void)_pthread_rwlock_unlock(&nss_lock); + if (isthreaded) + (void)_pthread_rwlock_unlock(&nss_lock); fin: errno = serrno; return (result); ==== //depot/projects/hammer/lib/libc/net/nss_compat.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ * Compatibility shims for the GNU C Library-style nsswitch interface. */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/nss_compat.c,v 1.2 2004/01/09 13:43:49 nectar Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/nss_compat.c,v 1.3 2004/03/30 15:56:15 nectar Exp $"); #include "namespace.h" #include @@ -41,6 +41,7 @@ #include #include #include "un-namespace.h" +#include "libc_private.h" struct group; @@ -60,7 +61,7 @@ #define SET_TERMINATOR(x, y) \ do { \ - if (_pthread_main_np()) \ + if (!__isthreaded || _pthread_main_np()) \ _term_main_##x = (y); \ else { \ (void)_pthread_once(&_term_once_##x, _term_create_##x); \ @@ -69,7 +70,7 @@ } while (0) #define CHECK_TERMINATOR(x) \ -(_pthread_main_np() ? \ +(!__isthreaded || _pthread_main_np() ? \ (_term_main_##x) : \ ((void)_pthread_once(&_term_once_##x, _term_create_##x), \ _pthread_getspecific(_term_key_##x))) ==== //depot/projects/hammer/lib/libdisk/Makefile#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libdisk/Makefile,v 1.40 2004/02/23 20:07:47 johan Exp $ +# $FreeBSD: src/lib/libdisk/Makefile,v 1.42 2004/03/30 06:16:41 kuriyama Exp $ .if ${MACHINE_ARCH} == "ia64" _open_disk= open_ia64_disk.c ==== //depot/projects/hammer/lib/libdisk/disk.c#16 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libdisk/disk.c,v 1.119 2003/11/02 08:39:08 marcel Exp $"); +__FBSDID("$FreeBSD: src/lib/libdisk/disk.c,v 1.120 2004/03/30 01:38:59 kuriyama Exp $"); #include #include @@ -173,8 +173,8 @@ static int qstrcmp(const void* a, const void* b) { - char *str1 = *(char**)a; - char *str2 = *(char**)b; + const char *str1 = *(char* const*)a; + const char *str2 = *(char* const*)b; return strcmp(str1, str2); } ==== //depot/projects/hammer/lib/libdisk/libdisk.h#13 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * -* $FreeBSD: src/lib/libdisk/libdisk.h,v 1.60 2004/03/16 17:07:06 jhb Exp $ +* $FreeBSD: src/lib/libdisk/libdisk.h,v 1.61 2004/03/30 01:39:00 kuriyama Exp $ * */ @@ -273,6 +273,7 @@ void Fill_Disklabel(struct disklabel *, const struct disk *, const struct chunk *); void Debug_Chunk(struct chunk *); +struct chunk *New_Chunk(void); void Free_Chunk(struct chunk *); struct chunk *Clone_Chunk(const struct chunk *); int Add_Chunk(struct disk *, daddr_t, daddr_t, const char *, chunk_e, int, ==== //depot/projects/hammer/lib/libdisk/open_disk.c#3 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libdisk/open_disk.c,v 1.2 2004/03/16 17:07:06 jhb Exp $"); +__FBSDID("$FreeBSD: src/lib/libdisk/open_disk.c,v 1.3 2004/03/30 01:39:00 kuriyama Exp $"); #include #include @@ -95,8 +95,9 @@ d->sector_size = s; len /= s; /* media size in number of sectors. */ - if (Add_Chunk(d, 0, len, name, whole, 0, 0, "-")) + if (Add_Chunk(d, 0, len, name, whole, 0, 0, "-")) { DPRINT(("Failed to add 'whole' chunk")); + } for (;;) { a = strsep(&p, " "); @@ -191,14 +192,16 @@ o = d->chunks->size / (hd * sc); o *= (hd * sc); o -= alt * hd * sc; - if (Add_Chunk(d, 0, o, name, freebsd, 0, 0, "-")) + if (Add_Chunk(d, 0, o, name, freebsd, 0, 0, "-")) { DPRINT(("Failed to add 'freebsd' chunk")); + } } if (platform == p_alpha && !strcmp(t, "BSD") && d->chunks->part->part == NULL) { if (Add_Chunk(d, 0, d->chunks->size, name, freebsd, - 0, 0, "-")) + 0, 0, "-")) { DPRINT(("Failed to add 'freebsd' chunk")); + } } if (!strcmp(t, "BSD") && i == RAW_PART) continue; @@ -268,8 +271,9 @@ o = d->chunks->size / (hd * sc); o *= (hd * sc); o -= 2 * hd * sc; - if (Add_Chunk(d, 0, o, name, freebsd, 0, 0, "-")) + if (Add_Chunk(d, 0, o, name, freebsd, 0, 0, "-")) { DPRINT(("Failed to add 'freebsd' chunk")); + } } /* PLATFORM POLICY END --------------------------------------- */ ==== //depot/projects/hammer/lib/libdisk/rules.c#13 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libdisk/rules.c,v 1.33 2004/03/16 17:07:06 jhb Exp $"); +__FBSDID("$FreeBSD: src/lib/libdisk/rules.c,v 1.34 2004/03/30 01:39:00 kuriyama Exp $"); #include #include @@ -103,7 +103,7 @@ * Only one of them can have the "active" flag */ static void -Rule_000(const struct disk *d, const struct chunk *c, char *msg) +Rule_000(__unused const struct disk *d, const struct chunk *c, char *msg) { #ifdef PC98 int i = 0; @@ -180,7 +180,7 @@ * Max one 'fat' as child of 'whole' */ static void -Rule_002(const struct disk *d, const struct chunk *c, char *msg) +Rule_002(__unused const struct disk *d, const struct chunk *c, char *msg) { int i; struct chunk *c1; @@ -203,7 +203,7 @@ * Max one extended as child of 'whole' */ static void -Rule_003(const struct disk *d, const struct chunk *c, char *msg) +Rule_003(__unused const struct disk *d, const struct chunk *c, char *msg) { int i; struct chunk *c1; @@ -227,7 +227,7 @@ * Max one CHUNK_IS_ROOT child per 'freebsd' */ static void -Rule_004(const struct disk *d, const struct chunk *c, char *msg) +Rule_004(__unused const struct disk *d, const struct chunk *c, char *msg) { int i = 0, k = 0; struct chunk *c1; ==== //depot/projects/hammer/lib/libdisk/write_i386_disk.c#6 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libdisk/write_i386_disk.c,v 1.7 2003/04/04 16:35:13 phk Exp $"); +__FBSDID("$FreeBSD: src/lib/libdisk/write_i386_disk.c,v 1.8 2004/03/30 01:39:00 kuriyama Exp $"); #include #include @@ -69,14 +69,14 @@ * Special install-time configuration for the i386 boot0 boot manager. */ static void -Cfg_Boot_Mgr(u_char *mbr, int edd) +Cfg_Boot_Mgr(u_char *mbrblk, int edd) { - if (mbr[0x1b0] == 0x66 && mbr[0x1b1] == 0xbb) { + if (mbrblk[0x1b0] == 0x66 && mbrblk[0x1b1] == 0xbb) { if (edd) - mbr[0x1bb] |= 0x80; /* Packet mode on */ + mbrblk[0x1bb] |= 0x80; /* Packet mode on */ else - mbr[0x1bb] &= 0x7f; /* Packet mode off */ + mbrblk[0x1bb] &= 0x7f; /* Packet mode off */ } } @@ -88,7 +88,7 @@ struct chunk *c1; int ret = 0; char device[64]; - u_char *mbr; + u_char *mbrblk; struct dos_partition *dp,work[NDOSPART]; int s[4]; int need_edd = 0; /* Need EDD (packet interface) */ @@ -101,11 +101,11 @@ return 1; memset(s, 0, sizeof s); - mbr = read_block(fd, 0, d1->sector_size); - dp = (struct dos_partition *)(mbr + DOSPARTOFF); + mbrblk = read_block(fd, 0, d1->sector_size); + dp = (struct dos_partition *)(mbrblk + DOSPARTOFF); memcpy(work, dp, sizeof work); dp = work; - free(mbr); + free(mbrblk); for (c1 = d1->chunks->part; c1; c1 = c1->next) { if (c1->type == unused) continue; @@ -178,15 +178,15 @@ if (dp[i].dp_typ == 0xa5) dp[i].dp_flag = 0x80; - mbr = read_block(fd, 0, d1->sector_size); + mbrblk = read_block(fd, 0, d1->sector_size); if (d1->bootmgr) { - memcpy(mbr, d1->bootmgr, DOSPARTOFF); - Cfg_Boot_Mgr(mbr, need_edd); + memcpy(mbrblk, d1->bootmgr, DOSPARTOFF); + Cfg_Boot_Mgr(mbrblk, need_edd); } - memcpy(mbr + DOSPARTOFF, dp, sizeof *dp * NDOSPART); - mbr[512-2] = 0x55; - mbr[512-1] = 0xaa; - write_block(fd, 0, mbr, d1->sector_size); + memcpy(mbrblk + DOSPARTOFF, dp, sizeof *dp * NDOSPART); + mbrblk[512-2] = 0x55; + mbrblk[512-1] = 0xaa; + write_block(fd, 0, mbrblk, d1->sector_size); if (d1->bootmgr && d1->bootmgr_size > d1->sector_size) for (i = 1; i * d1->sector_size <= d1->bootmgr_size; i++) write_block(fd, i, &d1->bootmgr[i * d1->sector_size], ==== //depot/projects/hammer/lib/libdisk/write_pc98_disk.c#6 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libdisk/write_pc98_disk.c,v 1.9 2003/04/04 16:35:13 phk Exp $"); +__FBSDID("$FreeBSD: src/lib/libdisk/write_pc98_disk.c,v 1.10 2004/03/30 12:22:31 nyan Exp $"); #include #include @@ -64,7 +64,7 @@ struct chunk *c1; int ret = 0; char device[64]; - u_char *mbr; + u_char *mbrblk; struct pc98_partition *dp, work[NDOSPART]; int s[7]; int PC98_EntireDisk = 0; @@ -87,11 +87,11 @@ } memset(s, 0, sizeof s); - mbr = read_block(fd, 1, d1->sector_size); - dp = (struct pc98_partition *)(mbr + DOSPARTOFF); + mbrblk = read_block(fd, 1, d1->sector_size); + dp = (struct pc98_partition *)(mbrblk + DOSPARTOFF); memcpy(work, dp, sizeof work); dp = work; - free(mbr); + free(mbrblk); for (c1 = d1->chunks->part; c1; c1 = c1->next) { if (c1->type == unused) continue; @@ -151,15 +151,15 @@ if (d1->bootipl) write_block(fd, 0, d1->bootipl, d1->sector_size); - mbr = read_block(fd, 1, d1->sector_size); - memcpy(mbr + DOSPARTOFF, dp, sizeof *dp * NDOSPART); + mbrblk = read_block(fd, 1, d1->sector_size); + memcpy(mbrblk + DOSPARTOFF, dp, sizeof *dp * NDOSPART); /* XXX - for entire FreeBSD(98) */ for (c1 = d1->chunks->part; c1; c1 = c1->next) if (((c1->type == freebsd) || (c1->type == fat)) && (c1->offset == 0)) PC98_EntireDisk = 1; if (PC98_EntireDisk == 0) - write_block(fd, 1, mbr, d1->sector_size); + write_block(fd, 1, mbrblk, d1->sector_size); if (d1->bootmenu) for (i = 0; i * d1->sector_size < d1->bootmenu_size; i++) ==== //depot/projects/hammer/secure/lib/libcrypto/Makefile.inc#6 (text+ko) ==== @@ -1,10 +1,11 @@ -# $FreeBSD: src/secure/lib/libcrypto/Makefile.inc,v 1.36 2004/03/17 16:15:45 nectar Exp $ +# $FreeBSD: src/secure/lib/libcrypto/Makefile.inc,v 1.37 2004/03/30 11:30:02 dwmalone Exp $ LCRYPTO_SRC= ${.CURDIR}/../../../crypto/openssl LCRYPTO_DOC= ${.CURDIR}/../../../crypto/openssl/doc CFLAGS+= -DTERMIOS -DANSI_SOURCE CFLAGS+= -I${LCRYPTO_SRC} -I${LCRYPTO_SRC}/crypto -I${.OBJDIR} +CFLAGS+= -DOPENSSL_THREADS -pthread .if !defined(MAKE_IDEA) || ${MAKE_IDEA} != YES CFLAGS+= -DOPENSSL_NO_IDEA @@ -41,7 +42,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Mar 30 10:47:58 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 77C9616A4D0; Tue, 30 Mar 2004 10:47:58 -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 385B316A4CE for ; Tue, 30 Mar 2004 10:47:58 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 19E9143D31 for ; Tue, 30 Mar 2004 10:47:58 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2UIlvGe085079 for ; Tue, 30 Mar 2004 10:47:57 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2UIlvNA085072 for perforce@freebsd.org; Tue, 30 Mar 2004 10:47:57 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 30 Mar 2004 10:47:57 -0800 (PST) Message-Id: <200403301847.i2UIlvNA085072@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 49982 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: Tue, 30 Mar 2004 18:47:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=49982 Change 49982 by peter@peter_overcee on 2004/03/30 10:47:08 integ -I -b i386_hammer Affected files ... .. //depot/projects/hammer/sys/amd64/conf/GENERIC#35 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/conf/GENERIC#35 (text+ko) ==== @@ -126,6 +126,7 @@ device iir # Intel Integrated RAID device ips # IBM (Adaptec) ServeRAID device mly # Mylex AcceleRAID/eXtremeRAID +device twa # 3ware 9000 series PATA/SATA RAID # RAID controllers device aac # Adaptec FSA RAID From owner-p4-projects@FreeBSD.ORG Tue Mar 30 11:02:20 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7C41C16A4D0; Tue, 30 Mar 2004 11:02:20 -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 5633E16A4CE for ; Tue, 30 Mar 2004 11:02:20 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 37E7F43D62 for ; Tue, 30 Mar 2004 11:02:20 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2UJ2JGe088827 for ; Tue, 30 Mar 2004 11:02:19 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2UJ2Jll088818 for perforce@freebsd.org; Tue, 30 Mar 2004 11:02:19 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 30 Mar 2004 11:02:19 -0800 (PST) Message-Id: <200403301902.i2UJ2Jll088818@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 49986 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: Tue, 30 Mar 2004 19:02:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=49986 Change 49986 by peter@peter_daintree on 2004/03/30 11:01:54 bah, the code/data/bss needs to be in a single block so that profiling and gdb -k can see it as a single entity. Not to mention the kldstat output that shows the base/size. Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#8 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#8 (text+ko) ==== @@ -208,6 +208,7 @@ caddr_t firstpage; int nbytes, i; int nsegs; + caddr_t mapbase; size_t mapsize; Elf_Addr base_vlimit; int error = 0; @@ -221,6 +222,7 @@ int strcnt; int nsym; int pb, nb, rl, ra; + int alignmask; GIANT_REQUIRED; @@ -404,29 +406,41 @@ nb = 0; rl = 0; ra = 0; + alignmask = 0; for (i = 0; i < hdr->e_shnum; i++) { switch (shdr[i].sh_type) { case SHT_PROGBITS: - ef->progtab[pb].addr = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); + case SHT_NOBITS: + alignmask = (1u << shdr[i].sh_addralign) - 1; + mapsize += alignmask; + mapsize &= ~alignmask; + break; + } + + switch (shdr[i].sh_type) { + case SHT_PROGBITS: + ef->progtab[pb].addr = mapsize; ef->progtab[pb].fileoff = shdr[i].sh_offset; ef->progtab[pb].size = shdr[i].sh_size; ef->progtab[pb].align = shdr[i].sh_addralign; + mapsize += shdr[i].sh_size; pb++; break; case SHT_NOBITS: - ef->nobittab[nb].addr = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK | M_ZERO); + ef->nobittab[nb].addr = mapsize; ef->nobittab[nb].size = shdr[i].sh_size; ef->nobittab[nb].align = shdr[i].sh_addralign; + mapsize += shdr[i].sh_size; nb++; break; case SHT_REL: - ef->reltab[rl].addr = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); + ef->reltab[rl].addr = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK) ef->reltab[rl].fileoff = shdr[i].sh_offset; ef->reltab[rl].size = shdr[i].sh_size; rl++; break; case SHT_RELA: - ef->relatab[ra].addr = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); + ef->relatab[ra].addr = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK) ef->relatab[ra].fileoff = shdr[i].sh_offset; ef->relatab[ra].size = shdr[i].sh_size; ra++; @@ -441,6 +455,18 @@ panic("lots rel"); if (ra != ef->nrelatab) panic("lots rela"); + + mapbase = malloc(mapsize, M_LINKER, M_WAITOK | M_ZERO); + if (mapbase == NULL) { + error = ENOMEM; + goto out; + } + + /* Now that we have the mapping address, plug in the offsets */ + for (i = 0; i < ef->nprogtab) + ef->progtab[i].addr += mapbase; + for (i = 0; i < ef->nnobittab) + ef->nobittab[i].addr += mapbase; /* XXX *************** STEP 3 GOES HERE ************* XXX */ From owner-p4-projects@FreeBSD.ORG Tue Mar 30 11:43:12 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F1B516A4D0; Tue, 30 Mar 2004 11:43:12 -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 64D2216A4CE for ; Tue, 30 Mar 2004 11:43:12 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5BE4643D41 for ; Tue, 30 Mar 2004 11:43:12 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2UJhCGe099877 for ; Tue, 30 Mar 2004 11:43:12 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2UJhBvN099874 for perforce@freebsd.org; Tue, 30 Mar 2004 11:43:11 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 30 Mar 2004 11:43:11 -0800 (PST) Message-Id: <200403301943.i2UJhBvN099874@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 49991 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: Tue, 30 Mar 2004 19:43:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=49991 Change 49991 by peter@peter_daintree on 2004/03/30 11:43:04 tidy up a bit. Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#9 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#9 (text+ko) ==== @@ -110,7 +110,6 @@ caddr_t strbase; /* malloc'ed string base */ } *elf_file_t; -static int link_elf_link_common_finish(linker_file_t); static int link_elf_link_preload(linker_class_t cls, const char *, linker_file_t *); static int link_elf_link_preload_finish(linker_file_t); @@ -159,23 +158,6 @@ printf("kldload: %s\n", s); } -/* - * Actions performed after linking/loading both the preloaded kernel and any - * modules; - */ -static int -link_elf_link_common_finish(linker_file_t lf) -{ - int error; - - /* Notify MD code that a module is being loaded. */ - error = elf_cpu_load_file(lf); - if (error) - return (error); - - return (0); -} - static void link_elf_init(void *arg) { @@ -292,7 +274,7 @@ goto out; } - /* Read in the section header */ + /* Allocate and read in the section header */ nbytes = hdr->e_shnum * hdr->e_shentsize; if (nbytes == 0 || hdr->e_shoff == 0 || hdr->e_shentsize != sizeof(Elf_Shdr)) { @@ -320,21 +302,7 @@ } ef = (elf_file_t) lf; - /* - * Scan the program header entries, and save key information. - * - * We rely on there being exactly two load segments, text and data, - * in that order. - * - * XXX do several passes of section table instead. - * XXX 1) count various things needed to size arrays - * XXX 2) grab info about things like PROGBITS/REL/RELA/STRTAB/SYMTAB - * XXX 3) read the string and symbol tables so we can do relocations etc - * XXX 4) (later on) load the rest of the entries. - */ - shdr = (Elf_Shdr *)shtbuf; - shlimit = shdr + hdr->e_phnum; - + /* Scan the section header for information and table sizing. */ ef->nprogent = 0; ef->nnobits = 0; nsym = 0; @@ -369,6 +337,7 @@ goto out; } if (nsym != 1) { + /* Only allow one symbol table for now */ link_elf_error("file has no valid symbol table"); error = ENOEXEC; goto out; @@ -380,7 +349,8 @@ goto out; } -/* XXX *************** STEP 2 GOES HERE ************* XXX */ + /* Allocate space for tracking the load chunks */ + /* XXX - maybe unneeded. might be able to use the shdr directly */ if (ef->nprogtab != 0) ef->progtab = malloc(ef->nprogtab * sizeof(*ef->progtab), M_LINKER, M_WAITOK); if (ef->nnobittab != 0) @@ -391,6 +361,7 @@ ef->relatab = malloc(ef->nrelatab * sizeof(*ef->relatab), M_LINKER, M_WAITOK); /* XXX check for failures */ + /* Space for symbol table */ ef->ddbsymcnt = shdr[symtabindex].sh_size / sizeof(Elf_Sym); ef->ddbsymbase = malloc(shdr[symtabindex].sh_size, M_LINKER, M_WAITOK); @@ -402,6 +373,7 @@ goto out; } + /* Size code/data(progbits) and bss(nobits). allocate space for relocs */ pb = 0; nb = 0; rl = 0; @@ -456,19 +428,23 @@ if (ra != ef->nrelatab) panic("lots rela"); + /* + * We know how much space we need for the text/data/bss/etc. + * This stuff needs to be in a single chunk so that profiling etc + * can get the bounds and gdb can associate offsets with modules + */ mapbase = malloc(mapsize, M_LINKER, M_WAITOK | M_ZERO); if (mapbase == NULL) { error = ENOMEM; goto out; } - /* Now that we have the mapping address, plug in the offsets */ + /* Add the base address to the previously calculated/aligned offsets */ for (i = 0; i < ef->nprogtab) ef->progtab[i].addr += mapbase; for (i = 0; i < ef->nnobittab) ef->nobittab[i].addr += mapbase; -/* XXX *************** STEP 3 GOES HERE ************* XXX */ /* Load the symbol table. */ error = vn_rdwr(UIO_READ, nd.ni_vp, @@ -483,6 +459,8 @@ &resid, td); if (error) goto out; + + /* Read in the text/data/set/etc sections */ for (i = 0; i < ef->nprogtab; i++) { error = vn_rdwr(UIO_READ, nd.ni_vp, ef->progtab[pb].addr, @@ -493,6 +471,11 @@ if (error) goto out; } + + /* + * Read in relocation tables. Platforms use rel or rela, but + * usually not both. + */ for (i = 0; i < ef->nreltab; i++) { error = vn_rdwr(UIO_READ, nd.ni_vp, ef->reltab[pb].addr, @@ -515,21 +498,25 @@ } -/* XXX *************** STEP 4 GOES HERE ************* XXX */ - + /* Inform the kld system about the situation */ lf->address = ef->address; lf->size = mapsize; + /* Local intra-module relocations */ link_elf_reloc_local(lf); + /* Pull in dependencies */ error = linker_load_dependencies(lf); if (error) goto out; + + /* External relocations */ error = relocate_file(ef); if (error) goto out; - error = link_elf_link_common_finish(lf); + /* Notify MD code that a module is being loaded. */ + error = elf_cpu_load_file(lf); if (error) goto out; @@ -784,7 +771,8 @@ static int link_elf_each_function_name(linker_file_t file, - int (*callback)(const char *, void *), void *opaque) { + int (*callback)(const char *, void *), void *opaque) +{ elf_file_t ef = (elf_file_t)file; const Elf_Sym *symp; int i, error; From owner-p4-projects@FreeBSD.ORG Tue Mar 30 12:26:08 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9C0F216A4D0; Tue, 30 Mar 2004 12:26:07 -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 70D6E16A4CE for ; Tue, 30 Mar 2004 12:26:07 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 63BDA43D39 for ; Tue, 30 Mar 2004 12:26:07 -0800 (PST) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2UKQ7Ge010593 for ; Tue, 30 Mar 2004 12:26:07 -0800 (PST) (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2UKQ62H010590 for perforce@freebsd.org; Tue, 30 Mar 2004 12:26:06 -0800 (PST) (envelope-from imp@freebsd.org) Date: Tue, 30 Mar 2004 12:26:06 -0800 (PST) Message-Id: <200403302026.i2UKQ62H010590@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Subject: PERFORCE change 49995 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: Tue, 30 Mar 2004 20:26:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=49995 Change 49995 by imp@imp_pacopaco on 2004/03/30 12:25:45 IFC @49980 Affected files ... .. //depot/projects/power/sys/conf/NOTES#7 integrate .. //depot/projects/power/sys/conf/files.i386#6 integrate .. //depot/projects/power/sys/contrib/pf/net/pf.c#2 integrate .. //depot/projects/power/sys/dev/acpica/acpi.c#11 integrate .. //depot/projects/power/sys/dev/nge/if_nge.c#6 integrate .. //depot/projects/power/sys/dev/twa/twa.c#1 branch .. //depot/projects/power/sys/dev/twa/twa.h#1 branch .. //depot/projects/power/sys/dev/twa/twa_cam.c#1 branch .. //depot/projects/power/sys/dev/twa/twa_externs.h#1 branch .. //depot/projects/power/sys/dev/twa/twa_freebsd.c#1 branch .. //depot/projects/power/sys/dev/twa/twa_fwimg.c#1 branch .. //depot/projects/power/sys/dev/twa/twa_globals.c#1 branch .. //depot/projects/power/sys/dev/twa/twa_includes.h#1 branch .. //depot/projects/power/sys/dev/twa/twa_ioctl.h#1 branch .. //depot/projects/power/sys/dev/twa/twa_reg.h#1 branch .. //depot/projects/power/sys/fs/udf/udf_vfsops.c#3 integrate .. //depot/projects/power/sys/fs/udf/udf_vnops.c#6 integrate .. //depot/projects/power/sys/fs/umapfs/umap_vnops.c#2 integrate .. //depot/projects/power/sys/i386/conf/GENERIC#6 integrate .. //depot/projects/power/sys/kern/kern_sig.c#9 integrate .. //depot/projects/power/sys/kern/subr_param.c#3 integrate .. //depot/projects/power/sys/kern/uipc_usrreq.c#5 integrate .. //depot/projects/power/sys/kern/vfs_default.c#4 integrate .. //depot/projects/power/sys/kern/vfs_subr.c#10 integrate .. //depot/projects/power/sys/libkern/index.c#2 integrate .. //depot/projects/power/sys/libkern/rindex.c#2 integrate .. //depot/projects/power/sys/modules/Makefile#8 integrate .. //depot/projects/power/sys/modules/twa/Makefile#1 branch .. //depot/projects/power/sys/net/if_tun.c#8 integrate .. //depot/projects/power/sys/powerpc/powerpc/vm_machdep.c#6 integrate .. //depot/projects/power/sys/sys/vnode.h#8 integrate Differences ... ==== //depot/projects/power/sys/conf/NOTES#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1207 2004/03/18 12:22:31 brueffer Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1209 2004/03/30 07:01:56 bde Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -685,23 +685,25 @@ # One of these is mandatory: options FFS #Fast filesystem -options NFSCLIENT #Network File System +options NFSCLIENT #Network File System client # The rest are optional: options CD9660 #ISO 9660 filesystem options FDESCFS #File descriptor filesystem options HPFS #OS/2 File system options MSDOSFS #MS DOS File System (FAT, FAT32) -options NFSSERVER #Network File System +options NFSSERVER #Network File System server options NTFS #NT File System options NULLFS #NULL filesystem +# Broken (depends on NCP): #options NWFS #NetWare filesystem options PORTALFS #Portal filesystem options PROCFS #Process filesystem (requires PSEUDOFS) options PSEUDOFS #Pseudo-filesystem framework options SMBFS #SMB/CIFS filesystem options UDF #Universal Disk Format -options UMAPFS #UID map filesystem +# Broken (seriously (functionally) broken): +#options UMAPFS #UID map filesystem options UNIONFS #Union filesystem # The xFS_ROOT options REQUIRE the associated ``options xFS'' options NFS_ROOT #NFS usable as root device ==== //depot/projects/power/sys/conf/files.i386#6 (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.i386,v 1.481 2004/03/22 18:00:39 wpaul Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.482 2004/03/30 03:45:59 vkashyap Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -170,6 +170,11 @@ dev/syscons/scvtb.c optional sc dev/syscons/syscons.c optional sc dev/syscons/sysmouse.c optional sc +dev/twa/twa.c optional twa +dev/twa/twa_cam.c optional twa +dev/twa/twa_freebsd.c optional twa +dev/twa/twa_fwimg.c optional twa +dev/twa/twa_globals.c optional twa dev/uart/uart_cpu_i386.c optional uart geom/geom_bsd.c standard geom/geom_bsd_enc.c standard ==== //depot/projects/power/sys/contrib/pf/net/pf.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.5 2004/03/28 20:04:12 mlaier Exp $ */ +/* $FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.6 2004/03/30 18:28:30 mlaier Exp $ */ /* $OpenBSD: pf.c,v 1.389.2.2 2004/03/14 00:13:42 brad Exp $ */ /* @@ -1142,7 +1142,7 @@ /* Change inner protocol port, fix inner protocol checksum. */ if (ip != NULL) { u_int16_t oip = *ip; - u_int32_t opc; + u_int32_t opc = 0; /* make the compiler happy */ if (pc != NULL) opc = *pc; @@ -1222,14 +1222,14 @@ { struct mbuf *m; struct m_tag *mtag; - int len, tlen; + int len = 0, tlen; /* make the compiler happy */ #ifdef INET - struct ip *h; + struct ip *h = NULL; /* make the compiler happy */ #endif /* INET */ #ifdef INET6 - struct ip6_hdr *h6; + struct ip6_hdr *h6 = NULL; /* make the compiler happy */ #endif /* INET6 */ - struct tcphdr *th; + struct tcphdr *th = NULL; /* make the compiler happy */ #ifdef __FreeBSD__ struct ip *ip; #if (__FreeBSD_version < 501114) @@ -2343,7 +2343,7 @@ struct route_in6 ro6; #endif /* INET6 */ struct rtentry *rt = NULL; - int hlen; + int hlen = 0; /* make the compiler happy */ u_int16_t mss = tcp_mssdflt; switch (af) { @@ -3014,9 +3014,10 @@ struct pf_rule *r, *a = NULL; struct pf_ruleset *ruleset = NULL; u_short reason; - u_int16_t icmpid; + u_int16_t icmpid = 0; /* make the compiler happy */ sa_family_t af = pd->af; - u_int8_t icmptype, icmpcode; + u_int8_t icmptype = 0; /* make the compiler happy */ + u_int8_t icmpcode = 0; /* make the compiler happy */ int state_icmp = 0; struct pf_tag *pftag = NULL; int tag = -1; @@ -4094,8 +4095,9 @@ struct mbuf *m, int ipoff, int off, void *h, struct pf_pdesc *pd) { struct pf_addr *saddr = pd->src, *daddr = pd->dst; - u_int16_t icmpid, *icmpsum; - u_int8_t icmptype; + u_int16_t icmpid = 0; /* make the compiler happy */ + u_int16_t *icmpsum = NULL; /* make the compiler happy */ + u_int8_t icmptype = 0; /* make the compiler happy */ int state_icmp = 0, dirndx; switch (pd->proto) { @@ -4216,8 +4218,8 @@ struct ip6_hdr h2_6; int terminal = 0; #endif /* INET6 */ - int ipoff2; - int off2; + int ipoff2 = 0; /* make the compiler happy */ + int off2 = 0; /* make the compiler happy */ pd2.af = pd->af; switch (pd->af) { @@ -4961,7 +4963,7 @@ { struct mbuf *m0, *m1; struct route iproute; - struct route *ro; + struct route *ro = NULL; /* XXX: was uninitialized */ struct sockaddr_in *dst; struct ip *ip; struct ifnet *ifp = NULL; @@ -5589,7 +5591,7 @@ { u_short action, reason = 0, log = 0; struct mbuf *m = *m0; - struct ip *h; + struct ip *h = NULL; /* XXX: was uninitialized */ struct pf_rule *a = NULL, *r = &pf_default_rule, *tr; struct pf_state *s = NULL; struct pf_ruleset *ruleset = NULL; ==== //depot/projects/power/sys/dev/acpica/acpi.c#11 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.129 2004/03/27 16:26:00 takawata Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.130 2004/03/30 07:35:18 njl Exp $ */ #include "opt_acpi.h" @@ -235,14 +235,23 @@ /* * Allow override of whether methods execute in parallel or not. - * Default to serial behavior as this fixes some AE_ALREADY_EXISTS errors - * and matches the MS interpreter. + * Enable this for serial behavior, which fixes "AE_ALREADY_EXISTS" + * errors for AML that really can't handle parallel method execution. + * It is off by default since this breaks recursive methods and + * some IBMs use such code. */ -static int acpi_serialize_methods = 1; +static int acpi_serialize_methods; TUNABLE_INT("hw.acpi.serialize_methods", &acpi_serialize_methods); -/* Allow override of whether to support the _OSI method. */ -static int acpi_osi_method; +/* + * Allow override of whether to support the _OSI method. This allows us + * to claim compatibility with various MS OSs without changing the value + * we report for _OS. This is enabled by default since it fixes some + * problems with interrupt routing although it can be disabled if it + * causes problems. See the definition of "AcpiGbl_ValidOsiStrings" for + * a list of systems we claim. + */ +static int acpi_osi_method = 1; TUNABLE_INT("hw.acpi.osi_method", &acpi_osi_method); /* ==== //depot/projects/power/sys/dev/nge/if_nge.c#6 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/nge/if_nge.c,v 1.54 2004/03/17 17:50:38 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/nge/if_nge.c,v 1.55 2004/03/30 10:24:52 ru Exp $"); /* * National Semiconductor DP83820/DP83821 gigabit ethernet driver @@ -1369,7 +1369,7 @@ */ if (extsts & NGE_RXEXTSTS_VLANPKT) { VLAN_INPUT_TAG(ifp, m, - extsts & NGE_RXEXTSTS_VTCI, continue); + ntohs(extsts & NGE_RXEXTSTS_VTCI), continue); } (*ifp->if_input)(ifp, m); @@ -1692,7 +1692,7 @@ mtag = VLAN_OUTPUT_TAG(&sc->arpcom.ac_if, m); if (mtag != NULL) { sc->nge_ldata->nge_tx_list[cur].nge_extsts |= - (NGE_TXEXTSTS_VLANPKT|VLAN_TAG_VALUE(mtag)); + (NGE_TXEXTSTS_VLANPKT|htons(VLAN_TAG_VALUE(mtag))); } sc->nge_ldata->nge_tx_list[cur].nge_mbuf = m_head; ==== //depot/projects/power/sys/fs/udf/udf_vfsops.c#3 (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/fs/udf/udf_vfsops.c,v 1.16 2003/11/05 06:56:08 scottl Exp $ + * $FreeBSD: src/sys/fs/udf/udf_vfsops.c,v 1.17 2004/03/30 05:01:48 scottl Exp $ */ /* udf_vfsops.c */ @@ -778,6 +778,8 @@ */ if ((error = udf_readlblks(udfmp, pms->st_loc[0], pms->st_size, &bp)) != 0) { + if (bp != NULL) + brelse(bp); printf("Failed to read Sparing Table at sector %d\n", pms->st_loc[0]); return (error); ==== //depot/projects/power/sys/fs/udf/udf_vnops.c#6 (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/fs/udf/udf_vnops.c,v 1.34 2004/03/03 07:43:34 scottl Exp $ + * $FreeBSD: src/sys/fs/udf/udf_vnops.c,v 1.35 2004/03/30 05:01:48 scottl Exp $ */ /* udf_vnops.c */ @@ -416,9 +416,8 @@ offset = uio->uio_offset; size = uio->uio_resid; error = udf_readatoffset(node, &size, offset, &bp, &data); - if (error) - return (error); - error = uiomove(data, size, uio); + if (error == 0) + error = uiomove(data, size, uio); if (bp != NULL) brelse(bp); if (error) @@ -579,6 +578,8 @@ &ds->bp, &ds->data); if (error) { ds->error = error; + if (ds->bp != NULL) + brelse(ds->bp); return (NULL); } } @@ -1051,8 +1052,9 @@ * offset passed in. Only read in at most 'size' bytes, and then set 'size' * to the number of bytes pointed to. If 'size' is zero, try to read in a * whole extent. - * XXX 'size' is limited to the logical block size for now due to problems - * with udf_read() + * + * Note that *bp may be assigned error or not. + * */ static int udf_readatoffset(struct udf_node *node, int *size, int offset, struct buf **bp, uint8_t **data) @@ -1066,6 +1068,7 @@ udfmp = node->udfmp; + *bp = NULL; error = udf_bmap_internal(node, offset, §or, &max_size); if (error == UDF_INVALID_BMAP) { /* @@ -1075,7 +1078,6 @@ fentry = node->fentry; *data = &fentry->data[fentry->l_ea]; *size = fentry->l_ad; - *bp = NULL; return (0); } else if (error != 0) { return (error); @@ -1088,6 +1090,7 @@ if ((error = udf_readlblks(udfmp, sector, *size, bp))) { printf("warning: udf_readlblks returned error %d\n", error); + /* note: *bp may be non-NULL */ return (error); } ==== //depot/projects/power/sys/fs/umapfs/umap_vnops.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)umap_vnops.c 8.6 (Berkeley) 5/22/95 - * $FreeBSD: src/sys/fs/umapfs/umap_vnops.c,v 1.38 2003/03/03 19:15:39 njl Exp $ + * $FreeBSD: src/sys/fs/umapfs/umap_vnops.c,v 1.39 2004/03/29 22:41:20 peter Exp $ */ /* @@ -363,6 +363,15 @@ } */ *ap; { + /* + * vop_nolock no longer exists. I could have pasted the code + * in so that it compiles, but that would be doing our users a + * great disservice. umapfs is about 5 years behind the nullfs + * code that it is derived from. The stub locking here guarantees + * a deadlock the moment a VOP_INACTIVE arrives. There is no point + * pasting the code that makes it compile either, because that just + * makes it Even More Wrong. + */ vop_nolock(ap); if ((ap->a_flags & LK_TYPE_MASK) == LK_DRAIN) return (0); ==== //depot/projects/power/sys/i386/conf/GENERIC#6 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.398 2004/03/15 00:49:40 obrien Exp $ +# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.399 2004/03/30 03:46:00 vkashyap Exp $ machine i386 cpu I486_CPU @@ -124,6 +124,7 @@ device iir # Intel Integrated RAID device ips # IBM (Adaptec) ServeRAID device mly # Mylex AcceleRAID/eXtremeRAID +device twa # 3ware 9000 series PATA/SATA RAID # RAID controllers device aac # Adaptec FSA RAID ==== //depot/projects/power/sys/kern/kern_sig.c#9 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.273 2004/03/05 22:39:53 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.274 2004/03/29 22:46:54 peter Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -1875,10 +1875,8 @@ mtx_unlock_spin(&sched_lock); goto out; /* - * XXXKSE What about threads that are waiting on mutexes? - * Shouldn't they abort too? - * No, hopefully mutexes are short lived.. They'll - * eventually hit thread_suspend_check(). + * Mutexes are short lived. Threads waiting on them will + * hit thread_suspend_check() soon. */ } else if (p->p_state == PRS_NORMAL) { if ((p->p_flag & P_TRACED) || (action != SIG_DFL) || ==== //depot/projects/power/sys/kern/subr_param.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_param.c,v 1.62 2004/03/27 19:50:22 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_param.c,v 1.63 2004/03/30 08:00:11 alc Exp $"); #include "opt_param.h" #include "opt_maxusers.h" @@ -181,15 +181,13 @@ void init_param3(long kmempages) { + /* - * Limit pageable pipe memory usage to 5% of the kernel map - * (via pipe_map). Ensure that all have reasonable floors. - * (See sys_pipe.c for more info.) + * The default for maxpipekva is max(5% of the kernel map, 512KB). + * See sys_pipe.c for more details. */ maxpipekva = (kmempages / 20) * PAGE_SIZE; - if (maxpipekva < 512 * 1024) maxpipekva = 512 * 1024; - TUNABLE_INT_FETCH("kern.ipc.maxpipekva", &maxpipekva); } ==== //depot/projects/power/sys/kern/uipc_usrreq.c#5 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.117 2004/03/01 03:14:21 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.118 2004/03/30 02:16:25 rwatson Exp $"); #include "opt_mac.h" @@ -105,7 +105,7 @@ { struct unpcb *unp = sotounpcb(so); - if (unp == 0) + if (unp == NULL) return (EINVAL); unp_drop(unp, ECONNABORTED); unp_detach(unp); @@ -118,7 +118,7 @@ { struct unpcb *unp = sotounpcb(so); - if (unp == 0) + if (unp == NULL) return (EINVAL); /* @@ -126,7 +126,7 @@ * if it was bound and we are still connected * (our peer may have closed already!). */ - if (unp->unp_conn && unp->unp_conn->unp_addr) { + if (unp->unp_conn != NULL && unp->unp_conn->unp_addr != NULL) { *nam = sodupsockaddr( (struct sockaddr *)unp->unp_conn->unp_addr, M_WAITOK); } else { @@ -141,7 +141,7 @@ { struct unpcb *unp = sotounpcb(so); - if (unp != 0) + if (unp != NULL) return (EISCONN); return (unp_attach(so)); } @@ -151,7 +151,7 @@ { struct unpcb *unp = sotounpcb(so); - if (unp == 0) + if (unp == NULL) return (EINVAL); return (unp_bind(unp, nam, td)); @@ -162,7 +162,7 @@ { struct unpcb *unp = sotounpcb(so); - if (unp == 0) + if (unp == NULL) return (EINVAL); return (unp_connect(so, nam, curthread)); } @@ -172,7 +172,7 @@ { struct unpcb *unp = sotounpcb(so1); - if (unp == 0) + if (unp == NULL) return (EINVAL); return (unp_connect2(so1, so2)); @@ -185,7 +185,7 @@ { struct unpcb *unp = sotounpcb(so); - if (unp == 0) + if (unp == NULL) return (EINVAL); unp_detach(unp); @@ -197,7 +197,7 @@ { struct unpcb *unp = sotounpcb(so); - if (unp == 0) + if (unp == NULL) return (EINVAL); unp_disconnect(unp); return (0); @@ -208,7 +208,7 @@ { struct unpcb *unp = sotounpcb(so); - if (unp == 0 || unp->unp_vnode == 0) + if (unp == NULL || unp->unp_vnode == NULL) return (EINVAL); return (unp_listen(unp, td)); } @@ -218,9 +218,9 @@ { struct unpcb *unp = sotounpcb(so); - if (unp == 0) + if (unp == NULL) return (EINVAL); - if (unp->unp_conn && unp->unp_conn->unp_addr) + if (unp->unp_conn != NULL && unp->unp_conn->unp_addr != NULL) *nam = sodupsockaddr( (struct sockaddr *)unp->unp_conn->unp_addr, M_WAITOK); else { @@ -242,7 +242,7 @@ struct socket *so2; u_long newhiwat; - if (unp == 0) + if (unp == NULL) return (EINVAL); switch (so->so_type) { case SOCK_DGRAM: @@ -250,7 +250,7 @@ /*NOTREACHED*/ case SOCK_STREAM: - if (unp->unp_conn == 0) + if (unp->unp_conn == NULL) break; so2 = unp->unp_conn->unp_socket; /* @@ -284,7 +284,7 @@ struct socket *so2; u_long newhiwat; - if (unp == 0) { + if (unp == NULL) { error = EINVAL; goto release; } @@ -293,7 +293,7 @@ goto release; } - if (control && (error = unp_internalize(&control, td))) + if (control != NULL && (error = unp_internalize(&control, td))) goto release; switch (so->so_type) { @@ -301,8 +301,8 @@ { struct sockaddr *from; - if (nam) { - if (unp->unp_conn) { + if (nam != NULL) { + if (unp->unp_conn != NULL) { error = EISCONN; break; } @@ -310,24 +310,24 @@ if (error) break; } else { - if (unp->unp_conn == 0) { + if (unp->unp_conn == NULL) { error = ENOTCONN; break; } } so2 = unp->unp_conn->unp_socket; - if (unp->unp_addr) + if (unp->unp_addr != NULL) from = (struct sockaddr *)unp->unp_addr; else from = &sun_noname; if (sbappendaddr(&so2->so_rcv, from, m, control)) { sorwakeup(so2); - m = 0; - control = 0; + m = NULL; + control = NULL; } else { error = ENOBUFS; } - if (nam) + if (nam != NULL) unp_disconnect(unp); break; } @@ -339,7 +339,7 @@ * if not equal to the peer's address. */ if ((so->so_state & SS_ISCONNECTED) == 0) { - if (nam) { + if (nam != NULL) { error = unp_connect(so, nam, td); if (error) break; /* XXX */ @@ -353,7 +353,7 @@ error = EPIPE; break; } - if (unp->unp_conn == 0) + if (unp->unp_conn == NULL) panic("uipc_send connected but no connection?"); so2 = unp->unp_conn->unp_socket; /* @@ -361,9 +361,9 @@ * send buffer hiwater marks to maintain backpressure. * Wake up readers. */ - if (control) { + if (control != NULL) { if (sbappendcontrol(&so2->so_rcv, m, control)) - control = 0; + control = NULL; } else { sbappend(&so2->so_rcv, m); } @@ -376,7 +376,7 @@ newhiwat, RLIM_INFINITY); unp->unp_conn->unp_cc = so2->so_rcv.sb_cc; sorwakeup(so2); - m = 0; + m = NULL; break; default: @@ -392,13 +392,13 @@ unp_shutdown(unp); } - if (control && error != 0) + if (control != NULL && error != 0) unp_dispose(control); release: - if (control) + if (control != NULL) m_freem(control); - if (m) + if (m != NULL) m_freem(m); return (error); } @@ -409,10 +409,10 @@ struct unpcb *unp = sotounpcb(so); struct socket *so2; - if (unp == 0) + if (unp == NULL) return (EINVAL); sb->st_blksize = so->so_snd.sb_hiwat; - if (so->so_type == SOCK_STREAM && unp->unp_conn != 0) { + if (so->so_type == SOCK_STREAM && unp->unp_conn != NULL) { so2 = unp->unp_conn->unp_socket; sb->st_blksize += so2->so_rcv.sb_cc; } @@ -428,7 +428,7 @@ { struct unpcb *unp = sotounpcb(so); - if (unp == 0) + if (unp == NULL) return (EINVAL); socantsendmore(so); unp_shutdown(unp); @@ -440,9 +440,9 @@ { struct unpcb *unp = sotounpcb(so); - if (unp == 0) + if (unp == NULL) return (EINVAL); - if (unp->unp_addr) + if (unp->unp_addr != NULL) *nam = sodupsockaddr((struct sockaddr *)unp->unp_addr, M_WAITOK); else @@ -570,17 +570,17 @@ LIST_REMOVE(unp, unp_link); unp->unp_gencnt = ++unp_gencnt; --unp_count; - if (unp->unp_vnode) { - unp->unp_vnode->v_socket = 0; + if (unp->unp_vnode != NULL) { + unp->unp_vnode->v_socket = NULL; vrele(unp->unp_vnode); - unp->unp_vnode = 0; + unp->unp_vnode = NULL; } - if (unp->unp_conn) + if (unp->unp_conn != NULL) unp_disconnect(unp); while (!LIST_EMPTY(&unp->unp_refs)) unp_drop(LIST_FIRST(&unp->unp_refs), ECONNRESET); soisdisconnected(unp->unp_socket); - unp->unp_socket->so_pcb = 0; + unp->unp_socket->so_pcb = NULL; if (unp_rights) { /* * Normally the receive buffer is flushed later, @@ -592,7 +592,7 @@ sorflush(unp->unp_socket); unp_gc(); } - if (unp->unp_addr) + if (unp->unp_addr != NULL) FREE(unp->unp_addr, M_SONAME); uma_zfree(unp_zone, unp); } @@ -709,7 +709,7 @@ if (error) goto bad; so2 = vp->v_socket; - if (so2 == 0) { + if (so2 == NULL) { error = ECONNREFUSED; goto bad; } @@ -719,14 +719,14 @@ } if (so->so_proto->pr_flags & PR_CONNREQUIRED) { if ((so2->so_options & SO_ACCEPTCONN) == 0 || - (so3 = sonewconn(so2, 0)) == 0) { + (so3 = sonewconn(so2, 0)) == NULL) { error = ECONNREFUSED; goto bad; } unp = sotounpcb(so); unp2 = sotounpcb(so2); unp3 = sotounpcb(so3); - if (unp2->unp_addr) + if (unp2->unp_addr != NULL) unp3->unp_addr = (struct sockaddr_un *) sodupsockaddr((struct sockaddr *)unp2->unp_addr, M_WAITOK); @@ -802,9 +802,9 @@ { register struct unpcb *unp2 = unp->unp_conn; - if (unp2 == 0) + if (unp2 == NULL) return; - unp->unp_conn = 0; + unp->unp_conn = NULL; switch (unp->unp_socket->so_type) { case SOCK_DGRAM: @@ -814,7 +814,7 @@ case SOCK_STREAM: soisdisconnected(unp->unp_socket); - unp2->unp_conn = 0; + unp2->unp_conn = NULL; soisdisconnected(unp2->unp_socket); break; } @@ -846,14 +846,14 @@ * The process of preparing the PCB list is too time-consuming and * resource-intensive to repeat twice on every request. */ - if (req->oldptr == 0) { + if (req->oldptr == NULL) { n = unp_count; req->oldidx = 2 * (sizeof *xug) + (n + n/8) * sizeof(struct xunpcb); return (0); } - if (req->newptr != 0) + if (req->newptr != NULL) return (EPERM); /* @@ -897,10 +897,11 @@ * XXX - need more locking here to protect against * connect/disconnect races for SMP. */ - if (unp->unp_addr) + if (unp->unp_addr != NULL) bcopy(unp->unp_addr, &xu->xu_addr, unp->unp_addr->sun_len); - if (unp->unp_conn && unp->unp_conn->unp_addr) + if (unp->unp_conn != NULL && + unp->unp_conn->unp_addr != NULL) bcopy(unp->unp_conn->unp_addr, &xu->xu_caddr, unp->unp_conn->unp_addr->sun_len); @@ -1099,7 +1100,7 @@ { unp_zone = uma_zcreate("unpcb", sizeof(struct unpcb), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); - if (unp_zone == 0) + if (unp_zone == NULL) panic("unp_init"); uma_zone_set_max(unp_zone, nmbclusters); LIST_INIT(&unp_dhead); @@ -1395,8 +1396,8 @@ */ extra_ref = malloc(nfiles * sizeof(struct file *), M_TEMP, M_WAITOK); sx_slock(&filelist_lock); - for (nunref = 0, fp = LIST_FIRST(&filehead), fpp = extra_ref; fp != 0; - fp = nextfp) { + for (nunref = 0, fp = LIST_FIRST(&filehead), fpp = extra_ref; + fp != NULL; fp = nextfp) { nextfp = LIST_NEXT(fp, f_list); FILE_LOCK(fp); /* @@ -1473,7 +1474,7 @@ socklen_t clen, datalen; int qfds; - while (m0) { + while (m0 != NULL) { for (m = m0; m; m = m->m_next) { if (m->m_type != MT_CONTROL) continue; ==== //depot/projects/power/sys/kern/vfs_default.c#4 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_default.c,v 1.91 2003/11/05 04:30:07 kan Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_default.c,v 1.92 2004/03/29 22:41:20 peter Exp $"); #include #include @@ -369,166 +369,6 @@ } /* - * Stubs to use when there is no locking to be done on the underlying object. - * A minimal shared lock is necessary to ensure that the underlying object - * is not revoked while an operation is in progress. So, an active shared - * count is maintained in an auxillary vnode lock structure. - */ -int -vop_sharedlock(ap) - struct vop_lock_args /* { - struct vnode *a_vp; - int a_flags; - struct thread *a_td; - } */ *ap; -{ - /* - * This code cannot be used until all the non-locking filesystems - * (notably NFS) are converted to properly lock and release nodes. - * Also, certain vnode operations change the locking state within - * the operation (create, mknod, remove, link, rename, mkdir, rmdir, - * and symlink). Ideally these operations should not change the - * lock state, but should be changed to let the caller of the - * function unlock them. Otherwise all intermediate vnode layers - * (such as union, umapfs, etc) must catch these functions to do - * the necessary locking at their layer. Note that the inactive - * and lookup operations also change their lock state, but this - * cannot be avoided, so these two operations will always need - * to be handled in intermediate layers. - */ - struct vnode *vp = ap->a_vp; - int vnflags, flags = ap->a_flags; - - switch (flags & LK_TYPE_MASK) { - case LK_DRAIN: - vnflags = LK_DRAIN; - break; - case LK_EXCLUSIVE: -#ifdef DEBUG_VFS_LOCKS - /* - * Normally, we use shared locks here, but that confuses - * the locking assertions. - */ - vnflags = LK_EXCLUSIVE; - break; -#endif - case LK_SHARED: - vnflags = LK_SHARED; - break; - case LK_UPGRADE: - case LK_EXCLUPGRADE: - case LK_DOWNGRADE: - return (0); - case LK_RELEASE: - default: - panic("vop_sharedlock: bad operation %d", flags & LK_TYPE_MASK); - } - vnflags |= flags & (LK_INTERLOCK | LK_EXTFLG_MASK); -#ifndef DEBUG_LOCKS - return (lockmgr(vp->v_vnlock, vnflags, VI_MTX(vp), ap->a_td)); -#else - return (debuglockmgr(vp->v_vnlock, vnflags, VI_MTX(vp), ap->a_td, - "vop_sharedlock", vp->filename, vp->line)); -#endif -} - -/* - * Stubs to use when there is no locking to be done on the underlying object. - * A minimal shared lock is necessary to ensure that the underlying object - * is not revoked while an operation is in progress. So, an active shared - * count is maintained in an auxillary vnode lock structure. - */ -int -vop_nolock(ap) - struct vop_lock_args /* { - struct vnode *a_vp; - int a_flags; - struct thread *a_td; - } */ *ap; -{ -#ifdef notyet - /* - * This code cannot be used until all the non-locking filesystems - * (notably NFS) are converted to properly lock and release nodes. - * Also, certain vnode operations change the locking state within - * the operation (create, mknod, remove, link, rename, mkdir, rmdir, - * and symlink). Ideally these operations should not change the - * lock state, but should be changed to let the caller of the - * function unlock them. Otherwise all intermediate vnode layers - * (such as union, umapfs, etc) must catch these functions to do - * the necessary locking at their layer. Note that the inactive - * and lookup operations also change their lock state, but this - * cannot be avoided, so these two operations will always need - * to be handled in intermediate layers. - */ - struct vnode *vp = ap->a_vp; - int vnflags, flags = ap->a_flags; - - switch (flags & LK_TYPE_MASK) { - case LK_DRAIN: - vnflags = LK_DRAIN; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Mar 30 12:31:17 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BEE2E16A4D0; Tue, 30 Mar 2004 12:31:16 -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 93CC816A4CE for ; Tue, 30 Mar 2004 12:31:16 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8B81B43D45 for ; Tue, 30 Mar 2004 12:31:16 -0800 (PST) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2UKVGGe011606 for ; Tue, 30 Mar 2004 12:31:16 -0800 (PST) (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2UKVG5F011597 for perforce@freebsd.org; Tue, 30 Mar 2004 12:31:16 -0800 (PST) (envelope-from imp@freebsd.org) Date: Tue, 30 Mar 2004 12:31:16 -0800 (PST) Message-Id: <200403302031.i2UKVG5F011597@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Subject: PERFORCE change 50000 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: Tue, 30 Mar 2004 20:31:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=50000 Change 50000 by imp@imp_pacopaco on 2004/03/30 12:30:29 IFC @49998 Affected files ... .. //depot/projects/power/sys/conf/options#7 integrate .. //depot/projects/power/sys/pci/if_ste.c#7 integrate Differences ... ==== //depot/projects/power/sys/conf/options#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.435 2004/03/16 12:23:38 scottl Exp $ +# $FreeBSD: src/sys/conf/options,v 1.436 2004/03/30 18:53:18 vkashyap Exp $ # # On the handling of kernel options # @@ -71,6 +71,10 @@ ADW_ALLOW_MEMIO opt_adw.h # Allow PCI devices to use memory # mapped I/O +# 3ware 9000 series RAID controller driver options +TWA_DEBUG opt_twa.h # 0-10; 10 prints the most messages. +TWA_FLASH_FIRMWARE opt_twa.h # firmware image bundled when defined. + # Miscellaneous options. ADAPTIVE_MUTEXES ALQ ==== //depot/projects/power/sys/pci/if_ste.c#7 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/if_ste.c,v 1.63 2004/03/24 17:43:45 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/if_ste.c,v 1.64 2004/03/30 19:23:38 ru Exp $"); #include #include @@ -1473,25 +1473,13 @@ /* * We ran out of segments. We have to recopy this * mbuf chain first. Bail out if we can't get the - * new buffers. Code borrowed from if_fxp.c + * new buffers. */ - MGETHDR(mn, M_DONTWAIT, MT_DATA); + mn = m_defrag(m_head, M_DONTWAIT); if (mn == NULL) { m_freem(m_head); return ENOMEM; } - if (m_head->m_pkthdr.len > MHLEN) { - MCLGET(mn, M_DONTWAIT); - if ((mn->m_flags & M_EXT) == 0) { - m_freem(mn); - m_freem(m_head); - return ENOMEM; - } - } - m_copydata(m_head, 0, m_head->m_pkthdr.len, - mtod(mn, caddr_t)); - mn->m_pkthdr.len = mn->m_len = m_head->m_pkthdr.len; - m_freem(m_head); m_head = mn; goto encap_retry; } From owner-p4-projects@FreeBSD.ORG Tue Mar 30 14:09:21 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BB57216A4D0; Tue, 30 Mar 2004 14:09:20 -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 7080116A4D0 for ; Tue, 30 Mar 2004 14:09:20 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 64C9843D46 for ; Tue, 30 Mar 2004 14:09:20 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2UM9KGe039639 for ; Tue, 30 Mar 2004 14:09:20 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2UM9J50039636 for perforce@freebsd.org; Tue, 30 Mar 2004 14:09:19 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 30 Mar 2004 14:09:19 -0800 (PST) Message-Id: <200403302209.i2UM9J50039636@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 50008 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: Tue, 30 Mar 2004 22:09:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=50008 Change 50008 by rwatson@rwatson_tislabs on 2004/03/30 14:08:50 Integrate netperf_socket: - twa driver for new 3Ware array cards (and now with.. SCSI!) - pf synchronization. - UDF bugfix. - if_ste uses m_defrag(). - Even more fixes relating to kstack pages. Affected files ... .. //depot/projects/netperf_socket/sys/conf/NOTES#10 integrate .. //depot/projects/netperf_socket/sys/conf/files.i386#11 integrate .. //depot/projects/netperf_socket/sys/conf/options#6 integrate .. //depot/projects/netperf_socket/sys/contrib/pf/net/pf.c#5 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#9 integrate .. //depot/projects/netperf_socket/sys/dev/nge/if_nge.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/twa/twa.c#1 branch .. //depot/projects/netperf_socket/sys/dev/twa/twa.h#1 branch .. //depot/projects/netperf_socket/sys/dev/twa/twa_cam.c#1 branch .. //depot/projects/netperf_socket/sys/dev/twa/twa_externs.h#1 branch .. //depot/projects/netperf_socket/sys/dev/twa/twa_freebsd.c#1 branch .. //depot/projects/netperf_socket/sys/dev/twa/twa_fwimg.c#1 branch .. //depot/projects/netperf_socket/sys/dev/twa/twa_globals.c#1 branch .. //depot/projects/netperf_socket/sys/dev/twa/twa_includes.h#1 branch .. //depot/projects/netperf_socket/sys/dev/twa/twa_ioctl.h#1 branch .. //depot/projects/netperf_socket/sys/dev/twa/twa_reg.h#1 branch .. //depot/projects/netperf_socket/sys/fs/udf/udf_vfsops.c#2 integrate .. //depot/projects/netperf_socket/sys/fs/udf/udf_vnops.c#3 integrate .. //depot/projects/netperf_socket/sys/i386/conf/GENERIC#4 integrate .. //depot/projects/netperf_socket/sys/kern/subr_param.c#4 integrate .. //depot/projects/netperf_socket/sys/modules/twa/Makefile#1 branch .. //depot/projects/netperf_socket/sys/pci/if_ste.c#6 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/vm_machdep.c#5 integrate Differences ... ==== //depot/projects/netperf_socket/sys/conf/NOTES#10 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1208 2004/03/29 22:41:20 peter Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1209 2004/03/30 07:01:56 bde Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -685,23 +685,24 @@ # One of these is mandatory: options FFS #Fast filesystem -options NFSCLIENT #Network File System +options NFSCLIENT #Network File System client # The rest are optional: options CD9660 #ISO 9660 filesystem options FDESCFS #File descriptor filesystem options HPFS #OS/2 File system options MSDOSFS #MS DOS File System (FAT, FAT32) -options NFSSERVER #Network File System +options NFSSERVER #Network File System server options NTFS #NT File System options NULLFS #NULL filesystem +# Broken (depends on NCP): #options NWFS #NetWare filesystem options PORTALFS #Portal filesystem options PROCFS #Process filesystem (requires PSEUDOFS) options PSEUDOFS #Pseudo-filesystem framework options SMBFS #SMB/CIFS filesystem options UDF #Universal Disk Format -#umapfs is seriously (functionally) broken at this point. +# Broken (seriously (functionally) broken): #options UMAPFS #UID map filesystem options UNIONFS #Union filesystem # The xFS_ROOT options REQUIRE the associated ``options xFS'' ==== //depot/projects/netperf_socket/sys/conf/files.i386#11 (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.i386,v 1.481 2004/03/22 18:00:39 wpaul Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.482 2004/03/30 03:45:59 vkashyap Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -170,6 +170,11 @@ dev/syscons/scvtb.c optional sc dev/syscons/syscons.c optional sc dev/syscons/sysmouse.c optional sc +dev/twa/twa.c optional twa +dev/twa/twa_cam.c optional twa +dev/twa/twa_freebsd.c optional twa +dev/twa/twa_fwimg.c optional twa +dev/twa/twa_globals.c optional twa dev/uart/uart_cpu_i386.c optional uart geom/geom_bsd.c standard geom/geom_bsd_enc.c standard ==== //depot/projects/netperf_socket/sys/conf/options#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.435 2004/03/16 12:23:38 scottl Exp $ +# $FreeBSD: src/sys/conf/options,v 1.436 2004/03/30 18:53:18 vkashyap Exp $ # # On the handling of kernel options # @@ -71,6 +71,10 @@ ADW_ALLOW_MEMIO opt_adw.h # Allow PCI devices to use memory # mapped I/O +# 3ware 9000 series RAID controller driver options +TWA_DEBUG opt_twa.h # 0-10; 10 prints the most messages. +TWA_FLASH_FIRMWARE opt_twa.h # firmware image bundled when defined. + # Miscellaneous options. ADAPTIVE_MUTEXES ALQ ==== //depot/projects/netperf_socket/sys/contrib/pf/net/pf.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.5 2004/03/28 20:04:12 mlaier Exp $ */ +/* $FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.6 2004/03/30 18:28:30 mlaier Exp $ */ /* $OpenBSD: pf.c,v 1.389.2.2 2004/03/14 00:13:42 brad Exp $ */ /* @@ -1142,7 +1142,7 @@ /* Change inner protocol port, fix inner protocol checksum. */ if (ip != NULL) { u_int16_t oip = *ip; - u_int32_t opc; + u_int32_t opc = 0; /* make the compiler happy */ if (pc != NULL) opc = *pc; @@ -1222,14 +1222,14 @@ { struct mbuf *m; struct m_tag *mtag; - int len, tlen; + int len = 0, tlen; /* make the compiler happy */ #ifdef INET - struct ip *h; + struct ip *h = NULL; /* make the compiler happy */ #endif /* INET */ #ifdef INET6 - struct ip6_hdr *h6; + struct ip6_hdr *h6 = NULL; /* make the compiler happy */ #endif /* INET6 */ - struct tcphdr *th; + struct tcphdr *th = NULL; /* make the compiler happy */ #ifdef __FreeBSD__ struct ip *ip; #if (__FreeBSD_version < 501114) @@ -2343,7 +2343,7 @@ struct route_in6 ro6; #endif /* INET6 */ struct rtentry *rt = NULL; - int hlen; + int hlen = 0; /* make the compiler happy */ u_int16_t mss = tcp_mssdflt; switch (af) { @@ -3014,9 +3014,10 @@ struct pf_rule *r, *a = NULL; struct pf_ruleset *ruleset = NULL; u_short reason; - u_int16_t icmpid; + u_int16_t icmpid = 0; /* make the compiler happy */ sa_family_t af = pd->af; - u_int8_t icmptype, icmpcode; + u_int8_t icmptype = 0; /* make the compiler happy */ + u_int8_t icmpcode = 0; /* make the compiler happy */ int state_icmp = 0; struct pf_tag *pftag = NULL; int tag = -1; @@ -4094,8 +4095,9 @@ struct mbuf *m, int ipoff, int off, void *h, struct pf_pdesc *pd) { struct pf_addr *saddr = pd->src, *daddr = pd->dst; - u_int16_t icmpid, *icmpsum; - u_int8_t icmptype; + u_int16_t icmpid = 0; /* make the compiler happy */ + u_int16_t *icmpsum = NULL; /* make the compiler happy */ + u_int8_t icmptype = 0; /* make the compiler happy */ int state_icmp = 0, dirndx; switch (pd->proto) { @@ -4216,8 +4218,8 @@ struct ip6_hdr h2_6; int terminal = 0; #endif /* INET6 */ - int ipoff2; - int off2; + int ipoff2 = 0; /* make the compiler happy */ + int off2 = 0; /* make the compiler happy */ pd2.af = pd->af; switch (pd->af) { @@ -4961,7 +4963,7 @@ { struct mbuf *m0, *m1; struct route iproute; - struct route *ro; + struct route *ro = NULL; /* XXX: was uninitialized */ struct sockaddr_in *dst; struct ip *ip; struct ifnet *ifp = NULL; @@ -5589,7 +5591,7 @@ { u_short action, reason = 0, log = 0; struct mbuf *m = *m0; - struct ip *h; + struct ip *h = NULL; /* XXX: was uninitialized */ struct pf_rule *a = NULL, *r = &pf_default_rule, *tr; struct pf_state *s = NULL; struct pf_ruleset *ruleset = NULL; ==== //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#9 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.129 2004/03/27 16:26:00 takawata Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.130 2004/03/30 07:35:18 njl Exp $ */ #include "opt_acpi.h" @@ -235,14 +235,23 @@ /* * Allow override of whether methods execute in parallel or not. - * Default to serial behavior as this fixes some AE_ALREADY_EXISTS errors - * and matches the MS interpreter. + * Enable this for serial behavior, which fixes "AE_ALREADY_EXISTS" + * errors for AML that really can't handle parallel method execution. + * It is off by default since this breaks recursive methods and + * some IBMs use such code. */ -static int acpi_serialize_methods = 1; +static int acpi_serialize_methods; TUNABLE_INT("hw.acpi.serialize_methods", &acpi_serialize_methods); -/* Allow override of whether to support the _OSI method. */ -static int acpi_osi_method; +/* + * Allow override of whether to support the _OSI method. This allows us + * to claim compatibility with various MS OSs without changing the value + * we report for _OS. This is enabled by default since it fixes some + * problems with interrupt routing although it can be disabled if it + * causes problems. See the definition of "AcpiGbl_ValidOsiStrings" for + * a list of systems we claim. + */ +static int acpi_osi_method = 1; TUNABLE_INT("hw.acpi.osi_method", &acpi_osi_method); /* ==== //depot/projects/netperf_socket/sys/dev/nge/if_nge.c#4 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/nge/if_nge.c,v 1.54 2004/03/17 17:50:38 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/nge/if_nge.c,v 1.55 2004/03/30 10:24:52 ru Exp $"); /* * National Semiconductor DP83820/DP83821 gigabit ethernet driver @@ -1392,7 +1392,7 @@ */ if (extsts & NGE_RXEXTSTS_VLANPKT) { VLAN_INPUT_TAG(ifp, m, - extsts & NGE_RXEXTSTS_VTCI, continue); + ntohs(extsts & NGE_RXEXTSTS_VTCI), continue); } (*ifp->if_input)(ifp, m); @@ -1715,7 +1715,7 @@ mtag = VLAN_OUTPUT_TAG(&sc->arpcom.ac_if, m); if (mtag != NULL) { sc->nge_ldata->nge_tx_list[cur].nge_extsts |= - (NGE_TXEXTSTS_VLANPKT|VLAN_TAG_VALUE(mtag)); + (NGE_TXEXTSTS_VLANPKT|htons(VLAN_TAG_VALUE(mtag))); } sc->nge_ldata->nge_tx_list[cur].nge_mbuf = m_head; ==== //depot/projects/netperf_socket/sys/fs/udf/udf_vfsops.c#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/fs/udf/udf_vfsops.c,v 1.16 2003/11/05 06:56:08 scottl Exp $ + * $FreeBSD: src/sys/fs/udf/udf_vfsops.c,v 1.17 2004/03/30 05:01:48 scottl Exp $ */ /* udf_vfsops.c */ @@ -778,6 +778,8 @@ */ if ((error = udf_readlblks(udfmp, pms->st_loc[0], pms->st_size, &bp)) != 0) { + if (bp != NULL) + brelse(bp); printf("Failed to read Sparing Table at sector %d\n", pms->st_loc[0]); return (error); ==== //depot/projects/netperf_socket/sys/fs/udf/udf_vnops.c#3 (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/fs/udf/udf_vnops.c,v 1.34 2004/03/03 07:43:34 scottl Exp $ + * $FreeBSD: src/sys/fs/udf/udf_vnops.c,v 1.35 2004/03/30 05:01:48 scottl Exp $ */ /* udf_vnops.c */ @@ -416,9 +416,8 @@ offset = uio->uio_offset; size = uio->uio_resid; error = udf_readatoffset(node, &size, offset, &bp, &data); - if (error) - return (error); - error = uiomove(data, size, uio); + if (error == 0) + error = uiomove(data, size, uio); if (bp != NULL) brelse(bp); if (error) @@ -579,6 +578,8 @@ &ds->bp, &ds->data); if (error) { ds->error = error; + if (ds->bp != NULL) + brelse(ds->bp); return (NULL); } } @@ -1051,8 +1052,9 @@ * offset passed in. Only read in at most 'size' bytes, and then set 'size' * to the number of bytes pointed to. If 'size' is zero, try to read in a * whole extent. - * XXX 'size' is limited to the logical block size for now due to problems - * with udf_read() + * + * Note that *bp may be assigned error or not. + * */ static int udf_readatoffset(struct udf_node *node, int *size, int offset, struct buf **bp, uint8_t **data) @@ -1066,6 +1068,7 @@ udfmp = node->udfmp; + *bp = NULL; error = udf_bmap_internal(node, offset, §or, &max_size); if (error == UDF_INVALID_BMAP) { /* @@ -1075,7 +1078,6 @@ fentry = node->fentry; *data = &fentry->data[fentry->l_ea]; *size = fentry->l_ad; - *bp = NULL; return (0); } else if (error != 0) { return (error); @@ -1088,6 +1090,7 @@ if ((error = udf_readlblks(udfmp, sector, *size, bp))) { printf("warning: udf_readlblks returned error %d\n", error); + /* note: *bp may be non-NULL */ return (error); } ==== //depot/projects/netperf_socket/sys/i386/conf/GENERIC#4 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.398 2004/03/15 00:49:40 obrien Exp $ +# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.399 2004/03/30 03:46:00 vkashyap Exp $ machine i386 cpu I486_CPU @@ -124,6 +124,7 @@ device iir # Intel Integrated RAID device ips # IBM (Adaptec) ServeRAID device mly # Mylex AcceleRAID/eXtremeRAID +device twa # 3ware 9000 series PATA/SATA RAID # RAID controllers device aac # Adaptec FSA RAID ==== //depot/projects/netperf_socket/sys/kern/subr_param.c#4 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_param.c,v 1.62 2004/03/27 19:50:22 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_param.c,v 1.63 2004/03/30 08:00:11 alc Exp $"); #include "opt_param.h" #include "opt_maxusers.h" @@ -181,15 +181,13 @@ void init_param3(long kmempages) { + /* - * Limit pageable pipe memory usage to 5% of the kernel map - * (via pipe_map). Ensure that all have reasonable floors. - * (See sys_pipe.c for more info.) + * The default for maxpipekva is max(5% of the kernel map, 512KB). + * See sys_pipe.c for more details. */ maxpipekva = (kmempages / 20) * PAGE_SIZE; - if (maxpipekva < 512 * 1024) maxpipekva = 512 * 1024; - TUNABLE_INT_FETCH("kern.ipc.maxpipekva", &maxpipekva); } ==== //depot/projects/netperf_socket/sys/pci/if_ste.c#6 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/if_ste.c,v 1.63 2004/03/24 17:43:45 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/if_ste.c,v 1.64 2004/03/30 19:23:38 ru Exp $"); #include #include @@ -1493,25 +1493,13 @@ /* * We ran out of segments. We have to recopy this * mbuf chain first. Bail out if we can't get the - * new buffers. Code borrowed from if_fxp.c + * new buffers. */ - MGETHDR(mn, M_DONTWAIT, MT_DATA); + mn = m_defrag(m_head, M_DONTWAIT); if (mn == NULL) { m_freem(m_head); return ENOMEM; } - if (m_head->m_pkthdr.len > MHLEN) { - MCLGET(mn, M_DONTWAIT); - if ((mn->m_flags & M_EXT) == 0) { - m_freem(mn); - m_freem(m_head); - return ENOMEM; - } - } - m_copydata(m_head, 0, m_head->m_pkthdr.len, - mtod(mn, caddr_t)); - mn->m_pkthdr.len = mn->m_len = m_head->m_pkthdr.len; - m_freem(m_head); m_head = mn; goto encap_retry; } ==== //depot/projects/netperf_socket/sys/powerpc/powerpc/vm_machdep.c#5 (text+ko) ==== @@ -38,7 +38,7 @@ * * from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91 * Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$ - * $FreeBSD: src/sys/powerpc/powerpc/vm_machdep.c,v 1.99 2004/03/29 19:38:05 peter Exp $ + * $FreeBSD: src/sys/powerpc/powerpc/vm_machdep.c,v 1.100 2004/03/30 13:57:34 benno Exp $ */ /* * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. @@ -355,7 +355,7 @@ { struct pcb *pcb; - pcb = (struct pcb *)((td->td_kstack + td2->td_kstack_pages * PAGE_SIZE - + pcb = (struct pcb *)((td->td_kstack + td->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb)) & ~0x2fU); td->td_pcb = pcb; td->td_frame = (struct trapframe *)pcb - 1; From owner-p4-projects@FreeBSD.ORG Tue Mar 30 14:33:52 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 398C016A4D1; Tue, 30 Mar 2004 14:33:52 -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 C653B16A4CE for ; Tue, 30 Mar 2004 14:33:51 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BAC3F43D3F for ; Tue, 30 Mar 2004 14:33:51 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2UMXpGe045660 for ; Tue, 30 Mar 2004 14:33:51 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2UMXpxB045657 for perforce@freebsd.org; Tue, 30 Mar 2004 14:33:51 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 30 Mar 2004 14:33:51 -0800 (PST) Message-Id: <200403302233.i2UMXpxB045657@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 50010 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: Tue, 30 Mar 2004 22:33:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=50010 Change 50010 by peter@peter_daintree on 2004/03/30 14:33:40 oh the horror! make it compile. Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#10 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#10 (text+ko) ==== @@ -65,20 +65,20 @@ typedef struct { void *addr; - Elf_Off filesz; + Elf_Off memsz; int align; int flags; } Elf_nobitent; typedef struct { - const Elf_Rel *rel; + Elf_Rel *rel; int relsize; Elf_Off fileoff; Elf_Off filesz; } Elf_relent; typedef struct { - const Elf_Rela *rela; + Elf_Rela *rela; int relasize; Elf_Off fileoff; Elf_Off filesz; @@ -189,10 +189,8 @@ Elf_Ehdr *hdr; caddr_t firstpage; int nbytes, i; - int nsegs; caddr_t mapbase; size_t mapsize; - Elf_Addr base_vlimit; int error = 0; int resid, flags; elf_file_t ef; @@ -200,8 +198,6 @@ Elf_Shdr *shdr; int symtabindex; int symstrindex; - int symcnt; - int strcnt; int nsym; int pb, nb, rl, ra; int alignmask; @@ -303,8 +299,8 @@ ef = (elf_file_t) lf; /* Scan the section header for information and table sizing. */ - ef->nprogent = 0; - ef->nnobits = 0; + ef->nprogtab = 0; + ef->nnobittab = 0; nsym = 0; ef->nrel = 0; ef->nrela = 0; @@ -324,14 +320,14 @@ symstrindex = shdr[i].sh_link; break; case SHT_REL: - ef->nreltab++; + ef->nrel++; break; case SHT_RELA: - ef->nrelatab++; + ef->nrela++; break; } } - if (nprogbits == 0 && nnobits == 0) { + if (ef->nprogtab == 0 && ef->nnobittab == 0) { link_elf_error("file has no contents"); error = ENOEXEC; goto out; @@ -342,7 +338,7 @@ error = ENOEXEC; goto out; } - if (symstrindex < 0 || sysmstrindex > hdr->e_shnum || + if (symstrindex < 0 || symstrindex > hdr->e_shnum || shdr[symstrindex].sh_type != SHT_STRTAB) { link_elf_error("file has invalid symbol strings"); error = ENOEXEC; @@ -354,19 +350,19 @@ if (ef->nprogtab != 0) ef->progtab = malloc(ef->nprogtab * sizeof(*ef->progtab), M_LINKER, M_WAITOK); if (ef->nnobittab != 0) - ef->nobittab = malloc(ef->nobbittab * sizeof(*ef->nobittab), M_LINKER, M_WAITOK); - if (ef->nreltab != 0) - ef->reltab = malloc(ef->nreltab * sizeof(*ef->reltab), M_LINKER, M_WAITOK); - if (ef->nrelatab != 0) - ef->relatab = malloc(ef->nrelatab * sizeof(*ef->relatab), M_LINKER, M_WAITOK); + ef->nobittab = malloc(ef->nnobittab * sizeof(*ef->nobittab), M_LINKER, M_WAITOK); + if (ef->nrel != 0) + ef->reltab = malloc(ef->nrel * sizeof(*ef->reltab), M_LINKER, M_WAITOK); + if (ef->nrela != 0) + ef->relatab = malloc(ef->nrela * sizeof(*ef->relatab), M_LINKER, M_WAITOK); /* XXX check for failures */ /* Space for symbol table */ ef->ddbsymcnt = shdr[symtabindex].sh_size / sizeof(Elf_Sym); - ef->ddbsymbase = malloc(shdr[symtabindex].sh_size, M_LINKER, M_WAITOK); + ef->ddbsymtab = malloc(shdr[symtabindex].sh_size, M_LINKER, M_WAITOK); ef->ddbstrcnt = shdr[symstrindex].sh_size; - ef->ddbstrbase = malloc(shdr[symstrindex].sh_size, M_LINKER, M_WAITOK); + ef->ddbstrtab = malloc(shdr[symstrindex].sh_size, M_LINKER, M_WAITOK); if (ef->symbase == NULL || ef->strbase == NULL) { error = ENOMEM; @@ -391,30 +387,30 @@ switch (shdr[i].sh_type) { case SHT_PROGBITS: - ef->progtab[pb].addr = mapsize; + ef->progtab[pb].addr = (void *)(uintptr_t)mapsize; ef->progtab[pb].fileoff = shdr[i].sh_offset; - ef->progtab[pb].size = shdr[i].sh_size; + ef->progtab[pb].filesz = shdr[i].sh_size; ef->progtab[pb].align = shdr[i].sh_addralign; mapsize += shdr[i].sh_size; pb++; break; case SHT_NOBITS: - ef->nobittab[nb].addr = mapsize; - ef->nobittab[nb].size = shdr[i].sh_size; + ef->nobittab[nb].addr = (void *)(uintptr_t)mapsize; + ef->nobittab[nb].memsz = shdr[i].sh_size; ef->nobittab[nb].align = shdr[i].sh_addralign; mapsize += shdr[i].sh_size; nb++; break; case SHT_REL: - ef->reltab[rl].addr = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK) + ef->reltab[rl].rel = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); ef->reltab[rl].fileoff = shdr[i].sh_offset; - ef->reltab[rl].size = shdr[i].sh_size; + ef->reltab[rl].filesz = shdr[i].sh_size; rl++; break; case SHT_RELA: - ef->relatab[ra].addr = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK) + ef->relatab[ra].rela = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); ef->relatab[ra].fileoff = shdr[i].sh_offset; - ef->relatab[ra].size = shdr[i].sh_size; + ef->relatab[ra].filesz = shdr[i].sh_size; ra++; break; } @@ -423,9 +419,9 @@ panic("lots progbits"); if (nb != ef->nnobittab) panic("lots nobits"); - if (rl != ef->nreltab) + if (rl != ef->nrel) panic("lots rel"); - if (ra != ef->nrelatab) + if (ra != ef->nrela) panic("lots rela"); /* @@ -440,21 +436,21 @@ } /* Add the base address to the previously calculated/aligned offsets */ - for (i = 0; i < ef->nprogtab) - ef->progtab[i].addr += mapbase; - for (i = 0; i < ef->nnobittab) - ef->nobittab[i].addr += mapbase; + for (i = 0; i < ef->nprogtab; i++) + ef->progtab[i].addr = mapbase + (uintptr_t)ef->progtab[i].addr; + for (i = 0; i < ef->nnobittab; i++) + ef->nobittab[i].addr = mapbase + (uintptr_t)ef->nobittab[i].addr; /* Load the symbol table. */ error = vn_rdwr(UIO_READ, nd.ni_vp, - ef->symbase, symcnt, shdr[symtabindex].sh_offset, + ef->symbase, ef->ddbsymcnt, shdr[symtabindex].sh_offset, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); if (error) goto out; error = vn_rdwr(UIO_READ, nd.ni_vp, - ef->strbase, strcnt, shdr[symstrindex].sh_offset, + ef->strbase, ef->ddbstrcnt, shdr[symstrindex].sh_offset, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); if (error) @@ -464,8 +460,8 @@ for (i = 0; i < ef->nprogtab; i++) { error = vn_rdwr(UIO_READ, nd.ni_vp, ef->progtab[pb].addr, - ef->progtab[pb].size, - ef->progtab[pb].fileoff + ef->progtab[pb].filesz, + ef->progtab[pb].fileoff, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); if (error) @@ -476,21 +472,21 @@ * Read in relocation tables. Platforms use rel or rela, but * usually not both. */ - for (i = 0; i < ef->nreltab; i++) { + for (i = 0; i < ef->nrel; i++) { error = vn_rdwr(UIO_READ, nd.ni_vp, - ef->reltab[pb].addr, - ef->reltab[pb].size, - ef->reltab[pb].fileoff + (void *)ef->reltab[pb].rel, + ef->reltab[pb].filesz, + ef->reltab[pb].fileoff, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); if (error) goto out; } - for (i = 0; i < ef->nrelatab; i++) { + for (i = 0; i < ef->nrela; i++) { error = vn_rdwr(UIO_READ, nd.ni_vp, - ef->relatab[pb].addr, - ef->relatab[pb].size, - ef->relatab[pb].fileoff + (void *)ef->relatab[pb].rela, + ef->relatab[pb].filesz, + ef->relatab[pb].fileoff, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); if (error) @@ -520,8 +516,6 @@ if (error) goto out; -nosyms: - *result = lf; out: @@ -559,8 +553,8 @@ const Elf_Sym *ref; if (ELF_R_SYM(r_info)) { - ref = ef->symtab + ELF_R_SYM(r_info); - return ef->strtab + ref->st_name; + ref = ef->ddbsymtab + ELF_R_SYM(r_info); + return ef->ddbstrtab + ref->st_name; } else return NULL; } @@ -573,63 +567,41 @@ const Elf_Rela *relalim; const Elf_Rela *rela; const char *symname; + int i; + /* Perform relocations without addend if there are any: */ - rel = ef->rel; - if (rel) { - rellim = (const Elf_Rel *)((const char *)ef->rel + ef->relsize); - while (rel < rellim) { - if (elf_reloc(&ef->lf, rel, ELF_RELOC_REL)) { - symname = symbol_name(ef, rel->r_info); - printf("link_elf: symbol %s undefined\n", symname); - return ENOENT; + for (i = 0; i < ef->nrel; i++) { + rel = ef->reltab[i].rel; + if (rel) { + rellim = (const Elf_Rel *)((const char *)rel + ef->reltab[i].relsize); + while (rel < rellim) { + if (elf_reloc(&ef->lf, rel, ELF_RELOC_REL)) { + symname = symbol_name(ef, rel->r_info); + printf("link_elf: symbol %s undefined\n", symname); + return ENOENT; + } + rel++; } - rel++; } } /* Perform relocations with addend if there are any: */ - rela = ef->rela; - if (rela) { - relalim = (const Elf_Rela *)((const char *)ef->rela + ef->relasize); - while (rela < relalim) { - if (elf_reloc(&ef->lf, rela, ELF_RELOC_RELA)) { - symname = symbol_name(ef, rela->r_info); - printf("link_elf: symbol %s undefined\n", symname); - return ENOENT; - } - rela++; - } - } - - /* Perform PLT relocations without addend if there are any: */ - rel = ef->pltrel; - if (rel) { - rellim = (const Elf_Rel *)((const char *)ef->pltrel + ef->pltrelsize); - while (rel < rellim) { - if (elf_reloc(&ef->lf, rel, ELF_RELOC_REL)) { - symname = symbol_name(ef, rel->r_info); - printf("link_elf: symbol %s undefined\n", symname); - return ENOENT; + for (i = 0; i < ef->nrela; i++) { + rela = ef->relatab[i].rela; + if (rela) { + relalim = (const Elf_Rela *)((const char *)rela + ef->relatab[i].relasize); + while (rela < relalim) { + if (elf_reloc(&ef->lf, rela, ELF_RELOC_RELA)) { + symname = symbol_name(ef, rela->r_info); + printf("link_elf: symbol %s undefined\n", symname); + return ENOENT; + } + rela++; } - rel++; } } - /* Perform relocations with addend if there are any: */ - rela = ef->pltrela; - if (rela) { - relalim = (const Elf_Rela *)((const char *)ef->pltrela + ef->pltrelasize); - while (rela < relalim) { - if (elf_reloc(&ef->lf, rela, ELF_RELOC_RELA)) { - symname = symbol_name(ef, rela->r_info); - printf("link_elf: symbol %s undefined\n", symname); - return ENOENT; - } - rela++; - } - } - return 0; } @@ -637,7 +609,6 @@ link_elf_lookup_symbol(linker_file_t lf, const char *name, c_linker_sym_t *sym) { elf_file_t ef = (elf_file_t) lf; - unsigned long symnum; const Elf_Sym *symp; const char *strp; int i; @@ -789,6 +760,7 @@ return (0); } +#if 0 const Elf_Sym * elf_get_sym(linker_file_t lf, Elf_Word symidx) { @@ -810,7 +782,9 @@ sym = ef->symtab + symidx; return (ef->strtab + sym->st_name); } +#endif +#if 0 /* * Symbol lookup function that can be used when the symbol index is known (ie * in relocations). It uses the symbol index instead of doing a fully fledged @@ -857,6 +831,7 @@ return ((Elf_Addr)linker_file_lookup_symbol(lf, symbol, deps)); } +#endif static void link_elf_reloc_local(linker_file_t lf) @@ -866,22 +841,29 @@ const Elf_Rela *relalim; const Elf_Rela *rela; elf_file_t ef = (elf_file_t)lf; + int i; /* Perform relocations without addend if there are any: */ - if ((rel = ef->rel) != NULL) { - rellim = (const Elf_Rel *)((const char *)ef->rel + ef->relsize); - while (rel < rellim) { - elf_reloc_local(lf, rel, ELF_RELOC_REL); - rel++; + for (i = 0; i < ef->nrel; i++) { + rel = ef->reltab[i].rel; + if (rel) { + rellim = (const Elf_Rel *)((const char *)rel + ef->reltab[i].relsize); + while (rel < rellim) { + elf_reloc_local(lf, rel, ELF_RELOC_REL); + rel++; + } } } /* Perform relocations with addend if there are any: */ - if ((rela = ef->rela) != NULL) { - relalim = (const Elf_Rela *)((const char *)ef->rela + ef->relasize); - while (rela < relalim) { - elf_reloc_local(lf, rela, ELF_RELOC_RELA); - rela++; + for (i = 0; i < ef->nrela; i++) { + rela = ef->relatab[i].rela; + if (rela) { + relalim = (const Elf_Rela *)((const char *)rela + ef->relatab[i].relasize); + while (rela < relalim) { + elf_reloc_local(lf, rela, ELF_RELOC_RELA); + rela++; + } } } } From owner-p4-projects@FreeBSD.ORG Tue Mar 30 15:15:47 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D22CC16A4D0; Tue, 30 Mar 2004 15:15:46 -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 89AD416A4CE for ; Tue, 30 Mar 2004 15:15:46 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6919043D3F for ; Tue, 30 Mar 2004 15:15:46 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2UNFkGe055239 for ; Tue, 30 Mar 2004 15:15:46 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2UNFjRT055236 for perforce@freebsd.org; Tue, 30 Mar 2004 15:15:45 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 30 Mar 2004 15:15:45 -0800 (PST) Message-Id: <200403302315.i2UNFjRT055236@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 50016 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: Tue, 30 Mar 2004 23:15:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=50016 Change 50016 by peter@peter_daintree on 2004/03/30 15:14:48 Dont waste a whole page for the elf header. There is nothing in close proximity anymore that makes it worth it anymore. Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#11 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#11 (text+ko) ==== @@ -143,9 +143,9 @@ static struct linker_class link_elf_class = { #if ELF_TARG_CLASS == ELFCLASS32 - "elf32", + "elf32_obj", #else - "elf64", + "elf64_obj", #endif link_elf_methods, sizeof(struct elf_file) }; @@ -165,18 +165,20 @@ linker_add_class(&link_elf_class); } -SYSINIT(link_elf, SI_SUB_KLD, SI_ORDER_SECOND, link_elf_init, 0); +SYSINIT(link_elf_obj, SI_SUB_KLD, SI_ORDER_SECOND, link_elf_init, 0); static int link_elf_link_preload(linker_class_t cls, const char *filename, linker_file_t *result) { + /* preload not done this way */ return (EFTYPE); } static int link_elf_link_preload_finish(linker_file_t lf) { + /* preload not done this way */ return (EFTYPE); } @@ -187,7 +189,6 @@ struct nameidata nd; struct thread *td = curthread; /* XXX */ Elf_Ehdr *hdr; - caddr_t firstpage; int nbytes, i; caddr_t mapbase; size_t mapsize; @@ -207,6 +208,7 @@ shdr = NULL; lf = NULL; mapsize = 0; + hdr = NULL; NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, filename, td); flags = FREAD; @@ -217,27 +219,22 @@ #ifdef MAC error = mac_check_kld_load(curthread->td_ucred, nd.ni_vp); if (error) { - firstpage = NULL; goto out; } #endif - /* - * Read the elf header from the file. - */ - firstpage = malloc(PAGE_SIZE, M_LINKER, M_WAITOK); - if (firstpage == NULL) { + /* Read the elf header from the file. */ + hdr = malloc(sizeof(Elf_Ehdr *), M_LINKER, M_WAITOK); + if (hdr == NULL) { error = ENOMEM; goto out; } - hdr = (Elf_Ehdr *)firstpage; - error = vn_rdwr(UIO_READ, nd.ni_vp, firstpage, PAGE_SIZE, 0, + error = vn_rdwr(UIO_READ, nd.ni_vp, hdr, PAGE_SIZE, 0, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); - nbytes = PAGE_SIZE - resid; if (error) goto out; - if (nbytes < sizeof(Elf_Ehdr)){ + if (resid != 0){ error = ENOEXEC; goto out; } @@ -523,8 +520,8 @@ linker_file_unload(lf); if (shdr) free(shdr, M_LINKER); - if (firstpage) - free(firstpage, M_LINKER); + if (hdr) + free(hdr, M_LINKER); VOP_UNLOCK(nd.ni_vp, 0, td); vn_close(nd.ni_vp, FREAD, td->td_ucred, td); From owner-p4-projects@FreeBSD.ORG Tue Mar 30 16:31:18 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 910AB16A4D0; Tue, 30 Mar 2004 16:31:18 -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 5386B16A4CE for ; Tue, 30 Mar 2004 16:31:18 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4B37143D2F for ; Tue, 30 Mar 2004 16:31:18 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2V0VIGe071328 for ; Tue, 30 Mar 2004 16:31:18 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2V0VH2X071322 for perforce@freebsd.org; Tue, 30 Mar 2004 16:31:17 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 30 Mar 2004 16:31:17 -0800 (PST) Message-Id: <200403310031.i2V0VH2X071322@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 50018 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: Wed, 31 Mar 2004 00:31:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=50018 Change 50018 by peter@peter_daintree on 2004/03/30 16:31:10 oops. the reason for this file's existence is to load relocatable files (.o) rather than dynamic linked files (.ko). Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#12 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#12 (text+ko) ==== @@ -217,7 +217,7 @@ return error; NDFREE(&nd, NDF_ONLY_PNBUF); #ifdef MAC - error = mac_check_kld_load(curthread->td_ucred, nd.ni_vp); + error = mac_check_kld_load(td->td_ucred, nd.ni_vp); if (error) { goto out; } @@ -256,7 +256,7 @@ error = ENOEXEC; goto out; } - if (hdr->e_type != ET_EXEC && hdr->e_type != ET_DYN) { + if (hdr->e_type != ET_EXEC && hdr->e_type != ET_REL) { link_elf_error("Unsupported file type"); error = ENOEXEC; goto out; From owner-p4-projects@FreeBSD.ORG Tue Mar 30 16:55:52 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3FE8416A4D0; Tue, 30 Mar 2004 16:55:52 -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 DB5AA16A4CE for ; Tue, 30 Mar 2004 16:55:51 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D1C1043D39 for ; Tue, 30 Mar 2004 16:55:51 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2V0toGe082308 for ; Tue, 30 Mar 2004 16:55:51 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2V0tooS082305 for perforce@freebsd.org; Tue, 30 Mar 2004 16:55:50 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 30 Mar 2004 16:55:50 -0800 (PST) Message-Id: <200403310055.i2V0tooS082305@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 50021 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: Wed, 31 Mar 2004 00:55:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=50021 Change 50021 by peter@peter_daintree on 2004/03/30 16:55:34 begin debugging this stuff (real kernel hackers only need printf!) Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#13 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#13 (text+ko) ==== @@ -87,7 +87,7 @@ typedef struct elf_file { struct linker_file lf; /* Common fields */ - caddr_t address; /* Relocation address */ /* XXX OBE */ + caddr_t address; /* Relocation address */ Elf_progent *progtab; int nprogtab; @@ -229,7 +229,7 @@ error = ENOMEM; goto out; } - error = vn_rdwr(UIO_READ, nd.ni_vp, hdr, PAGE_SIZE, 0, + error = vn_rdwr(UIO_READ, nd.ni_vp, (void *)hdr, PAGE_SIZE, 0, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); if (error) @@ -267,6 +267,8 @@ goto out; } +printf("elf_load_obj: initial checks look ok!\n"); + /* Allocate and read in the section header */ nbytes = hdr->e_shnum * hdr->e_shentsize; if (nbytes == 0 || hdr->e_shoff == 0 || @@ -275,6 +277,7 @@ goto out; } shdr = malloc(nbytes, M_LINKER, M_WAITOK | M_ZERO); +printf("section table %d bytes allocated at %p\n", nbytes, shdr); if (shdr == NULL) { error = ENOMEM; goto out; @@ -288,6 +291,7 @@ goto out; } +printf("section table read in ok\n"); lf = linker_make_file(filename, &link_elf_class); if (!lf) { error = ENOMEM; @@ -295,6 +299,7 @@ } ef = (elf_file_t) lf; +printf("scan header1\n"); /* Scan the section header for information and table sizing. */ ef->nprogtab = 0; ef->nnobittab = 0; @@ -306,22 +311,31 @@ for (i = 0; i < hdr->e_shnum; i++) { switch (shdr[i].sh_type) { case SHT_PROGBITS: +printf("scan: progbits!\n"); ef->nprogtab++; break; case SHT_NOBITS: +printf("scan: nobits!\n"); ef->nnobittab++; break; case SHT_SYMTAB: +printf("scan: symtab!\n"); nsym++; symtabindex = i; symstrindex = shdr[i].sh_link; +printf("[symtab peer is %d]\n", symstrindex); break; case SHT_REL: +printf("scan: rel!\n"); ef->nrel++; break; case SHT_RELA: +printf("scan: rela!\n"); ef->nrela++; break; + default: +printf("scan: unknown section type %d\n", shdr[i].sh_type); + break; } } if (ef->nprogtab == 0 && ef->nnobittab == 0) { @@ -372,13 +386,16 @@ rl = 0; ra = 0; alignmask = 0; +printf("scan pass 2\n"); for (i = 0; i < hdr->e_shnum; i++) { switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: alignmask = (1u << shdr[i].sh_addralign) - 1; +printf("addralign %ld mask %d\n", shdr[i].sh_addralign, alignmask); mapsize += alignmask; mapsize &= ~alignmask; +printf("mapsize now at %ld\n", mapsize); break; } @@ -388,6 +405,7 @@ ef->progtab[pb].fileoff = shdr[i].sh_offset; ef->progtab[pb].filesz = shdr[i].sh_size; ef->progtab[pb].align = shdr[i].sh_addralign; +printf("progbits at %ld\n", mapsize); mapsize += shdr[i].sh_size; pb++; break; @@ -395,17 +413,20 @@ ef->nobittab[nb].addr = (void *)(uintptr_t)mapsize; ef->nobittab[nb].memsz = shdr[i].sh_size; ef->nobittab[nb].align = shdr[i].sh_addralign; +printf("nobits at %ld\n", mapsize); mapsize += shdr[i].sh_size; nb++; break; case SHT_REL: ef->reltab[rl].rel = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); +printf("rel %ld allocated at %p\n", shdr[i].sh_size, ef->reltab[rl].rel); ef->reltab[rl].fileoff = shdr[i].sh_offset; ef->reltab[rl].filesz = shdr[i].sh_size; rl++; break; case SHT_RELA: ef->relatab[ra].rela = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); +printf("rela %ld allocated at %p\n", shdr[i].sh_size, ef->relatab[ra].rela); ef->relatab[ra].fileoff = shdr[i].sh_offset; ef->relatab[ra].filesz = shdr[i].sh_size; ra++; @@ -431,14 +452,20 @@ error = ENOMEM; goto out; } +printf("final mapbase %p, final mapsize %ld\n", mapbase, mapsize); /* Add the base address to the previously calculated/aligned offsets */ - for (i = 0; i < ef->nprogtab; i++) + for (i = 0; i < ef->nprogtab; i++) { ef->progtab[i].addr = mapbase + (uintptr_t)ef->progtab[i].addr; - for (i = 0; i < ef->nnobittab; i++) +printf("progtab[%d] at %p\n", i, ef->progtab[i].addr); + } + for (i = 0; i < ef->nnobittab; i++) { ef->nobittab[i].addr = mapbase + (uintptr_t)ef->nobittab[i].addr; +printf("nobittab[%d] at %p\n", i, ef->nobittab[i].addr); + } +printf("reading symbols\n"); /* Load the symbol table. */ error = vn_rdwr(UIO_READ, nd.ni_vp, ef->symbase, ef->ddbsymcnt, shdr[symtabindex].sh_offset, @@ -446,6 +473,7 @@ &resid, td); if (error) goto out; +printf("reading strings\n"); error = vn_rdwr(UIO_READ, nd.ni_vp, ef->strbase, ef->ddbstrcnt, shdr[symstrindex].sh_offset, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, @@ -453,8 +481,10 @@ if (error) goto out; +printf("reading progbits\n"); /* Read in the text/data/set/etc sections */ for (i = 0; i < ef->nprogtab; i++) { +printf("reading progbits %d\n", i); error = vn_rdwr(UIO_READ, nd.ni_vp, ef->progtab[pb].addr, ef->progtab[pb].filesz, @@ -469,6 +499,7 @@ * Read in relocation tables. Platforms use rel or rela, but * usually not both. */ +printf("reading rel\n"); for (i = 0; i < ef->nrel; i++) { error = vn_rdwr(UIO_READ, nd.ni_vp, (void *)ef->reltab[pb].rel, @@ -479,6 +510,7 @@ if (error) goto out; } +printf("reading rela\n"); for (i = 0; i < ef->nrela; i++) { error = vn_rdwr(UIO_READ, nd.ni_vp, (void *)ef->relatab[pb].rela, @@ -491,31 +523,38 @@ } +printf("now do post link stuff\n"); /* Inform the kld system about the situation */ lf->address = ef->address; lf->size = mapsize; +printf("do intra-module relocs\n"); /* Local intra-module relocations */ link_elf_reloc_local(lf); +printf("load dependencies\n"); /* Pull in dependencies */ error = linker_load_dependencies(lf); if (error) goto out; +printf("do external relocs\n"); /* External relocations */ error = relocate_file(ef); if (error) goto out; +printf("notify MD code\n"); /* Notify MD code that a module is being loaded. */ error = elf_cpu_load_file(lf); if (error) goto out; +printf("HOLY SHIT! WE MADE IT!!!\n"); *result = lf; out: +printf("link_elf_obj: finishing up! error = %d\n", error); if (error && lf) linker_file_unload(lf); if (shdr) From owner-p4-projects@FreeBSD.ORG Tue Mar 30 17:02:00 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 22F7516A4D0; Tue, 30 Mar 2004 17:02:00 -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 ECDA816A4CE for ; Tue, 30 Mar 2004 17:01:59 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CC04C43D31 for ; Tue, 30 Mar 2004 17:01:59 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2V11xGe083552 for ; Tue, 30 Mar 2004 17:01:59 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2V11x9k083546 for perforce@freebsd.org; Tue, 30 Mar 2004 17:01:59 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 30 Mar 2004 17:01:59 -0800 (PST) Message-Id: <200403310101.i2V11x9k083546@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 50022 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: Wed, 31 Mar 2004 01:02:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=50022 Change 50022 by peter@peter_daintree on 2004/03/30 17:01:50 actually connect the file for local testing. Affected files ... .. //depot/projects/hammer/sys/conf/files#52 edit Differences ... ==== //depot/projects/hammer/sys/conf/files#52 (text+ko) ==== @@ -1071,6 +1071,7 @@ kern/kern_uuid.c standard kern/kern_xxx.c standard kern/link_elf.c standard +kern/link_elf_obj.c standard kern/md4c.c optional netsmb kern/md5c.c standard kern/sched_4bsd.c optional sched_4bsd From owner-p4-projects@FreeBSD.ORG Tue Mar 30 18:32:56 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7BBBA16A4D0; Tue, 30 Mar 2004 18:32:56 -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 0EB9316A4CE for ; Tue, 30 Mar 2004 18:32:55 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 02A1E43D55 for ; Tue, 30 Mar 2004 18:32:55 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2V2WsGe020398 for ; Tue, 30 Mar 2004 18:32:54 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2V2WsZi020395 for perforce@freebsd.org; Tue, 30 Mar 2004 18:32:54 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 30 Mar 2004 18:32:54 -0800 (PST) Message-Id: <200403310232.i2V2WsZi020395@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 50027 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: Wed, 31 Mar 2004 02:32:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=50027 Change 50027 by rwatson@rwatson_tislabs on 2004/03/30 18:31:52 - optimized MD pagecopy() function to copy uncached pages. - uipc_connect2() used outside uipc_usrreq.c rather than unp_connect2(). - 802.11 code allows control of protections and power on transmission. Affected files ... .. //depot/projects/netperf_socket/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/netperf_socket/sys/amd64/amd64/support.S#2 integrate .. //depot/projects/netperf_socket/sys/amd64/include/md_var.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/sound/pci/ich.c#4 integrate .. //depot/projects/netperf_socket/sys/fs/fifofs/fifo_vnops.c#2 integrate .. //depot/projects/netperf_socket/sys/fs/portalfs/portal_vnops.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/uipc_usrreq.c#6 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_ioctl.c#3 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_ioctl.h#2 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_node.c#2 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_proto.c#2 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_var.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/un.h#2 integrate Differences ... ==== //depot/projects/netperf_socket/sys/amd64/amd64/pmap.c#4 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.453 2004/03/07 21:06:47 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.454 2004/03/31 02:03:48 alc Exp $"); /* * Manages physical address maps. @@ -2463,7 +2463,7 @@ vm_offset_t src = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(msrc)); vm_offset_t dst = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mdst)); - bcopy((void *)src, (void *)dst, PAGE_SIZE); + pagecopy((void *)src, (void *)dst); } /* ==== //depot/projects/netperf_socket/sys/amd64/amd64/support.S#2 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.105 2003/11/27 17:20:44 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.106 2004/03/31 02:03:49 alc Exp $ */ #include "opt_ddb.h" @@ -167,6 +167,32 @@ movsb ret +/* + * pagecopy(%rdi=from, %rsi=to) + */ +ENTRY(pagecopy) + movq $-PAGE_SIZE,%rax + movq %rax,%rdx + subq %rax,%rdi + subq %rax,%rsi +1: + prefetchnta (%rdi,%rax) + addq $64,%rax + jne 1b +2: + movq (%rdi,%rdx),%rax + movnti %rax,(%rsi,%rdx) + movq 8(%rdi,%rdx),%rax + movnti %rax,8(%rsi,%rdx) + movq 16(%rdi,%rdx),%rax + movnti %rax,16(%rsi,%rdx) + movq 24(%rdi,%rdx),%rax + movnti %rax,24(%rsi,%rdx) + addq $32,%rdx + jne 2b + sfence + ret + /* fillw(pat, base, cnt) */ /* %rdi,%rsi, %rdx */ ENTRY(fillw) ==== //depot/projects/netperf_socket/sys/amd64/include/md_var.h#3 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/md_var.h,v 1.71 2004/01/29 00:05:03 peter Exp $ + * $FreeBSD: src/sys/amd64/include/md_var.h,v 1.72 2004/03/31 02:03:49 alc Exp $ */ #ifndef _MACHINE_MD_VAR_H_ @@ -65,11 +65,12 @@ void doreti_iret_fault(void) __asm(__STRING(doreti_iret_fault)); void enable_sse(void); void fillw(int /*u_short*/ pat, void *base, size_t cnt); -void pagezero(void *addr); +void fpstate_drop(struct thread *td); int is_physical_memory(vm_offset_t addr); int isa_nmi(int cd); +void pagecopy(void *from, void *to); +void pagezero(void *addr); void setidt(int idx, alias_for_inthand_t *func, int typ, int dpl, int ist); int user_dbreg_trap(void); -void fpstate_drop(struct thread *td); #endif /* !_MACHINE_MD_VAR_H_ */ ==== //depot/projects/netperf_socket/sys/dev/sound/pci/ich.c#4 (text+ko) ==== @@ -32,7 +32,7 @@ #include #include -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/ich.c,v 1.39 2004/03/17 17:50:44 njl Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/ich.c,v 1.40 2004/03/31 00:11:24 matk Exp $"); /* -------------------------------------------------------------------- */ @@ -693,12 +693,23 @@ } /* + * By default, ich4 has NAMBAR and NABMBAR i/o spaces as + * read-only. Need to enable "legacy support", by poking into + * pci config space. The driver should use MMBAR and MBBAR, + * but doing so will mess things up here. ich4 has enough new + * features it warrants it's own driver. + */ + if (pci_get_devid(dev) == ICH4ID) { + pci_write_config(dev, PCIR_ICH_LEGACY, ICH_LEGACY_ENABLE, 1); + } + + /* * Enable bus master. On ich4/5 this may prevent the detection of * the primary codec becoming ready in ich_init(). */ pci_enable_busmaster(dev); - if ((pci_get_devid(dev) == ICH4ID) || (pci_get_devid(dev) == ICH5ID)) { + if (pci_get_devid(dev) == ICH5ID) { sc->nambarid = PCIR_MMBAR; sc->nabmbarid = PCIR_MBBAR; sc->regtype = SYS_RES_MEMORY; ==== //depot/projects/netperf_socket/sys/fs/fifofs/fifo_vnops.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)fifo_vnops.c 8.10 (Berkeley) 5/27/95 - * $FreeBSD: src/sys/fs/fifofs/fifo_vnops.c,v 1.91 2003/11/16 01:11:11 truckman Exp $ + * $FreeBSD: src/sys/fs/fifofs/fifo_vnops.c,v 1.92 2004/03/31 01:41:29 rwatson Exp $ */ #include @@ -201,7 +201,7 @@ if (error) goto fail2; fip->fi_writesock = wso; - error = unp_connect2(wso, rso); + error = uipc_connect2(wso, rso); if (error) { (void)soclose(wso); fail2: ==== //depot/projects/netperf_socket/sys/fs/portalfs/portal_vnops.c#3 (text+ko) ==== @@ -35,7 +35,7 @@ * * @(#)portal_vnops.c 8.14 (Berkeley) 5/21/95 * - * $FreeBSD: src/sys/fs/portalfs/portal_vnops.c,v 1.60 2004/03/01 03:14:21 rwatson Exp $ + * $FreeBSD: src/sys/fs/portalfs/portal_vnops.c,v 1.61 2004/03/31 01:41:29 rwatson Exp $ */ /* @@ -203,7 +203,7 @@ M_NOWAIT); so2 = so3; - return (unp_connect2(so, so2)); + return (uipc_connect2(so, so2)); } static int ==== //depot/projects/netperf_socket/sys/kern/uipc_usrreq.c#6 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.118 2004/03/30 02:16:25 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.119 2004/03/31 01:41:29 rwatson Exp $"); #include "opt_mac.h" @@ -122,6 +122,7 @@ static void unp_detach(struct unpcb *); static int unp_bind(struct unpcb *,struct sockaddr *, struct thread *); static int unp_connect(struct socket *,struct sockaddr *, struct thread *); +static int unp_connect2(struct socket *so, struct socket *so2); static void unp_disconnect(struct unpcb *); static void unp_shutdown(struct unpcb *); static void unp_drop(struct unpcb *, int); @@ -208,7 +209,7 @@ return (retval); } -static int +int uipc_connect2(struct socket *so1, struct socket *so2) { struct unpcb *unp = sotounpcb(so1); @@ -901,7 +902,7 @@ return (error); } -int +static int unp_connect2(so, so2) register struct socket *so; register struct socket *so2; ==== //depot/projects/netperf_socket/sys/net80211/ieee80211_ioctl.c#3 (text+ko) ==== @@ -31,12 +31,15 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.11 2004/01/19 05:25:43 onoe Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.13 2004/03/30 22:57:57 sam Exp $"); /* * IEEE 802.11 ioctl support (FreeBSD-specific) */ +#include "opt_inet.h" +#include "opt_ipx.h" + #include #include #include @@ -49,6 +52,16 @@ #include #include +#ifdef INET +#include +#include +#endif + +#ifdef IPX +#include +#include +#endif + #include #include @@ -756,6 +769,7 @@ u_int8_t tmpkey[IEEE80211_KEYBUF_SIZE]; char tmpssid[IEEE80211_NWID_LEN]; struct ieee80211_channel *chan; + struct ifaddr *ifa; /* XXX */ switch (cmd) { case SIOCSIFMEDIA: @@ -859,8 +873,18 @@ case IEEE80211_IOC_RTSTHRESHOLD: ireq->i_val = ic->ic_rtsthreshold; break; + case IEEE80211_IOC_PROTMODE: + ireq->i_val = ic->ic_protmode; + break; + case IEEE80211_IOC_TXPOWER: + if ((ic->ic_caps & IEEE80211_C_TXPMGT) == 0) + error = EINVAL; + else + ireq->i_val = ic->ic_txpower; + break; default: error = EINVAL; + break; } break; case SIOCS80211: @@ -1000,6 +1024,29 @@ ic->ic_rtsthreshold = ireq->i_val; error = ENETRESET; break; + case IEEE80211_IOC_PROTMODE: + if (ireq->i_val > IEEE80211_PROT_RTSCTS) { + error = EINVAL; + break; + } + ic->ic_protmode = ireq->i_val; + /* NB: if not operating in 11g this can wait */ + if (ic->ic_curmode == IEEE80211_MODE_11G) + error = ENETRESET; + break; + case IEEE80211_IOC_TXPOWER: + if ((ic->ic_caps & IEEE80211_C_TXPMGT) == 0) { + error = EINVAL; + break; + } + if (!(IEEE80211_TXPOWER_MIN < ireq->i_val && + ireq->i_val < IEEE80211_TXPOWER_MAX)) { + error = EINVAL; + break; + } + ic->ic_txpower = ireq->i_val; + error = ENETRESET; + break; default: error = EINVAL; break; @@ -1026,6 +1073,51 @@ else ifp->if_mtu = ifr->ifr_mtu; break; + case SIOCSIFADDR: + /* + * XXX Handle this directly so we can supress if_init calls. + * XXX This should be done in ether_ioctl but for the moment + * XXX there are too many other parts of the system that + * XXX set IFF_UP and so supress if_init being called when + * XXX it should be. + */ + ifa = (struct ifaddr *) data; + switch (ifa->ifa_addr->sa_family) { +#ifdef INET + case AF_INET: + if ((ifp->if_flags & IFF_UP) == 0) { + ifp->if_flags |= IFF_UP; + ifp->if_init(ifp->if_softc); + } + arp_ifinit(ifp, ifa); + break; +#endif +#ifdef IPX + /* + * XXX - This code is probably wrong, + * but has been copied many times. + */ + case AF_IPX: { + struct ipx_addr *ina = &(IA_SIPX(ifa)->sipx_addr); + struct arpcom *ac = (struct arpcom *)ifp; + + if (ipx_nullhost(*ina)) + ina->x_host = *(union ipx_host *) ac->ac_enaddr; + else + bcopy((caddr_t) ina->x_host.c_host, + (caddr_t) ac->ac_enaddr, + sizeof(ac->ac_enaddr)); + /* fall thru... */ + } +#endif + default: + if ((ifp->if_flags & IFF_UP) == 0) { + ifp->if_flags |= IFF_UP; + ifp->if_init(ifp->if_softc); + } + break; + } + break; default: error = ether_ioctl(ifp, cmd, data); break; ==== //depot/projects/netperf_socket/sys/net80211/ieee80211_ioctl.h#2 (text+ko) ==== @@ -29,7 +29,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/net80211/ieee80211_ioctl.h,v 1.4 2003/10/17 23:15:30 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_ioctl.h,v 1.5 2004/03/30 22:57:57 sam Exp $ */ #ifndef _NET80211_IEEE80211_IOCTL_H_ #define _NET80211_IEEE80211_IOCTL_H_ @@ -119,6 +119,11 @@ #define IEEE80211_POWERSAVE_ON IEEE80211_POWERSAVE_CAM #define IEEE80211_IOC_POWERSAVESLEEP 11 #define IEEE80211_IOC_RTSTHRESHOLD 12 +#define IEEE80211_IOC_PROTMODE 13 +#define IEEE80211_PROTMODE_OFF 0 +#define IEEE80211_PROTMODE_CTS 1 +#define IEEE80211_PROTMODE_RTSCTS 2 +#define IEEE80211_IOC_TXPOWER 14 #ifndef IEEE80211_CHAN_ANY #define IEEE80211_CHAN_ANY 0xffff /* token for ``any channel'' */ ==== //depot/projects/netperf_socket/sys/net80211/ieee80211_node.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.13 2003/11/09 23:36:46 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.14 2004/03/30 22:57:57 sam Exp $"); #include "opt_inet.h" @@ -102,6 +102,7 @@ ic->ic_bss = (*ic->ic_node_alloc)(ic); KASSERT(ic->ic_bss != NULL, ("unable to setup inital BSS node")); + ic->ic_txpower = IEEE80211_TXPOWER_MAX; ic->ic_bss->ni_chan = IEEE80211_CHAN_ANYC; } ==== //depot/projects/netperf_socket/sys/net80211/ieee80211_proto.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_proto.c,v 1.6 2003/10/31 18:32:09 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_proto.c,v 1.7 2004/03/30 22:57:57 sam Exp $"); /* * IEEE 802.11 protocol support. @@ -102,6 +102,7 @@ #endif ic->ic_fragthreshold = 2346; /* XXX not used yet */ ic->ic_fixed_rate = -1; /* no fixed rate */ + ic->ic_protmode = IEEE80211_PROT_CTSONLY; mtx_init(&ic->ic_mgtq.ifq_mtx, ifp->if_xname, "mgmt send q", MTX_DEF); ==== //depot/projects/netperf_socket/sys/net80211/ieee80211_var.h#2 (text+ko) ==== @@ -29,7 +29,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/net80211/ieee80211_var.h,v 1.11 2004/01/15 08:44:27 onoe Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_var.h,v 1.12 2004/03/30 22:57:57 sam Exp $ */ #ifndef _NET80211_IEEE80211_VAR_H_ #define _NET80211_IEEE80211_VAR_H_ @@ -49,6 +49,9 @@ #define IEEE80211_CHAN_ANYC \ ((struct ieee80211_channel *) IEEE80211_CHAN_ANY) +#define IEEE80211_TXPOWER_MAX 100 /* max power */ +#define IEEE80211_TXPOWER_MIN 0 /* kill radio (if possible) */ + enum ieee80211_phytype { IEEE80211_T_DS, /* direct sequence spread spectrum */ IEEE80211_T_FH, /* frequency hopping */ @@ -77,6 +80,15 @@ }; /* + * 802.11g protection mode. + */ +enum ieee80211_protmode { + IEEE80211_PROT_NONE = 0, /* no protection */ + IEEE80211_PROT_CTSONLY = 1, /* CTS to self */ + IEEE80211_PROT_RTSCTS = 2, /* RTS-CTS */ +}; + +/* * Channels are specified by frequency and attributes. */ struct ieee80211_channel { @@ -166,6 +178,7 @@ enum ieee80211_phytype ic_phytype; /* XXX wrong for multi-mode */ enum ieee80211_opmode ic_opmode; /* operation mode */ enum ieee80211_state ic_state; /* 802.11 state */ + enum ieee80211_protmode ic_protmode; /* 802.11g protection mode */ struct ifmedia ic_media; /* interface media config */ struct bpf_if *ic_rawbpf; /* packet filter structure */ struct ieee80211_node *ic_bss; /* information for this node */ @@ -226,6 +239,8 @@ #define IEEE80211_F_TXPOW_AUTO 0x00010000 /* TX Power: undefined */ #define IEEE80211_F_SHSLOT 0x00020000 /* CONF: short slot time */ #define IEEE80211_F_SHPREAMBLE 0x00040000 /* CONF: short preamble */ +#define IEEE80211_F_USEPROT 0x00100000 /* STATUS: protection enabled */ +#define IEEE80211_F_USEBARKER 0x00200000 /* STATUS: use barker preamble*/ /* ic_caps */ #define IEEE80211_C_WEP 0x00000001 /* CAPABILITY: WEP available */ ==== //depot/projects/netperf_socket/sys/sys/un.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)un.h 8.3 (Berkeley) 2/19/95 - * $FreeBSD: src/sys/sys/un.h,v 1.25 2002/08/21 16:20:01 mike Exp $ + * $FreeBSD: src/sys/sys/un.h,v 1.26 2004/03/31 01:41:30 rwatson Exp $ */ #ifndef _SYS_UN_H_ @@ -64,10 +64,10 @@ struct socket; struct sockopt; +int uipc_connect2(struct socket *so1, struct socket *so2); int uipc_ctloutput(struct socket *so, struct sockopt *sopt); int uipc_usrreq(struct socket *so, int req, struct mbuf *m, struct mbuf *nam, struct mbuf *control); -int unp_connect2(struct socket *so, struct socket *so2); void unp_dispose(struct mbuf *m); int unp_externalize(struct mbuf *mbuf, struct mbuf **controlp); void unp_init(void); From owner-p4-projects@FreeBSD.ORG Tue Mar 30 19:03:58 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F64916A4D0; Tue, 30 Mar 2004 19:03:58 -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 2402016A4CE for ; Tue, 30 Mar 2004 19:03:58 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 18DE443D45 for ; Tue, 30 Mar 2004 19:03:58 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2V33vGe093781 for ; Tue, 30 Mar 2004 19:03:57 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2V33vqu093757 for perforce@freebsd.org; Tue, 30 Mar 2004 19:03:57 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 30 Mar 2004 19:03:57 -0800 (PST) Message-Id: <200403310303.i2V33vqu093757@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 50029 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: Wed, 31 Mar 2004 03:03:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=50029 Change 50029 by peter@peter_hammer on 2004/03/30 19:03:31 delay boom! until later. provide a test module that has really low objectives in life. Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#14 edit .. //depot/projects/hammer/sys/modules/test/Makefile#1 add .. //depot/projects/hammer/sys/modules/test/testmod.c#1 add Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#14 (text+ko) ==== @@ -101,13 +101,15 @@ Elf_relent *reltab; int nrel; - const Elf_Sym* ddbsymtab; /* The symbol table we are using */ + Elf_Sym *ddbsymtab; /* The symbol table we are using */ long ddbsymcnt; /* Number of symbols */ caddr_t ddbstrtab; /* String table */ long ddbstrcnt; /* number of bytes in string table */ +#if 0 caddr_t symbase; /* malloc'ed symbol base */ caddr_t strbase; /* malloc'ed string base */ +#endif } *elf_file_t; static int link_elf_link_preload(linker_class_t cls, @@ -223,13 +225,14 @@ } #endif +printf("link_elf_obj: malloc header\n"); /* Read the elf header from the file. */ - hdr = malloc(sizeof(Elf_Ehdr *), M_LINKER, M_WAITOK); + hdr = malloc(sizeof(*hdr), M_LINKER, M_WAITOK); if (hdr == NULL) { error = ENOMEM; goto out; } - error = vn_rdwr(UIO_READ, nd.ni_vp, (void *)hdr, PAGE_SIZE, 0, + error = vn_rdwr(UIO_READ, nd.ni_vp, (void *)hdr, sizeof(*hdr), 0, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); if (error) @@ -239,28 +242,33 @@ goto out; } +printf("link_elf_obj: is_elf?\n"); if (!IS_ELF(*hdr)) { error = ENOEXEC; goto out; } +printf("link_elf_obj: right class?\n"); if (hdr->e_ident[EI_CLASS] != ELF_TARG_CLASS || hdr->e_ident[EI_DATA] != ELF_TARG_DATA) { link_elf_error("Unsupported file layout"); error = ENOEXEC; goto out; } +printf("link_elf_obj: right version?\n"); if (hdr->e_ident[EI_VERSION] != EV_CURRENT || hdr->e_version != EV_CURRENT) { link_elf_error("Unsupported file version"); error = ENOEXEC; goto out; } - if (hdr->e_type != ET_EXEC && hdr->e_type != ET_REL) { +printf("link_elf_obj: relocatable?\n"); + if (hdr->e_type != ET_REL) { link_elf_error("Unsupported file type"); error = ENOEXEC; goto out; } +printf("link_elf_obj: right machine?\n"); if (hdr->e_machine != ELF_TARG_MACH) { link_elf_error("Unsupported machine"); error = ENOEXEC; @@ -338,6 +346,7 @@ break; } } +printf("finished scan 1\n"); if (ef->nprogtab == 0 && ef->nnobittab == 0) { link_elf_error("file has no contents"); error = ENOEXEC; @@ -375,7 +384,7 @@ ef->ddbstrcnt = shdr[symstrindex].sh_size; ef->ddbstrtab = malloc(shdr[symstrindex].sh_size, M_LINKER, M_WAITOK); - if (ef->symbase == NULL || ef->strbase == NULL) { + if (ef->ddbsymtab == NULL || ef->ddbstrtab == NULL) { error = ENOMEM; goto out; } @@ -391,7 +400,7 @@ switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: - alignmask = (1u << shdr[i].sh_addralign) - 1; + alignmask = shdr[i].sh_addralign - 1; printf("addralign %ld mask %d\n", shdr[i].sh_addralign, alignmask); mapsize += alignmask; mapsize &= ~alignmask; @@ -468,14 +477,14 @@ printf("reading symbols\n"); /* Load the symbol table. */ error = vn_rdwr(UIO_READ, nd.ni_vp, - ef->symbase, ef->ddbsymcnt, shdr[symtabindex].sh_offset, + (void *)ef->ddbsymtab, ef->ddbsymcnt, shdr[symtabindex].sh_offset, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); if (error) goto out; printf("reading strings\n"); error = vn_rdwr(UIO_READ, nd.ni_vp, - ef->strbase, ef->ddbstrcnt, shdr[symstrindex].sh_offset, + ef->ddbstrtab, ef->ddbstrcnt, shdr[symstrindex].sh_offset, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); if (error) @@ -486,9 +495,9 @@ for (i = 0; i < ef->nprogtab; i++) { printf("reading progbits %d\n", i); error = vn_rdwr(UIO_READ, nd.ni_vp, - ef->progtab[pb].addr, - ef->progtab[pb].filesz, - ef->progtab[pb].fileoff, + ef->progtab[i].addr, + ef->progtab[i].filesz, + ef->progtab[i].fileoff, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); if (error) @@ -502,9 +511,9 @@ printf("reading rel\n"); for (i = 0; i < ef->nrel; i++) { error = vn_rdwr(UIO_READ, nd.ni_vp, - (void *)ef->reltab[pb].rel, - ef->reltab[pb].filesz, - ef->reltab[pb].fileoff, + (void *)ef->reltab[i].rel, + ef->reltab[i].filesz, + ef->reltab[i].fileoff, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); if (error) @@ -513,9 +522,9 @@ printf("reading rela\n"); for (i = 0; i < ef->nrela; i++) { error = vn_rdwr(UIO_READ, nd.ni_vp, - (void *)ef->relatab[pb].rela, - ef->relatab[pb].filesz, - ef->relatab[pb].fileoff, + (void *)ef->relatab[i].rela, + ef->relatab[i].filesz, + ef->relatab[i].fileoff, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); if (error) @@ -525,7 +534,7 @@ printf("now do post link stuff\n"); /* Inform the kld system about the situation */ - lf->address = ef->address; + lf->address = ef->address = mapbase; lf->size = mapsize; printf("do intra-module relocs\n"); @@ -577,10 +586,10 @@ if (ef->address) free(ef->address, M_LINKER); - if (ef->symbase) - free(ef->symbase, M_LINKER); - if (ef->strbase) - free(ef->strbase, M_LINKER); + if (ef->ddbsymtab) + free(ef->ddbsymtab, M_LINKER); + if (ef->ddbstrtab) + free(ef->ddbstrtab, M_LINKER); } static const char * From owner-p4-projects@FreeBSD.ORG Tue Mar 30 19:56:03 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 99ABE16A4D0; Tue, 30 Mar 2004 19:56:03 -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 740A916A4CE for ; Tue, 30 Mar 2004 19:56:03 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6C40343D2F for ; Tue, 30 Mar 2004 19:56:03 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2V3u3Ge031716 for ; Tue, 30 Mar 2004 19:56:03 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2V3u2CH031713 for perforce@freebsd.org; Tue, 30 Mar 2004 19:56:02 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 30 Mar 2004 19:56:02 -0800 (PST) Message-Id: <200403310356.i2V3u2CH031713@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 50032 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: Wed, 31 Mar 2004 03:56:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=50032 Change 50032 by rwatson@rwatson_tislabs on 2004/03/30 19:55:55 Style fix, avoid initialization in declaration. Affected files ... .. //depot/projects/netperf_socket/sys/kern/uipc_socket.c#8 integrate Differences ... ==== //depot/projects/netperf_socket/sys/kern/uipc_socket.c#8 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.167 2004/03/29 18:06:15 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.168 2004/03/31 03:48:35 rwatson Exp $"); #include "opt_inet.h" #include "opt_mac.h" @@ -290,6 +290,8 @@ sofree(so) struct socket *so; { + struct socket *head; + KASSERT(so->so_count == 0, ("socket %p so_count not 0", so)); SOCK_LOCK_ASSERT(so); @@ -300,7 +302,7 @@ SOCK_UNLOCK(so); SOCKBUF_LOCK(&so->so_rcv); if (so->so_head != NULL) { - struct socket *head = so->so_head; + head = so->so_head; if (so->so_state & SS_INCOMP) { TAILQ_REMOVE(&head->so_incomp, so, so_list); head->so_incqlen--; From owner-p4-projects@FreeBSD.ORG Wed Mar 31 13:52:41 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3D9C216A4D0; Wed, 31 Mar 2004 13:52:41 -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 13A0916A4CE for ; Wed, 31 Mar 2004 13:52:41 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0A1E243D2F for ; Wed, 31 Mar 2004 13:52:41 -0800 (PST) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2VLqeGe003073 for ; Wed, 31 Mar 2004 13:52:40 -0800 (PST) (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2VLqe6X003070 for perforce@freebsd.org; Wed, 31 Mar 2004 13:52:40 -0800 (PST) (envelope-from imp@freebsd.org) Date: Wed, 31 Mar 2004 13:52:40 -0800 (PST) Message-Id: <200403312152.i2VLqe6X003070@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Subject: PERFORCE change 50081 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: Wed, 31 Mar 2004 21:52:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=50081 Change 50081 by imp@imp_pacopaco on 2004/03/31 13:52:31 IFC Affected files ... .. //depot/projects/power/sys/amd64/amd64/pmap.c#7 integrate .. //depot/projects/power/sys/amd64/amd64/support.S#5 integrate .. //depot/projects/power/sys/amd64/include/md_var.h#5 integrate .. //depot/projects/power/sys/conf/NOTES#8 integrate .. //depot/projects/power/sys/conf/options#8 integrate .. //depot/projects/power/sys/dev/acpica/acpi.c#12 integrate .. //depot/projects/power/sys/dev/acpica/acpi_pci.c#7 integrate .. //depot/projects/power/sys/dev/acpica/acpi_resource.c#4 integrate .. //depot/projects/power/sys/dev/acpica/acpivar.h#8 integrate .. //depot/projects/power/sys/dev/sound/pci/ich.c#4 integrate .. //depot/projects/power/sys/fs/fifofs/fifo_vnops.c#3 integrate .. //depot/projects/power/sys/fs/portalfs/portal_vnops.c#3 integrate .. //depot/projects/power/sys/kern/subr_trap.c#3 integrate .. //depot/projects/power/sys/kern/uipc_socket.c#7 integrate .. //depot/projects/power/sys/kern/uipc_usrreq.c#6 integrate .. //depot/projects/power/sys/net/bpf.h#6 integrate .. //depot/projects/power/sys/net80211/ieee80211_ioctl.c#5 integrate .. //depot/projects/power/sys/net80211/ieee80211_ioctl.h#3 integrate .. //depot/projects/power/sys/net80211/ieee80211_node.c#4 integrate .. //depot/projects/power/sys/net80211/ieee80211_proto.c#4 integrate .. //depot/projects/power/sys/net80211/ieee80211_var.h#4 integrate .. //depot/projects/power/sys/pci/if_sk.c#8 integrate .. //depot/projects/power/sys/pci/if_skreg.h#5 integrate .. //depot/projects/power/sys/powerpc/powermac/ata_kauai.c#2 integrate .. //depot/projects/power/sys/sys/un.h#2 integrate Differences ... ==== //depot/projects/power/sys/amd64/amd64/pmap.c#7 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.453 2004/03/07 21:06:47 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.454 2004/03/31 02:03:48 alc Exp $"); /* * Manages physical address maps. @@ -2463,7 +2463,7 @@ vm_offset_t src = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(msrc)); vm_offset_t dst = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mdst)); - bcopy((void *)src, (void *)dst, PAGE_SIZE); + pagecopy((void *)src, (void *)dst); } /* ==== //depot/projects/power/sys/amd64/amd64/support.S#5 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.105 2003/11/27 17:20:44 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.106 2004/03/31 02:03:49 alc Exp $ */ #include "opt_ddb.h" @@ -167,6 +167,32 @@ movsb ret +/* + * pagecopy(%rdi=from, %rsi=to) + */ +ENTRY(pagecopy) + movq $-PAGE_SIZE,%rax + movq %rax,%rdx + subq %rax,%rdi + subq %rax,%rsi +1: + prefetchnta (%rdi,%rax) + addq $64,%rax + jne 1b +2: + movq (%rdi,%rdx),%rax + movnti %rax,(%rsi,%rdx) + movq 8(%rdi,%rdx),%rax + movnti %rax,8(%rsi,%rdx) + movq 16(%rdi,%rdx),%rax + movnti %rax,16(%rsi,%rdx) + movq 24(%rdi,%rdx),%rax + movnti %rax,24(%rsi,%rdx) + addq $32,%rdx + jne 2b + sfence + ret + /* fillw(pat, base, cnt) */ /* %rdi,%rsi, %rdx */ ENTRY(fillw) ==== //depot/projects/power/sys/amd64/include/md_var.h#5 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/md_var.h,v 1.71 2004/01/29 00:05:03 peter Exp $ + * $FreeBSD: src/sys/amd64/include/md_var.h,v 1.72 2004/03/31 02:03:49 alc Exp $ */ #ifndef _MACHINE_MD_VAR_H_ @@ -65,11 +65,12 @@ void doreti_iret_fault(void) __asm(__STRING(doreti_iret_fault)); void enable_sse(void); void fillw(int /*u_short*/ pat, void *base, size_t cnt); -void pagezero(void *addr); +void fpstate_drop(struct thread *td); int is_physical_memory(vm_offset_t addr); int isa_nmi(int cd); +void pagecopy(void *from, void *to); +void pagezero(void *addr); void setidt(int idx, alias_for_inthand_t *func, int typ, int dpl, int ist); int user_dbreg_trap(void); -void fpstate_drop(struct thread *td); #endif /* !_MACHINE_MD_VAR_H_ */ ==== //depot/projects/power/sys/conf/NOTES#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1209 2004/03/30 07:01:56 bde Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1210 2004/03/31 08:22:09 scottl Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1264,16 +1264,29 @@ # Bitmap of units to enable targetmode operations. options AHC_TMODE_ENABLE +# Compile in Aic7xxx Debugging code. +options AHC_DEBUG + +# Aic7xxx driver debugging options. See sys/dev/aic7xxx/aic7xxx.h +options AHC_DEBUG_OPTS + +# Print register bitfields in debug output. Adds ~128k to driver. +# See the ahc(4) manpage +options AHC_REG_PRETTY_PRINT + # Compile in aic79xx debugging code. options AHD_DEBUG -# Aic79xx driver debugging options. +# Aic79xx driver debugging options. Adds ~215k to driver. # See the ahd(4) manpage options AHD_DEBUG_OPTS=0xFFFFFFFF # Print human-readable register definitions when debugging options AHD_REG_PRETTY_PRINT +# Bitmap of units to enable targetmode operations. +options AHD_TMODE_ENABLE + # The adw driver will attempt to use memory mapped I/O for all PCI # controllers that have it configured only if this option is set. options ADW_ALLOW_MEMIO @@ -2385,8 +2398,15 @@ options KSTACK_MAX_PAGES=32 # Maximum pages to give the kernel stack +# Adaptec Array Controller driver options +options AAC_DEBUG # Debugging levels: + # 0 - quiet, only emit warnings + # 1 - noisy, emit major function + # points and things done + # 2 - extremely noisy, emit trace + # items in loops, etc. + # Yet more undocumented options for linting. -options AAC_DEBUG # Broken: ##options ASR_MEASURE_PERFORMANCE # BKTR_ALLOC_PAGES has no effect except to cause warnings, and ==== //depot/projects/power/sys/conf/options#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.436 2004/03/30 18:53:18 vkashyap Exp $ +# $FreeBSD: src/sys/conf/options,v 1.437 2004/03/31 08:22:09 scottl Exp $ # # On the handling of kernel options # @@ -30,46 +30,18 @@ # If filename is missing, the default is # opt_.h -# Adaptec Array Controller driver options -AAC_DEBUG opt_aac.h # Debugging levels: - # 0 - quiet, only emit warnings - # 1 - noisy, emit major function - # points and things done - # 2 - extremely noisy, emit trace - # items in loops, etc. - -# Adaptec aic7xxx SCSI controller options -AHC_ALLOW_MEMIO opt_aic7xxx.h # Allow PCI devices to use memory - # mapped I/O - -AHC_TMODE_ENABLE opt_aic7xxx.h # Bitmap of units to enable - # targetmode operations. - -AHC_DUMP_EEPROM opt_aic7xxx.h # Dump the contents of our - # configuration prom. - -AHC_DEBUG opt_aic7xxx.h # Compile in Aic7xxx Debugging code. - -AHC_DEBUG_OPTS opt_aic7xxx.h # Aic7xxx driver debugging options. - # See sys/dev/aic7xxx/aic7xxx.h - -AHC_REG_PRETTY_PRINT opt_aic7xxx.h # Print register bitfields in debug - # output. Adds ~128k to driver. - -# Adaptec aic79xx SCSI controller options -AHD_DEBUG opt_aic79xx.h # Compile in Aic79xx Debugging code. - -AHD_DEBUG_OPTS opt_aic79xx.h # Aic79xx driver debugging options. - # See sys/dev/aic7xxx/aic79xx.h - -AHD_TMODE_ENABLE opt_aic79xx.h # Bitmap of units to enable - # targetmode operations. - -AHD_REG_PRETTY_PRINT opt_aic79xx.h # Print register bitfields in debug - # output. Adds ~215k to driver. - -ADW_ALLOW_MEMIO opt_adw.h # Allow PCI devices to use memory - # mapped I/O +AAC_DEBUG opt_aac.h +AHC_ALLOW_MEMIO opt_aic7xxx.h +AHC_TMODE_ENABLE opt_aic7xxx.h +AHC_DUMP_EEPROM opt_aic7xxx.h +AHC_DEBUG opt_aic7xxx.h +AHC_DEBUG_OPTS opt_aic7xxx.h +AHC_REG_PRETTY_PRINT opt_aic7xxx.h +AHD_DEBUG opt_aic79xx.h +AHD_DEBUG_OPTS opt_aic79xx.h +AHD_TMODE_ENABLE opt_aic79xx.h +AHD_REG_PRETTY_PRINT opt_aic79xx.h +ADW_ALLOW_MEMIO opt_adw.h # 3ware 9000 series RAID controller driver options TWA_DEBUG opt_twa.h # 0-10; 10 prints the most messages. ==== //depot/projects/power/sys/dev/acpica/acpi.c#12 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.130 2004/03/30 07:35:18 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.132 2004/03/31 17:23:46 njl Exp $ */ #include "opt_acpi.h" @@ -145,46 +145,7 @@ static int acpi_child_pnpinfo_str_method(device_t acdev, device_t child, char *buf, size_t buflen); -int -acpi_child_location_str_method(device_t cbdev, device_t child, char *buf, - size_t buflen) -{ - struct acpi_device *dinfo= device_get_ivars(child); - - dinfo = device_get_ivars(child); - if(dinfo->ad_handle) - snprintf(buf, buflen, "path=%s", acpi_name(dinfo->ad_handle)); - else - snprintf(buf, buflen, "magic=unknown"); - return (0); -} - -int -acpi_child_pnpinfo_str_method(device_t cbdev, device_t child, char *buf, - size_t buflen) -{ - struct acpi_device *dinfo = device_get_ivars(child); - ACPI_DEVICE_INFO adinfo; - ACPI_BUFFER adbuf = {sizeof(adinfo), &adinfo}; - char * end; - int error; - - dinfo = device_get_ivars(child); - error = AcpiGetObjectInfo(dinfo->ad_handle, &adbuf); - if(error) - snprintf(buf, buflen, "Unknown"); - else - snprintf(buf, buflen, "_HID=%s _UID=%u", - (adinfo.Valid & ACPI_VALID_HID)? - adinfo.HardwareId.Value : "UNKNOWN", - (unsigned int)((adinfo.Valid & ACPI_VALID_UID)? - strtoul(adinfo.UniqueId.Value, &end, 10):0 )); - - return (0); -} - - static device_method_t acpi_methods[] = { /* Device interface */ DEVMETHOD(device_identify, acpi_identify), @@ -739,6 +700,55 @@ } /* + * Location hint for devctl(8) + */ + +int +acpi_child_location_str_method(device_t cbdev, device_t child, char *buf, + size_t buflen) +{ + struct acpi_device *dinfo = device_get_ivars(child); + + if (dinfo->ad_handle) + snprintf(buf, buflen, "path=%s", acpi_name(dinfo->ad_handle)); + else + snprintf(buf, buflen, "magic=unknown"); + return (0); +} + +/* + * PnP information for devctl(8) + */ + +int +acpi_child_pnpinfo_str_method(device_t cbdev, device_t child, char *buf, + size_t buflen) +{ + struct acpi_device *dinfo = device_get_ivars(child); + ACPI_DEVICE_INFO *adinfo; + ACPI_BUFFER adbuf = {ACPI_ALLOCATE_BUFFER, NULL}; + char *end; + int error; + + error = AcpiGetObjectInfo(dinfo->ad_handle, &adbuf); + adinfo = (ACPI_DEVICE_INFO *) adbuf.Pointer; + + if (error) + snprintf(buf, buflen, "Unknown"); + else + snprintf(buf, buflen, "_HID=%s _UID=%lu", + (adinfo->Valid & ACPI_VALID_HID)? + adinfo->HardwareId.Value : "UNKNOWN", + ((adinfo->Valid & ACPI_VALID_UID)? + strtoul(adinfo->UniqueId.Value, &end, 10):0 )); + + if (adinfo) + AcpiOsFree(adinfo); + + return (0); +} + +/* * Handle per-device ivars */ static int @@ -1201,7 +1211,7 @@ * device. Ignore the return value here; it's OK for the * device not to have any resources. */ - acpi_parse_resources(child, handle, &acpi_res_parse_set); + acpi_parse_resources(child, handle, &acpi_res_parse_set, NULL); /* If we're debugging, probe/attach now rather than later */ ACPI_DEBUG_EXEC(device_probe_and_attach(child)); ==== //depot/projects/power/sys/dev/acpica/acpi_pci.c#7 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci.c,v 1.7 2004/03/03 18:34:42 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci.c,v 1.8 2004/03/31 17:27:19 takawata Exp $"); #include "opt_bus.h" @@ -65,6 +65,11 @@ static int acpi_pci_attach(device_t dev); static int acpi_pci_read_ivar(device_t dev, device_t child, int which, uintptr_t *result); +static int acpi_pci_child_location_str_method(device_t cbdev, + device_t child, char *buf, size_t buflen); + + +#if 0 static int acpi_pci_set_powerstate_method(device_t dev, device_t child, int state); static ACPI_STATUS acpi_pci_save_handle(ACPI_HANDLE handle, UINT32 level, @@ -96,7 +101,7 @@ DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), DEVMETHOD(bus_child_pnpinfo_str, pci_child_pnpinfo_str_method), - DEVMETHOD(bus_child_location_str, pci_child_location_str_method), + DEVMETHOD(bus_child_location_str, acpi_pci_child_location_str_method), /* PCI interface */ DEVMETHOD(pci_read_config, pci_read_config_method), @@ -136,6 +141,22 @@ return(pci_read_ivar(dev, child, which, result)); } +static int +acpi_pci_child_location_str_method(device_t cbdev, device_t child, char *buf, + size_t buflen) +{ + struct acpi_pci_devinfo *dinfo = device_get_ivars(child); + int status; + pci_child_location_str_method(cbdev, child, buf, buflen); + + if(dinfo->ap_handle){ + strlcat(buf, " path=", buflen); + strlcat(buf, acpi_name(dinfo->ap_handle), buflen); + } + return (0); +} + +#if 0 /* * PCI power manangement */ ==== //depot/projects/power/sys/dev/acpica/acpi_resource.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_resource.c,v 1.21 2004/03/17 17:50:24 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_resource.c,v 1.22 2004/03/31 17:23:46 njl Exp $"); #include "opt_acpi.h" #include @@ -56,7 +56,7 @@ */ ACPI_STATUS acpi_parse_resources(device_t dev, ACPI_HANDLE handle, - struct acpi_parse_resource_set *set) + struct acpi_parse_resource_set *set, void *arg) { ACPI_BUFFER buf; ACPI_RESOURCE *res; @@ -86,7 +86,7 @@ } ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "%s - got %ld bytes of resources\n", acpi_name(handle), (long)buf.Length)); - set->set_init(dev, &context); + set->set_init(dev, arg, &context); /* Iterate through the resources */ curr = buf.Pointer; @@ -373,7 +373,7 @@ * Resource-set vectors used to attach _CRS-derived resources * to an ACPI device. */ -static void acpi_res_set_init(device_t dev, void **context); +static void acpi_res_set_init(device_t dev, void *arg, void **context); static void acpi_res_set_done(device_t dev, void *context); static void acpi_res_set_ioport(device_t dev, void *context, u_int32_t base, u_int32_t length); @@ -411,15 +411,17 @@ int ar_nmem; int ar_nirq; int ar_ndrq; + void *ar_parent; }; static void -acpi_res_set_init(device_t dev, void **context) +acpi_res_set_init(device_t dev, void *arg, void **context) { struct acpi_res_context *cp; if ((cp = AcpiOsAllocate(sizeof(*cp))) != NULL) { bzero(cp, sizeof(*cp)); + cp->ar_parent = arg; *context = cp; } } ==== //depot/projects/power/sys/dev/acpica/acpivar.h#8 (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/dev/acpica/acpivar.h,v 1.57 2004/03/09 05:41:28 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.58 2004/03/31 17:23:46 njl Exp $ */ #include "bus_if.h" @@ -199,7 +199,7 @@ uint8_t notify); struct acpi_parse_resource_set { - void (*set_init)(device_t dev, void **context); + void (*set_init)(device_t dev, void *arg, void **context); void (*set_done)(device_t dev, void *context); void (*set_ioport)(device_t dev, void *context, u_int32_t base, u_int32_t length); @@ -222,7 +222,7 @@ extern struct acpi_parse_resource_set acpi_res_parse_set; extern ACPI_STATUS acpi_parse_resources(device_t dev, ACPI_HANDLE handle, - struct acpi_parse_resource_set *set); + struct acpi_parse_resource_set *set, void *arg); /* ACPI event handling */ extern UINT32 acpi_event_power_button_sleep(void *context); ==== //depot/projects/power/sys/dev/sound/pci/ich.c#4 (text+ko) ==== @@ -32,7 +32,7 @@ #include #include -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/ich.c,v 1.39 2004/03/17 17:50:44 njl Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/ich.c,v 1.40 2004/03/31 00:11:24 matk Exp $"); /* -------------------------------------------------------------------- */ @@ -693,12 +693,23 @@ } /* + * By default, ich4 has NAMBAR and NABMBAR i/o spaces as + * read-only. Need to enable "legacy support", by poking into + * pci config space. The driver should use MMBAR and MBBAR, + * but doing so will mess things up here. ich4 has enough new + * features it warrants it's own driver. + */ + if (pci_get_devid(dev) == ICH4ID) { + pci_write_config(dev, PCIR_ICH_LEGACY, ICH_LEGACY_ENABLE, 1); + } + + /* * Enable bus master. On ich4/5 this may prevent the detection of * the primary codec becoming ready in ich_init(). */ pci_enable_busmaster(dev); - if ((pci_get_devid(dev) == ICH4ID) || (pci_get_devid(dev) == ICH5ID)) { + if (pci_get_devid(dev) == ICH5ID) { sc->nambarid = PCIR_MMBAR; sc->nabmbarid = PCIR_MBBAR; sc->regtype = SYS_RES_MEMORY; ==== //depot/projects/power/sys/fs/fifofs/fifo_vnops.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)fifo_vnops.c 8.10 (Berkeley) 5/27/95 - * $FreeBSD: src/sys/fs/fifofs/fifo_vnops.c,v 1.91 2003/11/16 01:11:11 truckman Exp $ + * $FreeBSD: src/sys/fs/fifofs/fifo_vnops.c,v 1.92 2004/03/31 01:41:29 rwatson Exp $ */ #include @@ -201,7 +201,7 @@ if (error) goto fail2; fip->fi_writesock = wso; - error = unp_connect2(wso, rso); + error = uipc_connect2(wso, rso); if (error) { (void)soclose(wso); fail2: ==== //depot/projects/power/sys/fs/portalfs/portal_vnops.c#3 (text+ko) ==== @@ -35,7 +35,7 @@ * * @(#)portal_vnops.c 8.14 (Berkeley) 5/21/95 * - * $FreeBSD: src/sys/fs/portalfs/portal_vnops.c,v 1.60 2004/03/01 03:14:21 rwatson Exp $ + * $FreeBSD: src/sys/fs/portalfs/portal_vnops.c,v 1.61 2004/03/31 01:41:29 rwatson Exp $ */ /* @@ -203,7 +203,7 @@ M_NOWAIT); so2 = so3; - return (unp_connect2(so, so2)); + return (uipc_connect2(so, so2)); } static int ==== //depot/projects/power/sys/kern/subr_trap.c#3 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_trap.c,v 1.265 2004/03/13 22:31:39 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_trap.c,v 1.266 2004/03/31 08:20:44 julian Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -140,7 +140,6 @@ { struct thread *td; struct proc *p; - struct kse *ke; struct ksegrp *kg; struct rlimit rlim; u_int prticks, sticks; @@ -171,7 +170,6 @@ * ast() will be called again. */ mtx_lock_spin(&sched_lock); - ke = td->td_kse; sticks = td->td_sticks; flags = td->td_flags; sflag = p->p_sflag; ==== //depot/projects/power/sys/kern/uipc_socket.c#7 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.167 2004/03/29 18:06:15 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.168 2004/03/31 03:48:35 rwatson Exp $"); #include "opt_inet.h" #include "opt_mac.h" @@ -283,6 +283,7 @@ sofree(so) struct socket *so; { + struct socket *head; int s; KASSERT(so->so_count == 0, ("socket %p so_count not 0", so)); @@ -290,7 +291,7 @@ if (so->so_pcb || (so->so_state & SS_NOFDREF) == 0) return; if (so->so_head != NULL) { - struct socket *head = so->so_head; + head = so->so_head; if (so->so_state & SS_INCOMP) { TAILQ_REMOVE(&head->so_incomp, so, so_list); head->so_incqlen--; ==== //depot/projects/power/sys/kern/uipc_usrreq.c#6 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.118 2004/03/30 02:16:25 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.119 2004/03/31 01:41:29 rwatson Exp $"); #include "opt_mac.h" @@ -89,6 +89,7 @@ static void unp_detach(struct unpcb *); static int unp_bind(struct unpcb *,struct sockaddr *, struct thread *); static int unp_connect(struct socket *,struct sockaddr *, struct thread *); +static int unp_connect2(struct socket *so, struct socket *so2); static void unp_disconnect(struct unpcb *); static void unp_shutdown(struct unpcb *); static void unp_drop(struct unpcb *, int); @@ -167,7 +168,7 @@ return (unp_connect(so, nam, curthread)); } -static int +int uipc_connect2(struct socket *so1, struct socket *so2) { struct unpcb *unp = sotounpcb(so1); @@ -765,7 +766,7 @@ return (error); } -int +static int unp_connect2(so, so2) register struct socket *so; register struct socket *so2; ==== //depot/projects/power/sys/net/bpf.h#6 (text+ko) ==== @@ -38,7 +38,7 @@ * @(#)bpf.h 8.1 (Berkeley) 6/10/93 * @(#)bpf.h 1.34 (LBL) 6/16/96 * - * $FreeBSD: src/sys/net/bpf.h,v 1.32 2004/02/26 03:53:53 mlaier Exp $ + * $FreeBSD: src/sys/net/bpf.h,v 1.34 2004/03/31 14:22:13 bms Exp $ */ #ifndef _NET_BPF_H_ @@ -182,6 +182,12 @@ #define DLT_PPP_ETHER 51 /* PPP over Ethernet */ /* + * Reserved for the Symantec Enterprise Firewall. + */ +#define DLT_SYMANTEC_FIREWALL 99 + + +/* * This value was defined by libpcap 0.5; platforms that have defined * it with a different value should define it here with that value - * a link type of 104 in a save file will be mapped to DLT_C_HDLC, @@ -207,6 +213,14 @@ */ /* + * Frame Relay; BSD/OS has a DLT_FR with a value of 11, but that collides + * with other values. + * DLT_FR and DLT_FRELAY packets start with the Q.922 Frame Relay header + * (DLCI, etc.). + */ +#define DLT_FRELAY 107 + +/* * OpenBSD DLT_LOOP, for loopback devices; it's like DLT_NULL, except * that the AF_ type in the link-layer header is in network byte order. * @@ -224,6 +238,13 @@ */ /* + * Encapsulated packets for IPsec; DLT_ENC is 13 in OpenBSD, but that's + * DLT_SLIP_BSDOS in NetBSD, so we don't use 13 for it in OSes other + * than OpenBSD. + */ +#define DLT_ENC 109 + +/* * This is for Linux cooked sockets. */ #define DLT_LINUX_SLL 113 @@ -250,7 +271,6 @@ * in capture-file headers. */ #define DLT_PFLOG 117 -#define DLT_PFSYNC 121 /* * Registered for Cisco-internal use. @@ -271,6 +291,95 @@ #define DLT_AIRONET_HEADER 120 /* + * Reserved for use by OpenBSD's pfsync device. + */ +#define DLT_PFSYNC 121 + +/* + * Reserved for Siemens HiPath HDLC. XXX + */ +#define DLT_HHDLC 121 + +/* + * Reserved for RFC 2625 IP-over-Fibre Channel. + */ +#define DLT_IP_OVER_FC 122 + +/* + * Reserved for Full Frontal ATM on Solaris. + */ +#define DLT_SUNATM 123 + +/* + * Reserved as per request from Kent Dahlgren + * for private use. + */ +#define DLT_RIO 124 /* RapidIO */ +#define DLT_PCI_EXP 125 /* PCI Express */ +#define DLT_AURORA 126 /* Xilinx Aurora link layer */ + +/* + * BSD header for 802.11 plus a number of bits of link-layer information + * including radio information. + */ +#ifndef DLT_IEEE802_11_RADIO +#define DLT_IEEE802_11_RADIO 127 +#endif + +/* + * Reserved for TZSP encapsulation. + */ +#define DLT_TZSP 128 /* Tazmen Sniffer Protocol */ + +/* + * Reserved for Linux ARCNET. + */ +#define DLT_ARCNET_LINUX 129 + +/* + * Juniper-private data link types. + */ +#define DLT_JUNIPER_MLPPP 130 +#define DLT_JUNIPER_MLFR 131 +#define DLT_JUNIPER_ES 132 +#define DLT_JUNIPER_GGSN 133 +#define DLT_JUNIPER_MFR 134 +#define DLT_JUNIPER_ATM2 135 +#define DLT_JUNIPER_SERVICES 136 +#define DLT_JUNIPER_ATM1 137 + +/* + * Reserved for Apple IP-over-IEEE-1394. + */ +#define DLT_APPLE_IP_OVER_IEEE1394 138 + +/* + * Reserved for DOCSIS. + */ +#define DLT_DOCSIS 143 + +/* + * Reserved for Linux IrDA. + */ +#define DLT_LINUX_IRDA 144 + +/* + * Reserved for IBM SP switch and IBM Next Federation switch. + */ +#define DLT_IBM_SP 145 +#define DLT_IBM_SN 146 + +/* + * Reserved for AbsoluteValue Systems 802.11 capture. + */ +#define DLT_IEEE802_11_RADIO_AVS 163 + +/* + * Reserved for Juniper-private DLT. + */ +#define DLT_JUNIPER_MONITOR 164 + +/* * The instruction encodings. */ /* instruction classes */ ==== //depot/projects/power/sys/net80211/ieee80211_ioctl.c#5 (text+ko) ==== @@ -31,12 +31,15 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.11 2004/01/19 05:25:43 onoe Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.13 2004/03/30 22:57:57 sam Exp $"); /* * IEEE 802.11 ioctl support (FreeBSD-specific) */ +#include "opt_inet.h" +#include "opt_ipx.h" + #include #include #include @@ -49,6 +52,16 @@ #include #include +#ifdef INET +#include +#include +#endif + +#ifdef IPX +#include +#include +#endif + #include #include @@ -756,6 +769,7 @@ u_int8_t tmpkey[IEEE80211_KEYBUF_SIZE]; char tmpssid[IEEE80211_NWID_LEN]; struct ieee80211_channel *chan; + struct ifaddr *ifa; /* XXX */ switch (cmd) { case SIOCSIFMEDIA: @@ -859,8 +873,18 @@ case IEEE80211_IOC_RTSTHRESHOLD: ireq->i_val = ic->ic_rtsthreshold; break; + case IEEE80211_IOC_PROTMODE: + ireq->i_val = ic->ic_protmode; + break; + case IEEE80211_IOC_TXPOWER: + if ((ic->ic_caps & IEEE80211_C_TXPMGT) == 0) + error = EINVAL; + else + ireq->i_val = ic->ic_txpower; + break; default: error = EINVAL; + break; } break; case SIOCS80211: @@ -1000,6 +1024,29 @@ ic->ic_rtsthreshold = ireq->i_val; error = ENETRESET; break; + case IEEE80211_IOC_PROTMODE: + if (ireq->i_val > IEEE80211_PROT_RTSCTS) { + error = EINVAL; + break; + } + ic->ic_protmode = ireq->i_val; + /* NB: if not operating in 11g this can wait */ + if (ic->ic_curmode == IEEE80211_MODE_11G) + error = ENETRESET; + break; + case IEEE80211_IOC_TXPOWER: + if ((ic->ic_caps & IEEE80211_C_TXPMGT) == 0) { + error = EINVAL; + break; + } + if (!(IEEE80211_TXPOWER_MIN < ireq->i_val && + ireq->i_val < IEEE80211_TXPOWER_MAX)) { + error = EINVAL; + break; + } + ic->ic_txpower = ireq->i_val; + error = ENETRESET; + break; default: error = EINVAL; break; @@ -1026,6 +1073,51 @@ else ifp->if_mtu = ifr->ifr_mtu; break; + case SIOCSIFADDR: + /* + * XXX Handle this directly so we can supress if_init calls. + * XXX This should be done in ether_ioctl but for the moment + * XXX there are too many other parts of the system that + * XXX set IFF_UP and so supress if_init being called when + * XXX it should be. + */ + ifa = (struct ifaddr *) data; + switch (ifa->ifa_addr->sa_family) { +#ifdef INET + case AF_INET: + if ((ifp->if_flags & IFF_UP) == 0) { + ifp->if_flags |= IFF_UP; + ifp->if_init(ifp->if_softc); + } + arp_ifinit(ifp, ifa); + break; +#endif +#ifdef IPX + /* + * XXX - This code is probably wrong, + * but has been copied many times. + */ + case AF_IPX: { + struct ipx_addr *ina = &(IA_SIPX(ifa)->sipx_addr); + struct arpcom *ac = (struct arpcom *)ifp; + + if (ipx_nullhost(*ina)) + ina->x_host = *(union ipx_host *) ac->ac_enaddr; + else + bcopy((caddr_t) ina->x_host.c_host, + (caddr_t) ac->ac_enaddr, + sizeof(ac->ac_enaddr)); + /* fall thru... */ + } +#endif + default: + if ((ifp->if_flags & IFF_UP) == 0) { + ifp->if_flags |= IFF_UP; + ifp->if_init(ifp->if_softc); + } + break; + } + break; default: error = ether_ioctl(ifp, cmd, data); break; ==== //depot/projects/power/sys/net80211/ieee80211_ioctl.h#3 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 31 14:22:39 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C6CE316A4D0; Wed, 31 Mar 2004 14:22:38 -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 780EB16A4CF for ; Wed, 31 Mar 2004 14:22:38 -0800 (PST) Received: from mail3.speakeasy.net (mail3.speakeasy.net [216.254.0.203]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4F18F43D49 for ; Wed, 31 Mar 2004 14:22:38 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 25161 invoked from network); 31 Mar 2004 22:22:37 -0000 Received: from dsl027-160-063.atl1.dsl.speakeasy.net (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) encrypted SMTP for ; 31 Mar 2004 22:22:37 -0000 Received: from 10.50.40.205 (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.10/8.12.10) with ESMTP id i2VMMPDF049237; Wed, 31 Mar 2004 17:22:26 -0500 (EST) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: Marcel Moolenaar Date: Wed, 31 Mar 2004 17:24:17 -0500 User-Agent: KMail/1.6 References: <200403280714.i2S7Ei6u003786@repoman.freebsd.org> In-Reply-To: <200403280714.i2S7Ei6u003786@repoman.freebsd.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200403311724.17608.jhb@FreeBSD.org> X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on server.baldwin.cx cc: Perforce Change Reviews Subject: Re: PERFORCE change 49829 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: Wed, 31 Mar 2004 22:22:39 -0000 On Sunday 28 March 2004 02:14 am, Marcel Moolenaar wrote: > http://perforce.freebsd.org/chv.cgi?CH=49829 > > Change 49829 by marcel@marcel_nfs on 2004/03/27 23:14:33 > > Handle the T command. It's sent by gdb to check if a thread > is alive. The command is sent prior to switching to that > thread. This allows us to switch threads in gdb. > > Affected files ... > > .. //depot/projects/gdb/sys/gdb/gdb_main.c#10 edit > > Differences ... > > ==== //depot/projects/gdb/sys/gdb/gdb_main.c#10 (text+ko) ==== > > @@ -193,6 +193,18 @@ > kdb_cpu_set_singlestep(); > return (1); > } > + case 'T': { > + intmax_t tid; > + pid_t curtid; > + gdb_rx_varhex(&tid); > + curtid = kdb_thread->td_tid; > + if (kdb_set_thread(tid)) > + gdb_tx_ok(); > + else > + gdb_tx_err(ENOENT); > + kdb_set_thread(tid); > + break; > + } Don't you want to switch back to curtid here? -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org From owner-p4-projects@FreeBSD.ORG Wed Mar 31 14:45:46 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0147B16A4D0; Wed, 31 Mar 2004 14:45:45 -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 B31D916A4CE for ; Wed, 31 Mar 2004 14:45:45 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A8C5843D3F for ; Wed, 31 Mar 2004 14:45:45 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2VMjjGe014481 for ; Wed, 31 Mar 2004 14:45:45 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2VMjjhg014478 for perforce@freebsd.org; Wed, 31 Mar 2004 14:45:45 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 31 Mar 2004 14:45:45 -0800 (PST) Message-Id: <200403312245.i2VMjjhg014478@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 50082 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: Wed, 31 Mar 2004 22:45:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=50082 Change 50082 by rwatson@rwatson_paprika on 2004/03/31 14:44:53 NOTES sorting. ACPI rearrangement, arguments, etc. Pre-loaded md fix. Tcpdump vendor import. pf-related tcpdump pieces. if_ste polling support. Affected files ... .. //depot/projects/netperf_socket/sys/conf/NOTES#11 integrate .. //depot/projects/netperf_socket/sys/conf/options#7 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#10 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi_pci.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi_resource.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpivar.h#5 integrate .. //depot/projects/netperf_socket/sys/dev/md/md.c#10 integrate .. //depot/projects/netperf_socket/sys/kern/subr_trap.c#5 integrate .. //depot/projects/netperf_socket/sys/net/bpf.h#3 integrate .. //depot/projects/netperf_socket/sys/pci/if_sk.c#6 integrate .. //depot/projects/netperf_socket/sys/pci/if_skreg.h#2 integrate .. //depot/projects/netperf_socket/sys/pci/if_ste.c#7 integrate .. //depot/projects/netperf_socket/sys/pci/if_stereg.h#2 integrate .. //depot/projects/netperf_socket/sys/powerpc/powermac/ata_kauai.c#3 integrate Differences ... ==== //depot/projects/netperf_socket/sys/conf/NOTES#11 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1209 2004/03/30 07:01:56 bde Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1211 2004/03/31 18:46:13 vkashyap Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1264,16 +1264,29 @@ # Bitmap of units to enable targetmode operations. options AHC_TMODE_ENABLE +# Compile in Aic7xxx Debugging code. +options AHC_DEBUG + +# Aic7xxx driver debugging options. See sys/dev/aic7xxx/aic7xxx.h +options AHC_DEBUG_OPTS + +# Print register bitfields in debug output. Adds ~128k to driver. +# See the ahc(4) manpage +options AHC_REG_PRETTY_PRINT + # Compile in aic79xx debugging code. options AHD_DEBUG -# Aic79xx driver debugging options. +# Aic79xx driver debugging options. Adds ~215k to driver. # See the ahd(4) manpage options AHD_DEBUG_OPTS=0xFFFFFFFF # Print human-readable register definitions when debugging options AHD_REG_PRETTY_PRINT +# Bitmap of units to enable targetmode operations. +options AHD_TMODE_ENABLE + # The adw driver will attempt to use memory mapped I/O for all PCI # controllers that have it configured only if this option is set. options ADW_ALLOW_MEMIO @@ -1375,6 +1388,14 @@ device twe # 3ware ATA RAID # +# 3ware 9000 series PATA/SATA RAID controller driver and options. +# The driver is implemented as a SIM, and so, needs the CAM infrastructure. +# +options TWA_DEBUG # 0-10; 10 prints the most messages. +options TWA_FLASH_FIRMWARE # firmware image bundled when defined. +device twa # 3ware 9000 series PATA/SATA RAID + +# # The 'ATA' driver supports all ATA and ATAPI devices, including PC Card # devices. You only need one "device ata" for it to find all # PCI and PC Card ATA/ATAPI devices on modern machines. @@ -2385,8 +2406,15 @@ options KSTACK_MAX_PAGES=32 # Maximum pages to give the kernel stack +# Adaptec Array Controller driver options +options AAC_DEBUG # Debugging levels: + # 0 - quiet, only emit warnings + # 1 - noisy, emit major function + # points and things done + # 2 - extremely noisy, emit trace + # items in loops, etc. + # Yet more undocumented options for linting. -options AAC_DEBUG # Broken: ##options ASR_MEASURE_PERFORMANCE # BKTR_ALLOC_PAGES has no effect except to cause warnings, and ==== //depot/projects/netperf_socket/sys/conf/options#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.436 2004/03/30 18:53:18 vkashyap Exp $ +# $FreeBSD: src/sys/conf/options,v 1.438 2004/03/31 18:46:13 vkashyap Exp $ # # On the handling of kernel options # @@ -30,50 +30,21 @@ # If filename is missing, the default is # opt_.h -# Adaptec Array Controller driver options -AAC_DEBUG opt_aac.h # Debugging levels: - # 0 - quiet, only emit warnings - # 1 - noisy, emit major function - # points and things done - # 2 - extremely noisy, emit trace - # items in loops, etc. +AAC_DEBUG opt_aac.h +AHC_ALLOW_MEMIO opt_aic7xxx.h +AHC_TMODE_ENABLE opt_aic7xxx.h +AHC_DUMP_EEPROM opt_aic7xxx.h +AHC_DEBUG opt_aic7xxx.h +AHC_DEBUG_OPTS opt_aic7xxx.h +AHC_REG_PRETTY_PRINT opt_aic7xxx.h +AHD_DEBUG opt_aic79xx.h +AHD_DEBUG_OPTS opt_aic79xx.h +AHD_TMODE_ENABLE opt_aic79xx.h +AHD_REG_PRETTY_PRINT opt_aic79xx.h +ADW_ALLOW_MEMIO opt_adw.h -# Adaptec aic7xxx SCSI controller options -AHC_ALLOW_MEMIO opt_aic7xxx.h # Allow PCI devices to use memory - # mapped I/O - -AHC_TMODE_ENABLE opt_aic7xxx.h # Bitmap of units to enable - # targetmode operations. - -AHC_DUMP_EEPROM opt_aic7xxx.h # Dump the contents of our - # configuration prom. - -AHC_DEBUG opt_aic7xxx.h # Compile in Aic7xxx Debugging code. - -AHC_DEBUG_OPTS opt_aic7xxx.h # Aic7xxx driver debugging options. - # See sys/dev/aic7xxx/aic7xxx.h - -AHC_REG_PRETTY_PRINT opt_aic7xxx.h # Print register bitfields in debug - # output. Adds ~128k to driver. - -# Adaptec aic79xx SCSI controller options -AHD_DEBUG opt_aic79xx.h # Compile in Aic79xx Debugging code. - -AHD_DEBUG_OPTS opt_aic79xx.h # Aic79xx driver debugging options. - # See sys/dev/aic7xxx/aic79xx.h - -AHD_TMODE_ENABLE opt_aic79xx.h # Bitmap of units to enable - # targetmode operations. - -AHD_REG_PRETTY_PRINT opt_aic79xx.h # Print register bitfields in debug - # output. Adds ~215k to driver. - -ADW_ALLOW_MEMIO opt_adw.h # Allow PCI devices to use memory - # mapped I/O - -# 3ware 9000 series RAID controller driver options -TWA_DEBUG opt_twa.h # 0-10; 10 prints the most messages. -TWA_FLASH_FIRMWARE opt_twa.h # firmware image bundled when defined. +TWA_DEBUG opt_twa.h +TWA_FLASH_FIRMWARE opt_twa.h # Miscellaneous options. ADAPTIVE_MUTEXES ==== //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#10 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.130 2004/03/30 07:35:18 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.133 2004/03/31 17:35:28 njl Exp $ */ #include "opt_acpi.h" @@ -145,46 +145,7 @@ static int acpi_child_pnpinfo_str_method(device_t acdev, device_t child, char *buf, size_t buflen); -int -acpi_child_location_str_method(device_t cbdev, device_t child, char *buf, - size_t buflen) -{ - struct acpi_device *dinfo= device_get_ivars(child); - - dinfo = device_get_ivars(child); - if(dinfo->ad_handle) - snprintf(buf, buflen, "path=%s", acpi_name(dinfo->ad_handle)); - else - snprintf(buf, buflen, "magic=unknown"); - return (0); -} -int -acpi_child_pnpinfo_str_method(device_t cbdev, device_t child, char *buf, - size_t buflen) -{ - struct acpi_device *dinfo = device_get_ivars(child); - ACPI_DEVICE_INFO adinfo; - ACPI_BUFFER adbuf = {sizeof(adinfo), &adinfo}; - char * end; - int error; - - dinfo = device_get_ivars(child); - error = AcpiGetObjectInfo(dinfo->ad_handle, &adbuf); - - if(error) - snprintf(buf, buflen, "Unknown"); - else - snprintf(buf, buflen, "_HID=%s _UID=%u", - (adinfo.Valid & ACPI_VALID_HID)? - adinfo.HardwareId.Value : "UNKNOWN", - (unsigned int)((adinfo.Valid & ACPI_VALID_UID)? - strtoul(adinfo.UniqueId.Value, &end, 10):0 )); - - return (0); -} - - static device_method_t acpi_methods[] = { /* Device interface */ DEVMETHOD(device_identify, acpi_identify), @@ -204,8 +165,8 @@ DEVMETHOD(bus_get_resource, acpi_get_resource), DEVMETHOD(bus_alloc_resource, acpi_alloc_resource), DEVMETHOD(bus_release_resource, acpi_release_resource), - DEVMETHOD(bus_child_pnpinfo_str, acpi_child_pnpinfo_str_method), - DEVMETHOD(bus_child_location_str, acpi_child_location_str_method), + DEVMETHOD(bus_child_pnpinfo_str, acpi_child_pnpinfo_str_method), + DEVMETHOD(bus_child_location_str, acpi_child_location_str_method), DEVMETHOD(bus_driver_added, bus_generic_driver_added), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), @@ -738,6 +699,49 @@ return (retval); } +/* Location hint for devctl(8) */ +static int +acpi_child_location_str_method(device_t cbdev, device_t child, char *buf, + size_t buflen) +{ + struct acpi_device *dinfo = device_get_ivars(child); + + if (dinfo->ad_handle) + snprintf(buf, buflen, "path=%s", acpi_name(dinfo->ad_handle)); + else + snprintf(buf, buflen, "magic=unknown"); + return (0); +} + +/* PnP information for devctl(8) */ +static int +acpi_child_pnpinfo_str_method(device_t cbdev, device_t child, char *buf, + size_t buflen) +{ + ACPI_BUFFER adbuf = {ACPI_ALLOCATE_BUFFER, NULL}; + ACPI_DEVICE_INFO *adinfo; + struct acpi_device *dinfo = device_get_ivars(child); + char *end; + int error; + + error = AcpiGetObjectInfo(dinfo->ad_handle, &adbuf); + adinfo = (ACPI_DEVICE_INFO *) adbuf.Pointer; + + if (error) + snprintf(buf, buflen, "Unknown"); + else + snprintf(buf, buflen, "_HID=%s _UID=%lu", + (adinfo->Valid & ACPI_VALID_HID) ? + adinfo->HardwareId.Value : "UNKNOWN", + (adinfo->Valid & ACPI_VALID_UID) ? + strtoul(adinfo->UniqueId.Value, &end, 10) : 0); + + if (adinfo) + AcpiOsFree(adinfo); + + return (0); +} + /* * Handle per-device ivars */ @@ -1201,7 +1205,7 @@ * device. Ignore the return value here; it's OK for the * device not to have any resources. */ - acpi_parse_resources(child, handle, &acpi_res_parse_set); + acpi_parse_resources(child, handle, &acpi_res_parse_set, NULL); /* If we're debugging, probe/attach now rather than later */ ACPI_DEBUG_EXEC(device_probe_and_attach(child)); ==== //depot/projects/netperf_socket/sys/dev/acpica/acpi_pci.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci.c,v 1.7 2004/03/03 18:34:42 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci.c,v 1.9 2004/03/31 17:35:28 njl Exp $"); #include "opt_bus.h" @@ -65,6 +65,10 @@ static int acpi_pci_attach(device_t dev); static int acpi_pci_read_ivar(device_t dev, device_t child, int which, uintptr_t *result); +static int acpi_pci_child_location_str_method(device_t cbdev, + device_t child, char *buf, size_t buflen); + + #if 0 static int acpi_pci_set_powerstate_method(device_t dev, device_t child, int state); @@ -99,7 +103,7 @@ DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), DEVMETHOD(bus_child_pnpinfo_str, pci_child_pnpinfo_str_method), - DEVMETHOD(bus_child_location_str, pci_child_location_str_method), + DEVMETHOD(bus_child_location_str, acpi_pci_child_location_str_method), /* PCI interface */ DEVMETHOD(pci_read_config, pci_read_config_method), @@ -132,12 +136,27 @@ struct acpi_pci_devinfo *dinfo; switch (which) { - case ACPI_IVAR_HANDLE: + case ACPI_IVAR_HANDLE: dinfo = device_get_ivars(child); *result = (uintptr_t)dinfo->ap_handle; - return(0); + return (0); + } + return (pci_read_ivar(dev, child, which, result)); +} + +static int +acpi_pci_child_location_str_method(device_t cbdev, device_t child, char *buf, + size_t buflen) +{ + struct acpi_pci_devinfo *dinfo = device_get_ivars(child); + + pci_child_location_str_method(cbdev, child, buf, buflen); + + if (dinfo->ap_handle) { + strlcat(buf, " path=", buflen); + strlcat(buf, acpi_name(dinfo->ap_handle), buflen); } - return(pci_read_ivar(dev, child, which, result)); + return (0); } #if 0 ==== //depot/projects/netperf_socket/sys/dev/acpica/acpi_resource.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_resource.c,v 1.21 2004/03/17 17:50:24 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_resource.c,v 1.22 2004/03/31 17:23:46 njl Exp $"); #include "opt_acpi.h" #include @@ -56,7 +56,7 @@ */ ACPI_STATUS acpi_parse_resources(device_t dev, ACPI_HANDLE handle, - struct acpi_parse_resource_set *set) + struct acpi_parse_resource_set *set, void *arg) { ACPI_BUFFER buf; ACPI_RESOURCE *res; @@ -86,7 +86,7 @@ } ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "%s - got %ld bytes of resources\n", acpi_name(handle), (long)buf.Length)); - set->set_init(dev, &context); + set->set_init(dev, arg, &context); /* Iterate through the resources */ curr = buf.Pointer; @@ -373,7 +373,7 @@ * Resource-set vectors used to attach _CRS-derived resources * to an ACPI device. */ -static void acpi_res_set_init(device_t dev, void **context); +static void acpi_res_set_init(device_t dev, void *arg, void **context); static void acpi_res_set_done(device_t dev, void *context); static void acpi_res_set_ioport(device_t dev, void *context, u_int32_t base, u_int32_t length); @@ -411,15 +411,17 @@ int ar_nmem; int ar_nirq; int ar_ndrq; + void *ar_parent; }; static void -acpi_res_set_init(device_t dev, void **context) +acpi_res_set_init(device_t dev, void *arg, void **context) { struct acpi_res_context *cp; if ((cp = AcpiOsAllocate(sizeof(*cp))) != NULL) { bzero(cp, sizeof(*cp)); + cp->ar_parent = arg; *context = cp; } } ==== //depot/projects/netperf_socket/sys/dev/acpica/acpivar.h#5 (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/dev/acpica/acpivar.h,v 1.57 2004/03/09 05:41:28 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.58 2004/03/31 17:23:46 njl Exp $ */ #include "bus_if.h" @@ -198,7 +198,7 @@ uint8_t notify); struct acpi_parse_resource_set { - void (*set_init)(device_t dev, void **context); + void (*set_init)(device_t dev, void *arg, void **context); void (*set_done)(device_t dev, void *context); void (*set_ioport)(device_t dev, void *context, u_int32_t base, u_int32_t length); @@ -221,7 +221,7 @@ extern struct acpi_parse_resource_set acpi_res_parse_set; extern ACPI_STATUS acpi_parse_resources(device_t dev, ACPI_HANDLE handle, - struct acpi_parse_resource_set *set); + struct acpi_parse_resource_set *set, void *arg); /* ACPI event handling */ extern UINT32 acpi_event_power_button_sleep(void *context); ==== //depot/projects/netperf_socket/sys/dev/md/md.c#10 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/dev/md/md.c,v 1.118 2004/03/19 21:19:15 alc Exp $ + * $FreeBSD: src/sys/dev/md/md.c,v 1.119 2004/03/31 21:48:02 luigi Exp $ * */ @@ -110,7 +110,6 @@ static g_init_t md_drvinit; -static int mdrootready; static int mdunits; static dev_t status_dev = 0; @@ -1180,8 +1179,10 @@ sc->nsect = length / DEV_BSIZE; sc->pl_ptr = image; sc->pl_len = length; +#ifdef MD_ROOT if (sc->unit == 0) - mdrootready = 1; + rootdevnames[0] = "ufs:/dev/md0"; +#endif mdinit(sc); } @@ -1253,15 +1254,3 @@ }; DECLARE_MODULE(md, md_mod, SI_SUB_DRIVERS, SI_ORDER_MIDDLE); MODULE_VERSION(md, MD_MODVER); - - -#ifdef MD_ROOT -static void -md_takeroot(void *junk) -{ - if (mdrootready) - rootdevnames[0] = "ufs:/dev/md0"; -} - -SYSINIT(md_root, SI_SUB_MOUNT_ROOT, SI_ORDER_FIRST, md_takeroot, NULL); -#endif /* MD_ROOT */ ==== //depot/projects/netperf_socket/sys/kern/subr_trap.c#5 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_trap.c,v 1.265 2004/03/13 22:31:39 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_trap.c,v 1.266 2004/03/31 08:20:44 julian Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -140,7 +140,6 @@ { struct thread *td; struct proc *p; - struct kse *ke; struct ksegrp *kg; struct rlimit rlim; u_int prticks, sticks; @@ -171,7 +170,6 @@ * ast() will be called again. */ mtx_lock_spin(&sched_lock); - ke = td->td_kse; sticks = td->td_sticks; flags = td->td_flags; sflag = p->p_sflag; ==== //depot/projects/netperf_socket/sys/net/bpf.h#3 (text+ko) ==== @@ -38,7 +38,7 @@ * @(#)bpf.h 8.1 (Berkeley) 6/10/93 * @(#)bpf.h 1.34 (LBL) 6/16/96 * - * $FreeBSD: src/sys/net/bpf.h,v 1.32 2004/02/26 03:53:53 mlaier Exp $ + * $FreeBSD: src/sys/net/bpf.h,v 1.34 2004/03/31 14:22:13 bms Exp $ */ #ifndef _NET_BPF_H_ @@ -182,6 +182,12 @@ #define DLT_PPP_ETHER 51 /* PPP over Ethernet */ /* + * Reserved for the Symantec Enterprise Firewall. + */ +#define DLT_SYMANTEC_FIREWALL 99 + + +/* * This value was defined by libpcap 0.5; platforms that have defined * it with a different value should define it here with that value - * a link type of 104 in a save file will be mapped to DLT_C_HDLC, @@ -207,6 +213,14 @@ */ /* + * Frame Relay; BSD/OS has a DLT_FR with a value of 11, but that collides + * with other values. + * DLT_FR and DLT_FRELAY packets start with the Q.922 Frame Relay header + * (DLCI, etc.). + */ +#define DLT_FRELAY 107 + +/* * OpenBSD DLT_LOOP, for loopback devices; it's like DLT_NULL, except * that the AF_ type in the link-layer header is in network byte order. * @@ -224,6 +238,13 @@ */ /* + * Encapsulated packets for IPsec; DLT_ENC is 13 in OpenBSD, but that's + * DLT_SLIP_BSDOS in NetBSD, so we don't use 13 for it in OSes other + * than OpenBSD. + */ +#define DLT_ENC 109 + +/* * This is for Linux cooked sockets. */ #define DLT_LINUX_SLL 113 @@ -250,7 +271,6 @@ * in capture-file headers. */ #define DLT_PFLOG 117 -#define DLT_PFSYNC 121 /* * Registered for Cisco-internal use. @@ -271,6 +291,95 @@ #define DLT_AIRONET_HEADER 120 /* + * Reserved for use by OpenBSD's pfsync device. + */ +#define DLT_PFSYNC 121 + +/* + * Reserved for Siemens HiPath HDLC. XXX + */ +#define DLT_HHDLC 121 + +/* + * Reserved for RFC 2625 IP-over-Fibre Channel. + */ +#define DLT_IP_OVER_FC 122 + +/* + * Reserved for Full Frontal ATM on Solaris. + */ +#define DLT_SUNATM 123 + +/* + * Reserved as per request from Kent Dahlgren + * for private use. + */ +#define DLT_RIO 124 /* RapidIO */ +#define DLT_PCI_EXP 125 /* PCI Express */ +#define DLT_AURORA 126 /* Xilinx Aurora link layer */ + +/* + * BSD header for 802.11 plus a number of bits of link-layer information + * including radio information. + */ +#ifndef DLT_IEEE802_11_RADIO +#define DLT_IEEE802_11_RADIO 127 +#endif + +/* + * Reserved for TZSP encapsulation. + */ +#define DLT_TZSP 128 /* Tazmen Sniffer Protocol */ + +/* + * Reserved for Linux ARCNET. + */ +#define DLT_ARCNET_LINUX 129 + +/* + * Juniper-private data link types. + */ +#define DLT_JUNIPER_MLPPP 130 +#define DLT_JUNIPER_MLFR 131 +#define DLT_JUNIPER_ES 132 +#define DLT_JUNIPER_GGSN 133 +#define DLT_JUNIPER_MFR 134 +#define DLT_JUNIPER_ATM2 135 +#define DLT_JUNIPER_SERVICES 136 +#define DLT_JUNIPER_ATM1 137 + +/* + * Reserved for Apple IP-over-IEEE-1394. + */ +#define DLT_APPLE_IP_OVER_IEEE1394 138 + +/* + * Reserved for DOCSIS. + */ +#define DLT_DOCSIS 143 + +/* + * Reserved for Linux IrDA. + */ +#define DLT_LINUX_IRDA 144 + +/* + * Reserved for IBM SP switch and IBM Next Federation switch. + */ +#define DLT_IBM_SP 145 +#define DLT_IBM_SN 146 + +/* + * Reserved for AbsoluteValue Systems 802.11 capture. + */ +#define DLT_IEEE802_11_RADIO_AVS 163 + +/* + * Reserved for Juniper-private DLT. + */ +#define DLT_JUNIPER_MONITOR 164 + +/* * The instruction encodings. */ /* instruction classes */ ==== //depot/projects/netperf_socket/sys/pci/if_sk.c#6 (text+ko) ==== @@ -48,7 +48,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/if_sk.c,v 1.77 2004/03/17 17:50:53 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/if_sk.c,v 1.78 2004/03/31 12:35:51 mckay Exp $"); /* * SysKonnect SK-NET gigabit ethernet driver for FreeBSD. Supports @@ -135,7 +135,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sys/pci/if_sk.c,v 1.77 2004/03/17 17:50:53 njl Exp $"; + "$FreeBSD: src/sys/pci/if_sk.c,v 1.78 2004/03/31 12:35:51 mckay Exp $"; #endif static struct sk_type sk_devs[] = { @@ -164,6 +164,11 @@ DEVICEID_LINKSYS_EG1032, "Linksys EG1032 Gigabit Ethernet" }, + { + VENDORID_DLINK, + DEVICEID_DLINK_DGE530T, + "D-Link DGE-530T Gigabit Ethernet" + }, { 0, 0, NULL } }; @@ -465,6 +470,12 @@ sk_vpd_read_res(sc, &res, pos); + /* + * Bail out quietly if the eeprom appears to be missing or empty. + */ + if (res.vr_id == 0xff && res.vr_len == 0xff && res.vr_pad == 0xff) + return; + if (res.vr_id != VPD_RES_ID) { printf("skc%d: bad VPD resource id: expected %x got %x\n", sc->sk_unit, VPD_RES_ID, res.vr_id); @@ -1580,8 +1591,13 @@ case DEVICEID_SK_V2: case DEVICEID_3COM_3C940: case DEVICEID_LINKSYS_EG1032: + case DEVICEID_DLINK_DGE530T: sc->sk_type = SK_YUKON; break; + default: + printf("skc%d: unknown device!\n", unit); + error = ENXIO; + goto fail; } /* Reset the adapter. */ @@ -1644,7 +1660,8 @@ } /* Announce the product name. */ - printf("skc%d: %s\n", sc->sk_unit, sc->sk_vpd_prodname); + if (sc->sk_vpd_prodname != NULL) + printf("skc%d: %s\n", sc->sk_unit, sc->sk_vpd_prodname); sc->sk_devs[SK_PORT_A] = device_add_child(dev, "sk", -1); port = malloc(sizeof(int), M_DEVBUF, M_NOWAIT); *port = SK_PORT_A; ==== //depot/projects/netperf_socket/sys/pci/if_skreg.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/pci/if_skreg.h,v 1.19 2003/11/14 19:00:32 sam Exp $ + * $FreeBSD: src/sys/pci/if_skreg.h,v 1.20 2004/03/31 12:35:51 mckay Exp $ */ /* @@ -91,6 +91,16 @@ #define DEVICEID_LINKSYS_EG1032 0x1032 /* + * D-Link PCI vendor ID + */ +#define VENDORID_DLINK 0x1186 + +/* + * D-Link gigabit ethernet device ID + */ +#define DEVICEID_DLINK_DGE530T 0x4c00 + +/* * GEnesis registers. The GEnesis chip has a 256-byte I/O window * but internally it has a 16K register space. This 16K space is * divided into 128-byte blocks. The first 128 bytes of the I/O ==== //depot/projects/netperf_socket/sys/pci/if_ste.c#7 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/if_ste.c,v 1.64 2004/03/30 19:23:38 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/if_ste.c,v 1.66 2004/03/31 21:10:01 ru Exp $"); #include #include @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -162,6 +163,9 @@ DRIVER_MODULE(ste, pci, ste_driver, ste_devclass, 0, 0); DRIVER_MODULE(miibus, ste, miibus_driver, miibus_devclass, 0, 0); +static int ste_rxsyncs; +SYSCTL_INT(_hw, OID_AUTO, ste_rxsyncs, CTLFLAG_RW, &ste_rxsyncs, 0, ""); + #define STE_SETBIT4(sc, reg, x) \ CSR_WRITE_4(sc, reg, CSR_READ_4(sc, reg) | (x)) @@ -622,7 +626,53 @@ return; } +#ifdef DEVICE_POLLING +static poll_handler_t ste_poll; + static void +ste_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) +{ + struct ste_softc *sc = ifp->if_softc; + + STE_LOCK(sc); + if (cmd == POLL_DEREGISTER) { /* final call, enable interrupts */ + CSR_WRITE_2(sc, STE_IMR, STE_INTRS); + goto done; + } + + sc->rxcycles = count; + ste_rxeof(sc); + ste_txeof(sc); + if (ifp->if_snd.ifq_head != NULL) + ste_start(ifp); + + if (cmd == POLL_AND_CHECK_STATUS) { /* also check status register */ + u_int16_t status; + + status = CSR_READ_2(sc, STE_ISR_ACK); + + if (status & STE_ISR_TX_DONE) + ste_txeoc(sc); + + if (status & STE_ISR_STATS_OFLOW) { + untimeout(ste_stats_update, sc, sc->ste_stat_ch); + ste_stats_update(sc); + } + + if (status & STE_ISR_LINKEVENT) + mii_pollstat(device_get_softc(sc->ste_miibus)); + + if (status & STE_ISR_HOSTERR) { + ste_reset(sc); + ste_init(sc); + } + } +done: + STE_UNLOCK(sc); +} +#endif /* DEVICE_POLLING */ + +static void ste_intr(xsc) void *xsc; { @@ -634,6 +684,16 @@ STE_LOCK(sc); ifp = &sc->arpcom.ac_if; +#ifdef DEVICE_POLLING + if (ifp->if_flags & IFF_POLLING) + goto done; + if (ether_poll_register(ste_poll, ifp)) { /* ok, disable interrupts */ + CSR_WRITE_2(sc, STE_IMR, 0); + ste_poll(ifp, 0, 1); + goto done; + } +#endif /* DEVICE_POLLING */ + /* See if this is really our interrupt. */ if (!(CSR_READ_2(sc, STE_ISR) & STE_ISR_INTLATCH)) { STE_UNLOCK(sc); @@ -676,6 +736,9 @@ if (ifp->if_snd.ifq_head != NULL) ste_start(ifp); +#ifdef DEVICE_POLLING +done: +#endif /* DEVICE_POLLING */ STE_UNLOCK(sc); return; @@ -699,8 +762,28 @@ ifp = &sc->arpcom.ac_if; + if (sc->ste_cdata.ste_rx_head->ste_ptr->ste_status == 0) { + cur_rx = sc->ste_cdata.ste_rx_head; + do { + cur_rx = cur_rx->ste_next; + /* If the ring is empty, just return. */ + if (cur_rx == sc->ste_cdata.ste_rx_head) + return; + } while (cur_rx->ste_ptr->ste_status == 0); + /* We've fallen behind the chip: catch it. */ + sc->ste_cdata.ste_rx_head = cur_rx; + ++ste_rxsyncs; + }; + while((rxstat = sc->ste_cdata.ste_rx_head->ste_ptr->ste_status) & STE_RXSTAT_DMADONE) { +#ifdef DEVICE_POLLING + if (ifp->if_flags & IFF_POLLING) { + if (sc->rxcycles <= 0) + break; + sc->rxcycles--; + } +#endif /* DEVICE_POLLING */ if ((STE_RX_LIST_CNT - count) < 3) { break; } @@ -1243,7 +1326,7 @@ } /* Set RX polling interval */ - CSR_WRITE_1(sc, STE_RX_DMAPOLL_PERIOD, 1); + CSR_WRITE_1(sc, STE_RX_DMAPOLL_PERIOD, 64); /* Init TX descriptors */ ste_init_tx_list(sc); @@ -1305,8 +1388,14 @@ /* Enable stats counters. */ STE_SETBIT2(sc, STE_MACCTL1, STE_MACCTL1_STATS_ENABLE); + CSR_WRITE_2(sc, STE_ISR, 0xFFFF); +#ifdef DEVICE_POLLING + /* Disable interrupts if we are polling. */ + if (ifp->if_flags & IFF_POLLING) + CSR_WRITE_2(sc, STE_IMR, 0); + else +#endif /* DEVICE_POLLING */ /* Enable interrupts. */ - CSR_WRITE_2(sc, STE_ISR, 0xFFFF); CSR_WRITE_2(sc, STE_IMR, STE_INTRS); /* Accept VLAN length packets */ @@ -1334,6 +1423,10 @@ ifp = &sc->arpcom.ac_if; untimeout(ste_stats_update, sc, sc->ste_stat_ch); + ifp->if_flags &= ~(IFF_RUNNING|IFF_OACTIVE); +#ifdef DEVICE_POLLING + ether_poll_deregister(ifp); +#endif /* DEVICE_POLLING */ CSR_WRITE_2(sc, STE_IMR, 0); STE_SETBIT2(sc, STE_MACCTL1, STE_MACCTL1_TX_DISABLE); @@ -1365,8 +1458,6 @@ } bzero(sc->ste_ldata, sizeof(struct ste_list_data)); - - ifp->if_flags &= ~(IFF_RUNNING|IFF_OACTIVE); STE_UNLOCK(sc); return; ==== //depot/projects/netperf_socket/sys/pci/if_stereg.h#2 (text+ko) ==== @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/pci/if_stereg.h,v 1.12 2003/11/14 19:00:32 sam Exp $ + * $FreeBSD: src/sys/pci/if_stereg.h,v 1.13 2004/03/31 20:39:20 ru Exp $ */ /* @@ -526,6 +526,9 @@ struct callout_handle ste_stat_ch; struct mtx ste_mtx; u_int8_t ste_one_phy; +#ifdef DEVICE_POLLING + int rxcycles; +#endif }; #define STE_LOCK(_sc) mtx_lock(&(_sc)->ste_mtx) ==== //depot/projects/netperf_socket/sys/powerpc/powermac/ata_kauai.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ * */ #include >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 31 18:00:51 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 39E7E16A4D1; Wed, 31 Mar 2004 18:00:51 -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 10C9A16A4D0 for ; Wed, 31 Mar 2004 18:00:51 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E782443D54 for ; Wed, 31 Mar 2004 18:00:50 -0800 (PST) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i3120oGe062265 for ; Wed, 31 Mar 2004 18:00:50 -0800 (PST) (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i3120nNV062262 for perforce@freebsd.org; Wed, 31 Mar 2004 18:00:49 -0800 (PST) (envelope-from imp@freebsd.org) Date: Wed, 31 Mar 2004 18:00:49 -0800 (PST) Message-Id: <200404010200.i3120nNV062262@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Subject: PERFORCE change 50095 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: Thu, 01 Apr 2004 02:00:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=50095 Change 50095 by imp@imp_pacopaco on 2004/03/31 18:00:34 IFC @50093 Affected files ... .. //depot/projects/power/sys/compat/linprocfs/linprocfs.c#6 integrate .. //depot/projects/power/sys/conf/NOTES#9 integrate .. //depot/projects/power/sys/conf/options#9 integrate .. //depot/projects/power/sys/dev/acpica/acpi.c#13 integrate .. //depot/projects/power/sys/dev/acpica/acpi_pci.c#8 integrate .. //depot/projects/power/sys/dev/ath/if_ath.c#8 integrate .. //depot/projects/power/sys/dev/ath/if_athvar.h#4 integrate .. //depot/projects/power/sys/dev/md/md.c#6 integrate .. //depot/projects/power/sys/dev/wi/if_wi.c#6 integrate .. //depot/projects/power/sys/dev/wi/if_wivar.h#3 integrate .. //depot/projects/power/sys/fs/procfs/procfs_status.c#3 integrate .. //depot/projects/power/sys/geom/geom_apple.c#3 integrate .. //depot/projects/power/sys/kern/kern_exec.c#6 integrate .. //depot/projects/power/sys/kern/kern_proc.c#4 integrate .. //depot/projects/power/sys/net/if_sl.c#3 integrate .. //depot/projects/power/sys/pci/if_ste.c#8 integrate .. //depot/projects/power/sys/pci/if_stereg.h#4 integrate .. //depot/projects/power/sys/sys/proc.h#8 integrate Differences ... ==== //depot/projects/power/sys/compat/linprocfs/linprocfs.c#6 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.82 2004/02/09 20:33:42 des Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.83 2004/04/01 00:04:22 pjd Exp $"); #include #include @@ -771,7 +771,7 @@ */ PROC_LOCK(p); - if (p->p_args && (ps_argsopen || !p_cansee(td, p))) { + if (p->p_args && p_cansee(td, p) == 0) { sbuf_bcpy(sb, p->p_args->ar_args, p->p_args->ar_length); PROC_UNLOCK(p); } else if (p != td->td_proc) { ==== //depot/projects/power/sys/conf/NOTES#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1210 2004/03/31 08:22:09 scottl Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1211 2004/03/31 18:46:13 vkashyap Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1388,6 +1388,14 @@ device twe # 3ware ATA RAID # +# 3ware 9000 series PATA/SATA RAID controller driver and options. +# The driver is implemented as a SIM, and so, needs the CAM infrastructure. +# +options TWA_DEBUG # 0-10; 10 prints the most messages. +options TWA_FLASH_FIRMWARE # firmware image bundled when defined. +device twa # 3ware 9000 series PATA/SATA RAID + +# # The 'ATA' driver supports all ATA and ATAPI devices, including PC Card # devices. You only need one "device ata" for it to find all # PCI and PC Card ATA/ATAPI devices on modern machines. ==== //depot/projects/power/sys/conf/options#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.437 2004/03/31 08:22:09 scottl Exp $ +# $FreeBSD: src/sys/conf/options,v 1.438 2004/03/31 18:46:13 vkashyap Exp $ # # On the handling of kernel options # @@ -43,9 +43,8 @@ AHD_REG_PRETTY_PRINT opt_aic79xx.h ADW_ALLOW_MEMIO opt_adw.h -# 3ware 9000 series RAID controller driver options -TWA_DEBUG opt_twa.h # 0-10; 10 prints the most messages. -TWA_FLASH_FIRMWARE opt_twa.h # firmware image bundled when defined. +TWA_DEBUG opt_twa.h +TWA_FLASH_FIRMWARE opt_twa.h # Miscellaneous options. ADAPTIVE_MUTEXES ==== //depot/projects/power/sys/dev/acpica/acpi.c#13 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.132 2004/03/31 17:23:46 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.133 2004/03/31 17:35:28 njl Exp $ */ #include "opt_acpi.h" @@ -165,8 +165,8 @@ DEVMETHOD(bus_get_resource, acpi_get_resource), DEVMETHOD(bus_alloc_resource, acpi_alloc_resource), DEVMETHOD(bus_release_resource, acpi_release_resource), - DEVMETHOD(bus_child_pnpinfo_str, acpi_child_pnpinfo_str_method), - DEVMETHOD(bus_child_location_str, acpi_child_location_str_method), + DEVMETHOD(bus_child_pnpinfo_str, acpi_child_pnpinfo_str_method), + DEVMETHOD(bus_child_location_str, acpi_child_location_str_method), DEVMETHOD(bus_driver_added, bus_generic_driver_added), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), @@ -699,11 +699,8 @@ return (retval); } -/* - * Location hint for devctl(8) - */ - -int +/* Location hint for devctl(8) */ +static int acpi_child_location_str_method(device_t cbdev, device_t child, char *buf, size_t buflen) { @@ -716,31 +713,28 @@ return (0); } -/* - * PnP information for devctl(8) - */ - -int +/* PnP information for devctl(8) */ +static int acpi_child_pnpinfo_str_method(device_t cbdev, device_t child, char *buf, size_t buflen) { + ACPI_BUFFER adbuf = {ACPI_ALLOCATE_BUFFER, NULL}; + ACPI_DEVICE_INFO *adinfo; struct acpi_device *dinfo = device_get_ivars(child); - ACPI_DEVICE_INFO *adinfo; - ACPI_BUFFER adbuf = {ACPI_ALLOCATE_BUFFER, NULL}; char *end; int error; error = AcpiGetObjectInfo(dinfo->ad_handle, &adbuf); adinfo = (ACPI_DEVICE_INFO *) adbuf.Pointer; - + if (error) snprintf(buf, buflen, "Unknown"); else snprintf(buf, buflen, "_HID=%s _UID=%lu", - (adinfo->Valid & ACPI_VALID_HID)? + (adinfo->Valid & ACPI_VALID_HID) ? adinfo->HardwareId.Value : "UNKNOWN", - ((adinfo->Valid & ACPI_VALID_UID)? - strtoul(adinfo->UniqueId.Value, &end, 10):0 )); + (adinfo->Valid & ACPI_VALID_UID) ? + strtoul(adinfo->UniqueId.Value, &end, 10) : 0); if (adinfo) AcpiOsFree(adinfo); ==== //depot/projects/power/sys/dev/acpica/acpi_pci.c#8 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci.c,v 1.8 2004/03/31 17:27:19 takawata Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci.c,v 1.9 2004/03/31 17:35:28 njl Exp $"); #include "opt_bus.h" @@ -133,12 +133,12 @@ struct acpi_pci_devinfo *dinfo; switch (which) { - case ACPI_IVAR_HANDLE: + case ACPI_IVAR_HANDLE: dinfo = device_get_ivars(child); *result = (uintptr_t)dinfo->ap_handle; - return(0); + return (0); } - return(pci_read_ivar(dev, child, which, result)); + return (pci_read_ivar(dev, child, which, result)); } static int @@ -146,10 +146,10 @@ size_t buflen) { struct acpi_pci_devinfo *dinfo = device_get_ivars(child); - int status; + pci_child_location_str_method(cbdev, child, buf, buflen); - if(dinfo->ap_handle){ + if (dinfo->ap_handle) { strlcat(buf, " path=", buflen); strlcat(buf, acpi_name(dinfo->ap_handle), buflen); } ==== //depot/projects/power/sys/dev/ath/if_ath.c#8 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.46 2004/03/20 19:57:46 mdodd Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.47 2004/04/01 00:38:45 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -339,15 +339,20 @@ &sc->sc_drvbpf); /* * Initialize constant fields. + * XXX make header lengths a multiple of 32-bits so subsequent + * headers are properly aligned; this is a kludge to keep + * certain applications happy. * * NB: the channel is setup each time we transition to the * RUN state to avoid filling it in for each frame. */ - sc->sc_tx_th.wt_ihdr.it_len = sizeof(sc->sc_tx_th); - sc->sc_tx_th.wt_ihdr.it_present = ATH_TX_RADIOTAP_PRESENT; + sc->sc_tx_th_len = roundup(sizeof(sc->sc_tx_th), sizeof(u_int32_t)); + sc->sc_tx_th.wt_ihdr.it_len = htole16(sc->sc_tx_th_len); + sc->sc_tx_th.wt_ihdr.it_present = htole32(ATH_TX_RADIOTAP_PRESENT); - sc->sc_rx_th.wr_ihdr.it_len = sizeof(sc->sc_rx_th); - sc->sc_rx_th.wr_ihdr.it_present = ATH_RX_RADIOTAP_PRESENT; + sc->sc_rx_th_len = roundup(sizeof(sc->sc_rx_th), sizeof(u_int32_t)); + sc->sc_rx_th.wr_ihdr.it_len = htole16(sc->sc_rx_th_len); + sc->sc_rx_th.wr_ihdr.it_present = htole32(ATH_RX_RADIOTAP_PRESENT); return 0; bad: @@ -1726,7 +1731,7 @@ /* XXX TSF */ bpf_mtap2(sc->sc_drvbpf, - &sc->sc_rx_th, sizeof(sc->sc_rx_th), m); + &sc->sc_rx_th, sc->sc_rx_th_len, m); } m_adj(m, -IEEE80211_CRC_LEN); @@ -2070,7 +2075,7 @@ sc->sc_tx_th.wt_antenna = antenna; bpf_mtap2(sc->sc_drvbpf, - &sc->sc_tx_th, sizeof(sc->sc_tx_th), m0); + &sc->sc_tx_th, sc->sc_tx_th_len, m0); } /* ==== //depot/projects/power/sys/dev/ath/if_athvar.h#4 (text+ko) ==== @@ -33,7 +33,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.10 2003/11/29 01:23:59 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.11 2004/04/01 00:38:45 sam Exp $ */ /* @@ -115,10 +115,12 @@ struct ath_tx_radiotap_header th; u_int8_t pad[64]; } u_tx_rt; + int sc_tx_th_len; union { struct ath_rx_radiotap_header th; u_int8_t pad[64]; } u_rx_rt; + int sc_rx_th_len; struct ath_desc *sc_desc; /* TX/RX descriptors */ bus_dma_segment_t sc_dseg; ==== //depot/projects/power/sys/dev/md/md.c#6 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/dev/md/md.c,v 1.118 2004/03/19 21:19:15 alc Exp $ + * $FreeBSD: src/sys/dev/md/md.c,v 1.119 2004/03/31 21:48:02 luigi Exp $ * */ @@ -110,7 +110,6 @@ static g_init_t md_drvinit; -static int mdrootready; static int mdunits; static dev_t status_dev = 0; @@ -1180,8 +1179,10 @@ sc->nsect = length / DEV_BSIZE; sc->pl_ptr = image; sc->pl_len = length; +#ifdef MD_ROOT if (sc->unit == 0) - mdrootready = 1; + rootdevnames[0] = "ufs:/dev/md0"; +#endif mdinit(sc); } @@ -1253,15 +1254,3 @@ }; DECLARE_MODULE(md, md_mod, SI_SUB_DRIVERS, SI_ORDER_MIDDLE); MODULE_VERSION(md, MD_MODVER); - - -#ifdef MD_ROOT -static void -md_takeroot(void *junk) -{ - if (mdrootready) - rootdevnames[0] = "ufs:/dev/md0"; -} - -SYSINIT(md_root, SI_SUB_MOUNT_ROOT, SI_ORDER_FIRST, md_takeroot, NULL); -#endif /* MD_ROOT */ ==== //depot/projects/power/sys/dev/wi/if_wi.c#6 (text+ko) ==== @@ -62,7 +62,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.164 2004/03/20 19:57:47 mdodd Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.166 2004/04/01 00:38:45 sam Exp $"); #define WI_HERMES_AUTOINC_WAR /* Work around data write autoinc bug. */ #define WI_HERMES_STATS_WAR /* Work around stats counter bug. */ @@ -482,15 +482,20 @@ &sc->sc_drvbpf); /* * Initialize constant fields. + * XXX make header lengths a multiple of 32-bits so subsequent + * headers are properly aligned; this is a kludge to keep + * certain applications happy. * * NB: the channel is setup each time we transition to the * RUN state to avoid filling it in for each frame. */ - sc->sc_tx_th.wt_ihdr.it_len = sizeof(sc->sc_tx_th); - sc->sc_tx_th.wt_ihdr.it_present = WI_TX_RADIOTAP_PRESENT; + sc->sc_tx_th_len = roundup(sizeof(sc->sc_tx_th), sizeof(u_int32_t)); + sc->sc_tx_th.wt_ihdr.it_len = htole16(sc->sc_tx_th_len); + sc->sc_tx_th.wt_ihdr.it_present = htole32(WI_TX_RADIOTAP_PRESENT); - sc->sc_rx_th.wr_ihdr.it_len = sizeof(sc->sc_rx_th); - sc->sc_rx_th.wr_ihdr.it_present = WI_RX_RADIOTAP_PRESENT; + sc->sc_rx_th_len = roundup(sizeof(sc->sc_rx_th), sizeof(u_int32_t)); + sc->sc_rx_th.wr_ihdr.it_len = htole16(sc->sc_rx_th_len); + sc->sc_rx_th.wr_ihdr.it_present = htole32(WI_RX_RADIOTAP_PRESENT); #endif return (0); } @@ -939,18 +944,18 @@ } frmhdr.wi_tx_ctl |= htole16(WI_TXCNTL_NOCRYPT); } - m_copydata(m0, 0, sizeof(struct ieee80211_frame), - (caddr_t)&frmhdr.wi_whdr); - m_adj(m0, sizeof(struct ieee80211_frame)); - frmhdr.wi_dat_len = htole16(m0->m_pkthdr.len); #if NBPFILTER > 0 if (sc->sc_drvbpf) { sc->sc_tx_th.wt_rate = ni->ni_rates.rs_rates[ni->ni_txrate]; bpf_mtap2(sc->sc_drvbpf, - &sc->sc_tx_th, sizeof(sc->sc_tx_th), m0); + &sc->sc_tx_th, sc->sc_tx_th_len, m0); } #endif + m_copydata(m0, 0, sizeof(struct ieee80211_frame), + (caddr_t)&frmhdr.wi_whdr); + m_adj(m0, sizeof(struct ieee80211_frame)); + frmhdr.wi_dat_len = htole16(m0->m_pkthdr.len); if (IFF_DUMPPKTS(ifp)) wi_dump_pkt(&frmhdr, NULL, -1); fid = sc->sc_txd[cur].d_fid; @@ -1495,7 +1500,7 @@ if (frmhdr.wi_status & WI_STAT_PCF) sc->sc_rx_th.wr_flags |= IEEE80211_RADIOTAP_F_CFP; bpf_mtap2(sc->sc_drvbpf, - &sc->sc_rx_th, sizeof(sc->sc_rx_th), m); + &sc->sc_rx_th, sc->sc_rx_th_len, m); } #endif wh = mtod(m, struct ieee80211_frame *); ==== //depot/projects/power/sys/dev/wi/if_wivar.h#3 (text+ko) ==== @@ -31,7 +31,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/wi/if_wivar.h,v 1.21 2003/12/09 07:41:07 imp Exp $ + * $FreeBSD: src/sys/dev/wi/if_wivar.h,v 1.22 2004/04/01 00:38:45 sam Exp $ */ #if 0 @@ -168,10 +168,12 @@ struct wi_tx_radiotap_header th; u_int8_t pad[64]; } u_tx_rt; + int sc_tx_th_len; union { struct wi_rx_radiotap_header th; u_int8_t pad[64]; } u_rx_rt; + int sc_rx_th_len; }; #define sc_if sc_ic.ic_if #define sc_tx_th u_tx_rt.th ==== //depot/projects/power/sys/fs/procfs/procfs_status.c#3 (text+ko) ==== @@ -38,7 +38,7 @@ * * From: * $Id: procfs_status.c,v 3.1 1993/12/15 09:40:17 jsp Exp $ - * $FreeBSD: src/sys/fs/procfs/procfs_status.c,v 1.50 2003/12/07 17:40:00 des Exp $ + * $FreeBSD: src/sys/fs/procfs/procfs_status.c,v 1.51 2004/04/01 00:04:23 pjd Exp $ */ #include @@ -191,7 +191,7 @@ */ PROC_LOCK(p); - if (p->p_args && (ps_argsopen || !p_cansee(td, p))) { + if (p->p_args && p_cansee(td, p) == 0) { sbuf_bcpy(sb, p->p_args->ar_args, p->p_args->ar_length); PROC_UNLOCK(p); return (0); ==== //depot/projects/power/sys/geom/geom_apple.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/geom_apple.c,v 1.13 2004/02/12 22:42:11 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/geom_apple.c,v 1.14 2004/04/01 01:33:37 grehan Exp $"); #include #include @@ -116,11 +116,13 @@ mp = gsp->softc; g_slice_dumpconf(sb, indent, gp, cp, pp); if (pp != NULL) { - if (indent == NULL) - sbuf_printf(sb, " n %s ty %s", - mp->apmpart[pp->index].am_name, + if (indent == NULL) { + sbuf_printf(sb, " ty %s", mp->apmpart[pp->index].am_type); - else { + if (*mp->apmpart[pp->index].am_name) + sbuf_printf(sb, " sn %s", + mp->apmpart[pp->index].am_name); + } else { sbuf_printf(sb, "%s%s\n", indent, mp->apmpart[pp->index].am_name); sbuf_printf(sb, "%s%s\n", indent, ==== //depot/projects/power/sys/kern/kern_exec.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.240 2004/03/14 02:06:27 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.241 2004/04/01 00:10:44 pjd Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -95,9 +95,6 @@ SYSCTL_ULONG(_kern, OID_AUTO, ps_arg_cache_limit, CTLFLAG_RW, &ps_arg_cache_limit, 0, ""); -int ps_argsopen = 1; -SYSCTL_INT(_kern, OID_AUTO, ps_argsopen, CTLFLAG_RW, &ps_argsopen, 0, ""); - static int sysctl_kern_ps_strings(SYSCTL_HANDLER_ARGS) { ==== //depot/projects/power/sys/kern/kern_proc.c#4 (text+ko) ==== @@ -31,11 +31,11 @@ * SUCH DAMAGE. * * @(#)kern_proc.c 8.7 (Berkeley) 2/14/95 - * $FreeBSD: src/sys/kern/kern_proc.c,v 1.200 2004/03/17 13:19:43 pjd Exp $ + * $FreeBSD: src/sys/kern/kern_proc.c,v 1.201 2004/04/01 00:08:20 pjd Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.200 2004/03/17 13:19:43 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.201 2004/04/01 00:08:20 pjd Exp $"); #include "opt_ktrace.h" #include "opt_kstack_pages.h" @@ -1111,11 +1111,6 @@ return (error); } - if (!ps_argsopen) { - PROC_UNLOCK(p); - return (EPERM); - } - if (req->newptr && curproc != p) { PROC_UNLOCK(p); return (EPERM); ==== //depot/projects/power/sys/net/if_sl.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_sl.c 8.6 (Berkeley) 2/1/94 - * $FreeBSD: src/sys/net/if_sl.c,v 1.111 2003/10/31 18:32:08 brooks Exp $ + * $FreeBSD: src/sys/net/if_sl.c,v 1.112 2004/03/31 22:59:56 rwatson Exp $ */ /* @@ -224,6 +224,18 @@ static size_t st_unit_max = 0; static int +slisunitfree(int unit) +{ + struct sl_softc *nc; + + LIST_FOREACH(nc, &sl_list, sl_next) { + if (nc->sc_if.if_dunit == unit) + return (0); + } + return (1); +} + +static int slisstatic(unit) int unit; { @@ -260,7 +272,7 @@ static struct sl_softc * slcreate() { - struct sl_softc *sc, *nc; + struct sl_softc *sc; int unit; struct mbuf *m; @@ -310,10 +322,8 @@ for (unit=0; ; unit++) { if (slisstatic(unit)) continue; - LIST_FOREACH(nc, &sl_list, sl_next) { - if (nc->sc_if.if_dunit == unit) - continue; - } + if (!slisunitfree(unit)) + continue; break; } if_initname(&sc->sc_if, "sl", unit); @@ -443,7 +453,7 @@ int flag; struct thread *td; { - struct sl_softc *sc = (struct sl_softc *)tp->t_sc, *nc; + struct sl_softc *sc = (struct sl_softc *)tp->t_sc; int s, unit, wasup; s = splimp(); @@ -459,12 +469,8 @@ return (ENXIO); } if (sc->sc_if.if_dunit != unit) { - LIST_FOREACH(nc, &sl_list, sl_next) { - if (nc->sc_if.if_dunit == *(u_int *)data) { - splx(s); - return (ENXIO); - } - } + if (!slisunitfree(unit)) + return (ENXIO); wasup = sc->sc_if.if_flags & IFF_UP; bpfdetach(&sc->sc_if); ==== //depot/projects/power/sys/pci/if_ste.c#8 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/if_ste.c,v 1.64 2004/03/30 19:23:38 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/if_ste.c,v 1.66 2004/03/31 21:10:01 ru Exp $"); #include #include @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -162,6 +163,9 @@ DRIVER_MODULE(ste, pci, ste_driver, ste_devclass, 0, 0); DRIVER_MODULE(miibus, ste, miibus_driver, miibus_devclass, 0, 0); +static int ste_rxsyncs; +SYSCTL_INT(_hw, OID_AUTO, ste_rxsyncs, CTLFLAG_RW, &ste_rxsyncs, 0, ""); + #define STE_SETBIT4(sc, reg, x) \ CSR_WRITE_4(sc, reg, CSR_READ_4(sc, reg) | (x)) @@ -622,7 +626,53 @@ return; } +#ifdef DEVICE_POLLING +static poll_handler_t ste_poll; + static void +ste_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) +{ + struct ste_softc *sc = ifp->if_softc; + + STE_LOCK(sc); + if (cmd == POLL_DEREGISTER) { /* final call, enable interrupts */ + CSR_WRITE_2(sc, STE_IMR, STE_INTRS); + goto done; + } + + sc->rxcycles = count; + ste_rxeof(sc); + ste_txeof(sc); + if (ifp->if_snd.ifq_head != NULL) + ste_start(ifp); + + if (cmd == POLL_AND_CHECK_STATUS) { /* also check status register */ + u_int16_t status; + + status = CSR_READ_2(sc, STE_ISR_ACK); + + if (status & STE_ISR_TX_DONE) + ste_txeoc(sc); + + if (status & STE_ISR_STATS_OFLOW) { + untimeout(ste_stats_update, sc, sc->ste_stat_ch); + ste_stats_update(sc); + } + + if (status & STE_ISR_LINKEVENT) + mii_pollstat(device_get_softc(sc->ste_miibus)); + + if (status & STE_ISR_HOSTERR) { + ste_reset(sc); + ste_init(sc); + } + } +done: + STE_UNLOCK(sc); +} +#endif /* DEVICE_POLLING */ + +static void ste_intr(xsc) void *xsc; { @@ -634,6 +684,16 @@ STE_LOCK(sc); ifp = &sc->arpcom.ac_if; +#ifdef DEVICE_POLLING + if (ifp->if_flags & IFF_POLLING) + goto done; + if (ether_poll_register(ste_poll, ifp)) { /* ok, disable interrupts */ + CSR_WRITE_2(sc, STE_IMR, 0); + ste_poll(ifp, 0, 1); + goto done; + } +#endif /* DEVICE_POLLING */ + /* See if this is really our interrupt. */ if (!(CSR_READ_2(sc, STE_ISR) & STE_ISR_INTLATCH)) { STE_UNLOCK(sc); @@ -676,6 +736,9 @@ if (ifp->if_snd.ifq_head != NULL) ste_start(ifp); +#ifdef DEVICE_POLLING +done: +#endif /* DEVICE_POLLING */ STE_UNLOCK(sc); return; @@ -699,8 +762,28 @@ ifp = &sc->arpcom.ac_if; + if (sc->ste_cdata.ste_rx_head->ste_ptr->ste_status == 0) { + cur_rx = sc->ste_cdata.ste_rx_head; + do { + cur_rx = cur_rx->ste_next; + /* If the ring is empty, just return. */ + if (cur_rx == sc->ste_cdata.ste_rx_head) + return; + } while (cur_rx->ste_ptr->ste_status == 0); + /* We've fallen behind the chip: catch it. */ + sc->ste_cdata.ste_rx_head = cur_rx; + ++ste_rxsyncs; + }; + while((rxstat = sc->ste_cdata.ste_rx_head->ste_ptr->ste_status) & STE_RXSTAT_DMADONE) { +#ifdef DEVICE_POLLING + if (ifp->if_flags & IFF_POLLING) { + if (sc->rxcycles <= 0) + break; + sc->rxcycles--; + } +#endif /* DEVICE_POLLING */ if ((STE_RX_LIST_CNT - count) < 3) { break; } @@ -1223,7 +1306,7 @@ } /* Set RX polling interval */ - CSR_WRITE_1(sc, STE_RX_DMAPOLL_PERIOD, 1); + CSR_WRITE_1(sc, STE_RX_DMAPOLL_PERIOD, 64); /* Init TX descriptors */ ste_init_tx_list(sc); @@ -1285,8 +1368,14 @@ /* Enable stats counters. */ STE_SETBIT2(sc, STE_MACCTL1, STE_MACCTL1_STATS_ENABLE); + CSR_WRITE_2(sc, STE_ISR, 0xFFFF); +#ifdef DEVICE_POLLING + /* Disable interrupts if we are polling. */ + if (ifp->if_flags & IFF_POLLING) + CSR_WRITE_2(sc, STE_IMR, 0); + else +#endif /* DEVICE_POLLING */ /* Enable interrupts. */ - CSR_WRITE_2(sc, STE_ISR, 0xFFFF); CSR_WRITE_2(sc, STE_IMR, STE_INTRS); /* Accept VLAN length packets */ @@ -1314,6 +1403,10 @@ ifp = &sc->arpcom.ac_if; untimeout(ste_stats_update, sc, sc->ste_stat_ch); + ifp->if_flags &= ~(IFF_RUNNING|IFF_OACTIVE); +#ifdef DEVICE_POLLING + ether_poll_deregister(ifp); +#endif /* DEVICE_POLLING */ CSR_WRITE_2(sc, STE_IMR, 0); STE_SETBIT2(sc, STE_MACCTL1, STE_MACCTL1_TX_DISABLE); @@ -1345,8 +1438,6 @@ } bzero(sc->ste_ldata, sizeof(struct ste_list_data)); - - ifp->if_flags &= ~(IFF_RUNNING|IFF_OACTIVE); STE_UNLOCK(sc); return; ==== //depot/projects/power/sys/pci/if_stereg.h#4 (text+ko) ==== @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/pci/if_stereg.h,v 1.12 2003/11/14 19:00:32 sam Exp $ + * $FreeBSD: src/sys/pci/if_stereg.h,v 1.13 2004/03/31 20:39:20 ru Exp $ */ /* @@ -526,6 +526,9 @@ struct callout_handle ste_stat_ch; struct mtx ste_mtx; u_int8_t ste_one_phy; +#ifdef DEVICE_POLLING + int rxcycles; +#endif }; #define STE_LOCK(_sc) mtx_lock(&(_sc)->ste_mtx) ==== //depot/projects/power/sys/sys/proc.h#8 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)proc.h 8.15 (Berkeley) 5/19/95 - * $FreeBSD: src/sys/sys/proc.h,v 1.371 2004/03/28 04:17:36 bde Exp $ + * $FreeBSD: src/sys/sys/proc.h,v 1.372 2004/04/01 00:10:45 pjd Exp $ */ #ifndef _SYS_PROC_H_ @@ -806,7 +806,6 @@ extern int nprocs, maxproc; /* Current and max number of procs. */ extern int maxprocperuid; /* Max procs per uid. */ extern u_long ps_arg_cache_limit; -extern int ps_argsopen; extern int sched_quantum; /* Scheduling quantum in ticks. */ LIST_HEAD(proclist, proc); From owner-p4-projects@FreeBSD.ORG Wed Mar 31 19:01:04 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A7BFB16A4D1; Wed, 31 Mar 2004 19:01:04 -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 7E3BA16A4CE for ; Wed, 31 Mar 2004 19:01:04 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5FBD243D46 for ; Wed, 31 Mar 2004 19:01:04 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i31314Ge075332 for ; Wed, 31 Mar 2004 19:01:04 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i31313g5075329 for perforce@freebsd.org; Wed, 31 Mar 2004 19:01:03 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Wed, 31 Mar 2004 19:01:03 -0800 (PST) Message-Id: <200404010301.i31313g5075329@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50097 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: Thu, 01 Apr 2004 03:01:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=50097 Change 50097 by marcel@marcel_nfs on 2004/03/31 19:00:08 Fix a typo: when we switch threads for the T command, actually switch back to the previous thread. Spotted by: jhb Affected files ... .. //depot/projects/gdb/sys/gdb/gdb_main.c#12 edit Differences ... ==== //depot/projects/gdb/sys/gdb/gdb_main.c#12 (text+ko) ==== @@ -202,7 +202,7 @@ gdb_tx_ok(); else gdb_tx_err(ENOENT); - kdb_set_thread(tid); + kdb_set_thread(curtid); break; } case -1: From owner-p4-projects@FreeBSD.ORG Wed Mar 31 20:19:45 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 79EEE16A4D1; Wed, 31 Mar 2004 20:19:45 -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 42AAE16A4CF for ; Wed, 31 Mar 2004 20:19:45 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 34FB143D45 for ; Wed, 31 Mar 2004 20:19:45 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i314JjGe093598 for ; Wed, 31 Mar 2004 20:19:45 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i314JdNa093595 for perforce@freebsd.org; Wed, 31 Mar 2004 20:19:39 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Wed, 31 Mar 2004 20:19:39 -0800 (PST) Message-Id: <200404010419.i314JdNa093595@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50098 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: Thu, 01 Apr 2004 04:19:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=50098 Change 50098 by marcel@marcel_nfs on 2004/03/31 20:18:42 IFC @50096 Affected files ... .. //depot/projects/gdb/bin/ps/ps.1#6 integrate .. //depot/projects/gdb/bin/ps/ps.c#6 integrate .. //depot/projects/gdb/contrib/libpcap/.cvsignore#2 integrate .. //depot/projects/gdb/contrib/libpcap/CHANGES#2 integrate .. //depot/projects/gdb/contrib/libpcap/CREDITS#2 integrate .. //depot/projects/gdb/contrib/libpcap/FILES#2 integrate .. //depot/projects/gdb/contrib/libpcap/INSTALL.txt#2 integrate .. //depot/projects/gdb/contrib/libpcap/Makefile.in#2 integrate .. //depot/projects/gdb/contrib/libpcap/README#2 integrate .. //depot/projects/gdb/contrib/libpcap/README.Win32#1 branch .. //depot/projects/gdb/contrib/libpcap/README.aix#2 integrate .. //depot/projects/gdb/contrib/libpcap/README.dag#1 branch .. //depot/projects/gdb/contrib/libpcap/README.hpux#1 branch .. //depot/projects/gdb/contrib/libpcap/VERSION#2 integrate .. //depot/projects/gdb/contrib/libpcap/atmuni31.h#1 branch .. //depot/projects/gdb/contrib/libpcap/bpf/net/bpf.h#2 delete .. //depot/projects/gdb/contrib/libpcap/bpf/net/bpf_filter.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/bpf_dump.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/bpf_image.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/config.guess#2 integrate .. //depot/projects/gdb/contrib/libpcap/config.h.in#2 integrate .. //depot/projects/gdb/contrib/libpcap/config.sub#2 integrate .. //depot/projects/gdb/contrib/libpcap/configure#2 integrate .. //depot/projects/gdb/contrib/libpcap/configure.in#2 integrate .. //depot/projects/gdb/contrib/libpcap/etherent.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/fad-getad.c#1 branch .. //depot/projects/gdb/contrib/libpcap/fad-gifc.c#1 branch .. //depot/projects/gdb/contrib/libpcap/fad-glifc.c#1 branch .. //depot/projects/gdb/contrib/libpcap/fad-null.c#1 branch .. //depot/projects/gdb/contrib/libpcap/fad-win32.c#1 branch .. //depot/projects/gdb/contrib/libpcap/gencode.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/gencode.h#2 integrate .. //depot/projects/gdb/contrib/libpcap/grammar.y#2 integrate .. //depot/projects/gdb/contrib/libpcap/inet.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/lbl/os-aix4.h#1 branch .. //depot/projects/gdb/contrib/libpcap/lbl/os-hpux11.h#1 branch .. //depot/projects/gdb/contrib/libpcap/lbl/os-osf5.h#1 branch .. //depot/projects/gdb/contrib/libpcap/nametoaddr.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/nlpid.h#2 integrate .. //depot/projects/gdb/contrib/libpcap/optimize.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/pcap-bpf.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/pcap-bpf.h#1 branch .. //depot/projects/gdb/contrib/libpcap/pcap-dag.c#1 branch .. //depot/projects/gdb/contrib/libpcap/pcap-dag.h#1 branch .. //depot/projects/gdb/contrib/libpcap/pcap-dlpi.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/pcap-enet.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/pcap-int.h#2 integrate .. //depot/projects/gdb/contrib/libpcap/pcap-linux.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/pcap-nit.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/pcap-null.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/pcap-pf.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/pcap-snit.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/pcap-snoop.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/pcap-stdinc.h#1 branch .. //depot/projects/gdb/contrib/libpcap/pcap-win32.c#1 branch .. //depot/projects/gdb/contrib/libpcap/pcap.3#2 integrate .. //depot/projects/gdb/contrib/libpcap/pcap.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/pcap.h#2 integrate .. //depot/projects/gdb/contrib/libpcap/pf.h#1 branch .. //depot/projects/gdb/contrib/libpcap/rawss7.h#1 branch .. //depot/projects/gdb/contrib/libpcap/savefile.c#2 integrate .. //depot/projects/gdb/contrib/libpcap/scanner.l#2 integrate .. //depot/projects/gdb/contrib/libpcap/sll.h#2 integrate .. //depot/projects/gdb/contrib/libpcap/snprintf.c#1 branch .. //depot/projects/gdb/contrib/libpcap/sunatmpos.h#1 branch .. //depot/projects/gdb/contrib/tcpdump/CHANGES#2 integrate .. //depot/projects/gdb/contrib/tcpdump/CREDITS#2 integrate .. //depot/projects/gdb/contrib/tcpdump/FILES#2 integrate .. //depot/projects/gdb/contrib/tcpdump/INSTALL#2 integrate .. //depot/projects/gdb/contrib/tcpdump/Makefile.in#2 integrate .. //depot/projects/gdb/contrib/tcpdump/README#2 integrate .. //depot/projects/gdb/contrib/tcpdump/Readme.Win32#1 branch .. //depot/projects/gdb/contrib/tcpdump/VERSION#2 integrate .. //depot/projects/gdb/contrib/tcpdump/acconfig.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/addrtoname.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/aodv.h#1 branch .. //depot/projects/gdb/contrib/tcpdump/appletalk.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/arcnet.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/atm.h#1 branch .. //depot/projects/gdb/contrib/tcpdump/atmuni31.h#1 branch .. //depot/projects/gdb/contrib/tcpdump/bootp.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/bpf_dump.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/config.guess#2 integrate .. //depot/projects/gdb/contrib/tcpdump/config.h.in#2 integrate .. //depot/projects/gdb/contrib/tcpdump/config.sub#2 integrate .. //depot/projects/gdb/contrib/tcpdump/configure#2 integrate .. //depot/projects/gdb/contrib/tcpdump/configure.in#2 integrate .. //depot/projects/gdb/contrib/tcpdump/decnet.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/enc.h#1 branch .. //depot/projects/gdb/contrib/tcpdump/ether.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/ethertype.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/extract.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/fddi.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/gmpls.c#1 branch .. //depot/projects/gdb/contrib/tcpdump/gmpls.h#1 branch .. //depot/projects/gdb/contrib/tcpdump/gmt2local.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/icmp6.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/ieee802_11.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/igrp.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/interface.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/ip.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/ip6.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/ipfc.h#1 branch .. //depot/projects/gdb/contrib/tcpdump/ipproto.h#1 branch .. //depot/projects/gdb/contrib/tcpdump/ipsec_doi.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/ipx.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/isakmp.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/lane.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/lbl/os-osf4.h#1 branch .. //depot/projects/gdb/contrib/tcpdump/llc.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/machdep.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/missing/addrinfo.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/missing/addrsize.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/missing/bittypes.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/missing/datalinks.c#1 branch .. //depot/projects/gdb/contrib/tcpdump/missing/dlnames.c#1 branch .. //depot/projects/gdb/contrib/tcpdump/missing/getaddrinfo.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/missing/getnameinfo.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/missing/inet_aton.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/missing/inet_ntop.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/missing/inet_pton.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/missing/resolv6.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/missing/resolv_ext.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/missing/snprintf.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/missing/sockstorage.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/missing/strlcat.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/missing/strlcpy.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/missing/strsep.c#1 branch .. //depot/projects/gdb/contrib/tcpdump/nameser.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/netbios.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/nfs.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/nfsfh.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/ntp.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/oakley.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/ospf.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/ospf6.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/oui.c#1 branch .. //depot/projects/gdb/contrib/tcpdump/oui.h#1 branch .. //depot/projects/gdb/contrib/tcpdump/parsenfsfh.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/pcap-missing.h#1 branch .. //depot/projects/gdb/contrib/tcpdump/pf.h#1 branch .. //depot/projects/gdb/contrib/tcpdump/ppp.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-802_11.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-ah.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-aodv.c#1 branch .. //depot/projects/gdb/contrib/tcpdump/print-ap1394.c#1 branch .. //depot/projects/gdb/contrib/tcpdump/print-arcnet.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-arp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-ascii.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-atalk.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-atm.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-beep.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-bfd.c#1 branch .. //depot/projects/gdb/contrib/tcpdump/print-bgp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-bootp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-cdp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-chdlc.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-cip.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-cnfp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-decnet.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-dhcp6.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-domain.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-dvmrp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-egp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-enc.c#1 branch .. //depot/projects/gdb/contrib/tcpdump/print-esp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-ether.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-fddi.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-fr.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-frag6.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-gre.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-hsrp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-icmp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-icmp6.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-igmp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-igrp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-ip.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-ip6.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-ip6opts.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-ipcomp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-ipfc.c#1 branch .. //depot/projects/gdb/contrib/tcpdump/print-ipx.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-isakmp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-isoclns.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-krb.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-l2tp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-lane.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-lcp.c#2 delete .. //depot/projects/gdb/contrib/tcpdump/print-ldp.c#1 branch .. //depot/projects/gdb/contrib/tcpdump/print-llc.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-lwres.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-mobile.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-mobility.c#1 branch .. //depot/projects/gdb/contrib/tcpdump/print-mpls.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-msdp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-netbios.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-nfs.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-ntp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-null.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-ospf.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-ospf6.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-pflog.c#1 branch .. //depot/projects/gdb/contrib/tcpdump/print-pim.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-ppp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-pppoe.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-pptp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-radius.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-raw.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-rip.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-ripng.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-rsvp.c#1 branch .. //depot/projects/gdb/contrib/tcpdump/print-rt6.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-rx.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-sctp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-sl.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-sll.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-smb.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-snmp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-stp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-sunatm.c#1 branch .. //depot/projects/gdb/contrib/tcpdump/print-sunrpc.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-tcp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-telnet.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-tftp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-timed.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-token.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-udp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-vjc.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-vrrp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-wb.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/print-zephyr.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/route6d.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/rx.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/sctpConstants.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/sctpHeader.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/setsignal.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/sll.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/smb.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/smbutil.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/strcasecmp.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/tcp.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/tcpdump-stdinc.h#1 branch .. //depot/projects/gdb/contrib/tcpdump/tcpdump.1#2 integrate .. //depot/projects/gdb/contrib/tcpdump/tcpdump.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/telnet.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/timed.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/token.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/udp.h#2 integrate .. //depot/projects/gdb/contrib/tcpdump/util.c#2 integrate .. //depot/projects/gdb/contrib/tcpdump/vfprintf.c#2 integrate .. //depot/projects/gdb/etc/master.passwd#3 integrate .. //depot/projects/gdb/etc/mtree/BSD.local.dist#4 integrate .. //depot/projects/gdb/etc/mtree/BSD.usr.dist#4 integrate .. //depot/projects/gdb/etc/rc.d/initdiskless#5 integrate .. //depot/projects/gdb/etc/rc.d/ntpdate#5 integrate .. //depot/projects/gdb/lib/libalias/Makefile#3 integrate .. //depot/projects/gdb/lib/libalias/alias.c#4 integrate .. //depot/projects/gdb/lib/libalias/alias_local.h#4 integrate .. //depot/projects/gdb/lib/libalias/alias_pptp.c#4 integrate .. //depot/projects/gdb/lib/libalias/alias_util.c#4 integrate .. //depot/projects/gdb/lib/libc/amd64/gen/makecontext.c#2 integrate .. //depot/projects/gdb/lib/libc/amd64/gen/signalcontext.c#2 integrate .. //depot/projects/gdb/lib/libc/include/nss_tls.h#2 integrate .. //depot/projects/gdb/lib/libc/locale/Makefile.inc#2 integrate .. //depot/projects/gdb/lib/libc/locale/ctype.3#2 integrate .. //depot/projects/gdb/lib/libc/locale/digittoint.3#2 integrate .. //depot/projects/gdb/lib/libc/locale/isdigit.3#2 integrate .. //depot/projects/gdb/lib/libc/locale/isideogram.3#1 branch .. //depot/projects/gdb/lib/libc/locale/isphonogram.3#1 branch .. //depot/projects/gdb/lib/libc/locale/isrune.3#1 branch .. //depot/projects/gdb/lib/libc/locale/isspecial.3#1 branch .. //depot/projects/gdb/lib/libc/locale/isxdigit.3#2 integrate .. //depot/projects/gdb/lib/libc/net/nsdispatch.c#3 integrate .. //depot/projects/gdb/lib/libc/net/nss_compat.c#2 integrate .. //depot/projects/gdb/lib/libdisk/Makefile#3 integrate .. //depot/projects/gdb/lib/libdisk/disk.c#2 integrate .. //depot/projects/gdb/lib/libdisk/libdisk.h#3 integrate .. //depot/projects/gdb/lib/libdisk/open_disk.c#3 integrate .. //depot/projects/gdb/lib/libdisk/rules.c#3 integrate .. //depot/projects/gdb/lib/libdisk/write_i386_disk.c#2 integrate .. //depot/projects/gdb/lib/libdisk/write_pc98_disk.c#2 integrate .. //depot/projects/gdb/lib/libkvm/kvm_proc.c#3 integrate .. //depot/projects/gdb/lib/libpcap/Makefile#2 integrate .. //depot/projects/gdb/lib/libpcap/config.h#2 integrate .. //depot/projects/gdb/lib/libthr/thread/Makefile.inc#3 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_cond.c#3 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_create.c#3 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_detach.c#2 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_exit.c#3 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_gc.c#2 delete .. //depot/projects/gdb/lib/libthr/thread/thr_init.c#3 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_join.c#2 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_mattr_kind_np.c#2 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_mutex.c#4 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_private.h#4 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_sig.c#4 integrate .. //depot/projects/gdb/libexec/fingerd/Makefile#2 integrate .. //depot/projects/gdb/libexec/fingerd/fingerd.c#2 integrate .. //depot/projects/gdb/libexec/rtld-elf/rtld.c#4 integrate .. //depot/projects/gdb/release/doc/en_US.ISO8859-1/errata/article.sgml#4 integrate .. //depot/projects/gdb/sbin/bsdlabel/bsdlabel.8#2 integrate .. //depot/projects/gdb/sbin/bsdlabel/bsdlabel.c#3 integrate .. //depot/projects/gdb/sbin/fsck_ffs/pass5.c#3 integrate .. //depot/projects/gdb/sbin/ifconfig/ifconfig.8#4 integrate .. //depot/projects/gdb/sbin/ifconfig/ifconfig.c#6 integrate .. //depot/projects/gdb/sbin/ifconfig/ifconfig.h#3 integrate .. //depot/projects/gdb/sbin/ifconfig/ifieee80211.c#2 integrate .. //depot/projects/gdb/secure/lib/libcrypto/Makefile.inc#3 integrate .. //depot/projects/gdb/share/man/man4/ieee80211.4#2 integrate .. //depot/projects/gdb/share/man/man4/ng_sppp.4#1 branch .. //depot/projects/gdb/share/man/man4/polling.4#3 integrate .. //depot/projects/gdb/share/man/man5/rc.conf.5#6 integrate .. //depot/projects/gdb/share/man/man9/copy.9#2 integrate .. //depot/projects/gdb/share/man/man9/ieee80211_radiotap.9#2 integrate .. //depot/projects/gdb/share/monetdef/Makefile#4 integrate .. //depot/projects/gdb/share/monetdef/ja_JP.UTF-8.src#1 branch .. //depot/projects/gdb/share/monetdef/ko_KR.UTF-8.src#1 branch .. //depot/projects/gdb/sys/alpha/alpha/vm_machdep.c#3 integrate .. //depot/projects/gdb/sys/alpha/linux/linux_dummy.c#2 integrate .. //depot/projects/gdb/sys/alpha/linux/linux_proto.h#4 integrate .. //depot/projects/gdb/sys/alpha/linux/linux_syscall.h#4 integrate .. //depot/projects/gdb/sys/alpha/linux/linux_sysent.c#4 integrate .. //depot/projects/gdb/sys/alpha/linux/syscalls.master#4 integrate .. //depot/projects/gdb/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/gdb/sys/amd64/amd64/support.S#2 integrate .. //depot/projects/gdb/sys/amd64/amd64/vm_machdep.c#5 integrate .. //depot/projects/gdb/sys/amd64/include/md_var.h#3 integrate .. //depot/projects/gdb/sys/compat/linprocfs/linprocfs.c#3 integrate .. //depot/projects/gdb/sys/compat/ndis/kern_ndis.c#8 integrate .. //depot/projects/gdb/sys/compat/ndis/ndis_var.h#4 integrate .. //depot/projects/gdb/sys/compat/ndis/ntoskrnl_var.h#6 integrate .. //depot/projects/gdb/sys/compat/ndis/resource_var.h#2 integrate .. //depot/projects/gdb/sys/conf/NOTES#8 integrate .. //depot/projects/gdb/sys/conf/files.i386#8 integrate .. //depot/projects/gdb/sys/conf/kern.pre.mk#7 integrate .. //depot/projects/gdb/sys/conf/options#9 integrate .. //depot/projects/gdb/sys/contrib/dev/oltr/if_oltr.c#3 integrate .. //depot/projects/gdb/sys/contrib/pf/net/pf.c#3 integrate .. //depot/projects/gdb/sys/contrib/pf/net/pf_ioctl.c#4 integrate .. //depot/projects/gdb/sys/dev/acpica/acpi.c#7 integrate .. //depot/projects/gdb/sys/dev/acpica/acpi_pci.c#3 integrate .. //depot/projects/gdb/sys/dev/acpica/acpi_resource.c#3 integrate .. //depot/projects/gdb/sys/dev/acpica/acpivar.h#5 integrate .. //depot/projects/gdb/sys/dev/ath/if_ath.c#4 integrate .. //depot/projects/gdb/sys/dev/ath/if_athvar.h#2 integrate .. //depot/projects/gdb/sys/dev/if_ndis/if_ndis.c#8 integrate .. //depot/projects/gdb/sys/dev/md/md.c#5 integrate .. //depot/projects/gdb/sys/dev/nge/if_nge.c#3 integrate .. //depot/projects/gdb/sys/dev/sound/pci/ich.c#4 integrate .. //depot/projects/gdb/sys/dev/twa/twa.c#1 branch .. //depot/projects/gdb/sys/dev/twa/twa.h#1 branch .. //depot/projects/gdb/sys/dev/twa/twa_cam.c#1 branch .. //depot/projects/gdb/sys/dev/twa/twa_externs.h#1 branch .. //depot/projects/gdb/sys/dev/twa/twa_freebsd.c#1 branch .. //depot/projects/gdb/sys/dev/twa/twa_fwimg.c#1 branch .. //depot/projects/gdb/sys/dev/twa/twa_globals.c#1 branch .. //depot/projects/gdb/sys/dev/twa/twa_includes.h#1 branch .. //depot/projects/gdb/sys/dev/twa/twa_ioctl.h#1 branch .. //depot/projects/gdb/sys/dev/twa/twa_reg.h#1 branch .. //depot/projects/gdb/sys/dev/wi/if_wi.c#4 integrate .. //depot/projects/gdb/sys/dev/wi/if_wivar.h#2 integrate .. //depot/projects/gdb/sys/fs/fifofs/fifo_vnops.c#2 integrate .. //depot/projects/gdb/sys/fs/portalfs/portal_vnops.c#3 integrate .. //depot/projects/gdb/sys/fs/procfs/procfs_status.c#2 integrate .. //depot/projects/gdb/sys/fs/udf/udf_vfsops.c#2 integrate .. //depot/projects/gdb/sys/fs/udf/udf_vnops.c#3 integrate .. //depot/projects/gdb/sys/fs/umapfs/umap_vnops.c#2 integrate .. //depot/projects/gdb/sys/geom/geom_apple.c#3 integrate .. //depot/projects/gdb/sys/i386/conf/GENERIC#4 integrate .. //depot/projects/gdb/sys/i386/i386/vm_machdep.c#6 integrate .. //depot/projects/gdb/sys/i386/ibcs2/ibcs2_proto.h#3 integrate .. //depot/projects/gdb/sys/i386/ibcs2/ibcs2_syscall.h#3 integrate .. //depot/projects/gdb/sys/i386/ibcs2/ibcs2_sysent.c#3 integrate .. //depot/projects/gdb/sys/i386/ibcs2/syscalls.master#3 integrate .. //depot/projects/gdb/sys/i386/linux/linux_dummy.c#2 integrate .. //depot/projects/gdb/sys/i386/linux/linux_proto.h#4 integrate .. //depot/projects/gdb/sys/i386/linux/linux_syscall.h#4 integrate .. //depot/projects/gdb/sys/i386/linux/linux_sysent.c#4 integrate .. //depot/projects/gdb/sys/i386/linux/syscalls.master#4 integrate .. //depot/projects/gdb/sys/kern/kern_descrip.c#4 integrate .. //depot/projects/gdb/sys/kern/kern_exec.c#5 integrate .. //depot/projects/gdb/sys/kern/kern_proc.c#4 integrate .. //depot/projects/gdb/sys/kern/kern_sig.c#4 integrate .. //depot/projects/gdb/sys/kern/subr_param.c#4 integrate .. //depot/projects/gdb/sys/kern/subr_trap.c#5 integrate .. //depot/projects/gdb/sys/kern/sys_socket.c#2 integrate .. //depot/projects/gdb/sys/kern/uipc_domain.c#2 integrate .. //depot/projects/gdb/sys/kern/uipc_socket.c#4 integrate .. //depot/projects/gdb/sys/kern/uipc_syscalls.c#5 integrate .. //depot/projects/gdb/sys/kern/uipc_usrreq.c#4 integrate .. //depot/projects/gdb/sys/kern/vfs_default.c#2 integrate .. //depot/projects/gdb/sys/kern/vfs_subr.c#5 integrate .. //depot/projects/gdb/sys/libkern/index.c#2 integrate .. //depot/projects/gdb/sys/libkern/rindex.c#2 integrate .. //depot/projects/gdb/sys/modules/Makefile#7 integrate .. //depot/projects/gdb/sys/modules/twa/Makefile#1 branch .. //depot/projects/gdb/sys/net/bpf.h#3 integrate .. //depot/projects/gdb/sys/net/bpfdesc.h#3 integrate .. //depot/projects/gdb/sys/net/if_sl.c#2 integrate .. //depot/projects/gdb/sys/net/if_tun.c#4 integrate .. //depot/projects/gdb/sys/net80211/ieee80211_ioctl.c#3 integrate .. //depot/projects/gdb/sys/net80211/ieee80211_ioctl.h#2 integrate .. //depot/projects/gdb/sys/net80211/ieee80211_node.c#2 integrate .. //depot/projects/gdb/sys/net80211/ieee80211_proto.c#2 integrate .. //depot/projects/gdb/sys/net80211/ieee80211_var.h#3 integrate .. //depot/projects/gdb/sys/netinet/ip_input.c#4 integrate .. //depot/projects/gdb/sys/netinet/tcp_usrreq.c#4 integrate .. //depot/projects/gdb/sys/pc98/conf/NOTES#5 integrate .. //depot/projects/gdb/sys/pc98/i386/machdep.c#4 integrate .. //depot/projects/gdb/sys/pc98/pc98/clock.c#3 integrate .. //depot/projects/gdb/sys/pc98/pc98/fd.c#4 integrate .. //depot/projects/gdb/sys/pci/if_sk.c#4 integrate .. //depot/projects/gdb/sys/pci/if_skreg.h#2 integrate .. //depot/projects/gdb/sys/pci/if_ste.c#4 integrate .. //depot/projects/gdb/sys/pci/if_stereg.h#2 integrate .. //depot/projects/gdb/sys/powerpc/powermac/ata_kauai.c#3 integrate .. //depot/projects/gdb/sys/powerpc/powerpc/vm_machdep.c#4 integrate .. //depot/projects/gdb/sys/sparc64/sparc64/vm_machdep.c#4 integrate .. //depot/projects/gdb/sys/sys/mutex.h#3 integrate .. //depot/projects/gdb/sys/sys/proc.h#9 integrate .. //depot/projects/gdb/sys/sys/tree.h#4 integrate .. //depot/projects/gdb/sys/sys/un.h#2 integrate .. //depot/projects/gdb/sys/sys/vnode.h#3 integrate .. //depot/projects/gdb/tools/lib32/README#1 branch .. //depot/projects/gdb/tools/lib32/build32.sh#1 branch .. //depot/projects/gdb/tools/tools/README#2 integrate .. //depot/projects/gdb/tools/tools/gdb_regofs/Makefile#1 branch .. //depot/projects/gdb/tools/tools/gdb_regofs/ia64.c#1 branch .. //depot/projects/gdb/tools/tools/nanobsd/i386.diskimage#3 integrate .. //depot/projects/gdb/tools/tools/tinderbox/tinderbox.pl#5 integrate .. //depot/projects/gdb/usr.bin/calendar/calendar.1#2 integrate .. //depot/projects/gdb/usr.bin/pkill/pkill.c#2 integrate .. //depot/projects/gdb/usr.sbin/adduser/Makefile#2 integrate .. //depot/projects/gdb/usr.sbin/adduser/adduser.8#3 integrate .. //depot/projects/gdb/usr.sbin/adduser/adduser.conf.5#1 branch .. //depot/projects/gdb/usr.sbin/adduser/adduser.sh#3 integrate .. //depot/projects/gdb/usr.sbin/diskinfo/diskinfo.8#2 integrate .. //depot/projects/gdb/usr.sbin/diskinfo/diskinfo.c#2 integrate .. //depot/projects/gdb/usr.sbin/fdcontrol/Makefile#3 integrate .. //depot/projects/gdb/usr.sbin/fdformat/Makefile#2 integrate .. //depot/projects/gdb/usr.sbin/fdread/Makefile#2 integrate .. //depot/projects/gdb/usr.sbin/fdread/fdutil.c#3 integrate .. //depot/projects/gdb/usr.sbin/ndp/Makefile#2 integrate .. //depot/projects/gdb/usr.sbin/nfsd/nfsd.8#2 integrate .. //depot/projects/gdb/usr.sbin/pkg_install/info/main.c#2 integrate .. //depot/projects/gdb/usr.sbin/pkg_install/info/pkg_info.1#2 integrate .. //depot/projects/gdb/usr.sbin/setkey/parse.y#3 integrate .. //depot/projects/gdb/usr.sbin/tcpdump/tcpdump/Makefile#2 integrate .. //depot/projects/gdb/usr.sbin/tcpdump/tcpdump/config.h#2 integrate Differences ... ==== //depot/projects/gdb/bin/ps/ps.1#6 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/ps/ps.1,v 1.72 2004/03/27 18:26:40 gad Exp $ +.\" $FreeBSD: src/bin/ps/ps.1,v 1.73 2004/03/31 23:51:12 gad Exp $ .\" .Dd March 27, 2004 .Dt PS 1 @@ -67,10 +67,9 @@ The .Nm utility -displays a header line followed by lines containing information about your +displays a header line, followed by lines containing information about +all of your processes that have controlling terminals. -This information is sorted by controlling terminal, then by process -.Tn ID . .Pp A different set of processes can be selected for display by using any combination of the @@ -83,6 +82,24 @@ will select all processes which are matched by at least one of the given options. .Pp +For the processes which have been selected for display, +.Nm +will usually display one line per process. +The +.Fl H +option may result in multiple output lines (one line per thread) for +some processes. +By default all of these output lines are sorted first by controlling +terminal, then by process +.Tn ID . +The +.Fl m, r, u, +and +.Fl v +options will change the sort order. +If more than one sorting option was given, then the selected processes +will be sorted by the last sorting option which was specified. +.Pp For the processes which have been selected for display, the information to display is selected based on a set of keywords (see the .Fl L @@ -141,7 +158,11 @@ Print information associated with the following keywords: user, pid, ppid, pgid, jobc, state, tt, time and command. .It Fl L -List the set of available keywords. +List the set of keywords available for the +.Fl O +and +.Fl o +options. .It Fl l Display information associated with the following keywords: uid, pid, ppid, cpu, pri, nice, vsz, rss, mwchan, state, tt, time @@ -150,7 +171,8 @@ Extract values associated with the name list from the specified core instead of the currently running system. .It Fl m -Sort by memory usage, instead of by process +Sort by memory usage, instead of the combination of controlling +terminal and process .Tn ID . .It Fl N Extract the name list from the specified system instead of the default, @@ -177,7 +199,8 @@ Display information about processes which match the specified process .Tn ID(s) . .It Fl r -Sort by current cpu usage, instead of by process +Sort by current cpu usage, instead of the combination of controlling +terminal and process .Tn ID . .It Fl S Change the way the process time is calculated by summing all exited ==== //depot/projects/gdb/bin/ps/ps.c#6 (text+ko) ==== @@ -51,9 +51,10 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.72 2004/03/28 03:00:56 gad Exp $"); +__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.84 2004/03/30 04:20:33 gad Exp $"); #include +#include #include #include #include @@ -80,21 +81,36 @@ #define W_SEP " \t" /* "Whitespace" list separators */ #define T_SEP "," /* "Terminate-element" list separators */ -static KINFO *kinfo; +#ifdef LAZY_PS +#define DEF_UREAD 0 +#define OPT_LAZY_f "f" +#else +#define DEF_UREAD 1 /* Always do the more-expensive read. */ +#define OPT_LAZY_f /* I.e., the `-f' option is not added. */ +#endif + +int cflag; /* -c */ +int eval; /* Exit value */ +time_t now; /* Current time(3) value */ +int rawcpu; /* -C */ +int sumrusage; /* -S */ +int termwidth; /* Width of the screen (0 == infinity). */ +int totwidth; /* Calculated-width of requested variables. */ + struct varent *vhead; -int eval; /* exit value */ -int cflag; /* -c */ -int optfatal; /* Fatal error parsing some list-option */ -int rawcpu; /* -C */ -int sumrusage; /* -S */ -int termwidth; /* width of screen (0 == infinity) */ -int totwidth; /* calculated width of requested variables */ +static int forceuread = DEF_UREAD; /* Do extra work to get u-area. */ +static kvm_t *kd; +static KINFO *kinfo; +static int needcomm; /* -o "command" */ +static int needenv; /* -e */ +static int needuser; /* -o "user" */ +static int optfatal; /* Fatal error parsing some list-option. */ -time_t now; /* current time(3) value */ +static enum sort { DEFAULT, SORTMEM, SORTCPU } sortby = DEFAULT; struct listinfo; -typedef int addelem_rtn(struct listinfo *_inf, const char *elem); +typedef int addelem_rtn(struct listinfo *_inf, const char *_elem); struct listinfo { int count; @@ -111,48 +127,36 @@ }; }; -static int needuser, needcomm, needenv; - -#ifdef LAZY_PS -static int forceuread = 0; -#define OPT_LAZY_f "f" -#else -static int forceuread = 1; -#define OPT_LAZY_f /* Ie, the `-f' option is not added. */ -#endif - -static enum sort { DEFAULT, SORTMEM, SORTCPU } sortby = DEFAULT; - -static const char *fmt(char **(*)(kvm_t *, const struct kinfo_proc *, int), - KINFO *, char *, int); -static char *kludge_oldps_options(char *); -static int pscomp(const void *, const void *); -static void saveuser(KINFO *); -static void scanvars(void); -static void dynsizevars(KINFO *); -static void sizevars(void); -static void usage(void); - static int addelem_gid(struct listinfo *, const char *); static int addelem_pid(struct listinfo *, const char *); static int addelem_tty(struct listinfo *, const char *); static int addelem_uid(struct listinfo *, const char *); static void add_list(struct listinfo *, const char *); +static void dynsizevars(KINFO *); static void *expand_list(struct listinfo *); +static const char * + fmt(char **(*)(kvm_t *, const struct kinfo_proc *, int), + KINFO *, char *, int); static void free_list(struct listinfo *); static void init_list(struct listinfo *, addelem_rtn, int, const char *); +static char *kludge_oldps_options(char *); +static int pscomp(const void *, const void *); +static void saveuser(KINFO *); +static void scanvars(void); +static void sizevars(void); +static void usage(void); static char dfmt[] = "pid,tt,state,time,command"; static char jfmt[] = "user,pid,ppid,pgid,jobc,state,tt,time,command"; -static char lfmt[] = "uid,pid,ppid,cpu,pri,nice,vsz,rss,mwchan,state,tt,time,command"; +static char lfmt[] = "uid,pid,ppid,cpu,pri,nice,vsz,rss,mwchan,state," + "tt,time,command"; static char o1[] = "pid"; static char o2[] = "tt,state,time,command"; static char ufmt[] = "user,pid,%cpu,%mem,vsz,rss,tt,state,start,time,command"; -static char vfmt[] = "pid,state,time,sl,re,pagein,vsz,rss,lim,tsiz,%cpu,%mem,command"; +static char vfmt[] = "pid,state,time,sl,re,pagein,vsz,rss,lim,tsiz," + "%cpu,%mem,command"; static char Zfmt[] = "label"; -static kvm_t *kd; - #define PS_ARGS "AaCc" OPT_LAZY_f "G:gHhjLlM:mN:O:o:p:rSTt:U:uvwXxZ" int @@ -163,16 +167,15 @@ struct kinfo_proc *kp; struct varent *vent; struct winsize ws; + const char *cp, *nlistf, *memf; + char *cols; int all, ch, dropgid, elem, flag, _fmt, i, lineno; int nentries, nocludge, nkept, nselectors; int prtheader, showthreads, wflag, what, xkeep, xkeep_implied; - char *cols; char errbuf[_POSIX2_LINE_MAX]; - const char *cp, *nlistf, *memf; (void) setlocale(LC_ALL, ""); - /* Set the time to what it is right now. */ - time(&now); + time(&now); /* Used by routines in print.c. */ if ((cols = getenv("COLUMNS")) != NULL && *cols != '\0') termwidth = atoi(cols); @@ -204,8 +207,9 @@ argv[1] = kludge_oldps_options(argv[1]); } - xkeep = -1; /* Neither -x nor -X */ - all = _fmt = nselectors = prtheader = wflag = xkeep_implied = 0; + all = dropgid = _fmt = nselectors = optfatal = 0; + prtheader = showthreads = wflag = xkeep_implied = 0; + xkeep = -1; /* Neither -x nor -X. */ init_list(&gidlist, addelem_gid, sizeof(gid_t), "group"); init_list(&pgrplist, addelem_pid, sizeof(pid_t), "process group"); init_list(&pidlist, addelem_pid, sizeof(pid_t), "process id"); @@ -213,10 +217,7 @@ init_list(&sesslist, addelem_pid, sizeof(pid_t), "session id"); init_list(&ttylist, addelem_tty, sizeof(dev_t), "tty"); init_list(&uidlist, addelem_uid, sizeof(uid_t), "user"); - dropgid = 0; - optfatal = 0; memf = nlistf = _PATH_DEVNULL; - showthreads = 0; while ((ch = getopt(argc, argv, PS_ARGS)) != -1) switch((char)ch) { case 'A': @@ -244,7 +245,7 @@ #ifdef LAZY_PS case 'f': if (getuid() == 0 || getgid() == 0) - forceuread = 1; + forceuread = 1; break; #endif case 'G': @@ -252,17 +253,19 @@ xkeep_implied = 1; nselectors++; break; + case 'g': #if 0 - /* XXX - This SUSv3 option is still under debate. */ - /* (it conflicts with the undocumented `-g' option) */ - case 'g': + /*- + * XXX - This SUSv3 behavior is still under debate + * since it conflicts with the (undocumented) + * `-g' option. So we skip it for now. + */ add_list(&pgrplist, optarg); xkeep_implied = 1; nselectors++; break; #else - case 'g': - /* Historical BSD-ish (from SunOS) option */ + /* The historical BSD-ish (from SunOS) behavior. */ break; /* no-op */ #endif case 'H': @@ -317,9 +320,14 @@ nselectors++; break; #if 0 - /* XXX - This un-standard option is still under debate. */ case 'R': - /* This is what SUSv3 defines as the `-U' option. */ + /*- + * XXX - This un-standard option is still under + * debate. This is what SUSv3 defines as + * the `-U' option, and while it would be + * nice to have, it could cause even more + * confusion to implement it as `-R'. + */ add_list(&ruidlist, optarg); xkeep_implied = 1; nselectors++; @@ -332,10 +340,13 @@ sumrusage = 1; break; #if 0 - /* XXX - This non-standard option is still under debate. */ - /* (it conflicts with `-s' in NetBSD) */ case 's': - /* As seen on Solaris, Linux, IRIX. */ + /*- + * XXX - This non-standard option is still under + * debate. This *is* supported on Solaris, + * Linux, and IRIX, but conflicts with `-s' + * on NetBSD and maybe some older BSD's. + */ add_list(&sesslist, optarg); xkeep_implied = 1; nselectors++; @@ -402,20 +413,17 @@ } argc -= optind; argv += optind; - if (optfatal) - exit(1); /* Error messages already printed */ - - if (xkeep < 0) /* Neither -X nor -x was specified */ + exit(1); /* Error messages already printed. */ + if (xkeep < 0) /* Neither -X nor -x was specified. */ xkeep = xkeep_implied; #define BACKWARD_COMPATIBILITY #ifdef BACKWARD_COMPATIBILITY if (*argv) { nlistf = *argv; - if (*++argv) { + if (*++argv) memf = *argv; - } } #endif /* @@ -472,7 +480,11 @@ what = KERN_PROC_RUID | showthreads; flag = *ruidlist.uids; nselectors = 0; -#if 0 /* XXX - KERN_PROC_SESSION causes error in kvm_getprocs? */ +#if 0 + /*- + * XXX - KERN_PROC_SESSION causes error in kvm_getprocs? + * For now, always do sid-matching in this routine. + */ } else if (sesslist.count == 1) { what = KERN_PROC_SESSION | showthreads; flag = *sesslist.pids; @@ -497,7 +509,7 @@ */ nentries = -1; kp = kvm_getprocs(kd, what, flag, &nentries); - if ((kp == 0 && nentries > 0) || (kp != 0 && nentries < 0)) + if ((kp == NULL && nentries > 0) || (kp != NULL && nentries < 0)) errx(1, "%s", kvm_geterr(kd)); nkept = 0; if (nentries > 0) { @@ -615,9 +627,9 @@ addelem_gid(struct listinfo *inf, const char *elem) { struct group *grp; - intmax_t ltemp; const char *nameorID; char *endp; + u_long bigtemp; if (*elem == '\0' || strlen(elem) >= MAXLOGNAME) { if (*elem == '\0') @@ -625,7 +637,7 @@ else warnx("%s name too long: %s", inf->lname, elem); optfatal = 1; - return (0); /* Do not add this value */ + return (0); /* Do not add this value. */ } /* @@ -640,17 +652,17 @@ grp = NULL; nameorID = "named"; errno = 0; - ltemp = strtol(elem, &endp, 10); - if (errno == 0 && *endp == '\0' && ltemp >= 0 && ltemp <= GID_MAX) { + bigtemp = strtoul(elem, &endp, 10); + if (errno == 0 && *endp == '\0' && bigtemp <= GID_MAX) { nameorID = "name or ID matches"; - grp = getgrgid((gid_t)ltemp); + grp = getgrgid((gid_t)bigtemp); } if (grp == NULL) grp = getgrnam(elem); if (grp == NULL) { warnx("No %s %s '%s'", inf->lname, nameorID, elem); optfatal = 1; - return (0); /* Do not add this value */ + return (0); /* Do not add this value. */ } if (inf->count >= inf->maxcount) @@ -659,12 +671,12 @@ return (1); } -#define BSD_PID_MAX 99999 /* Copy of PID_MAX from sys/proc.h */ +#define BSD_PID_MAX 99999 /* Copy of PID_MAX from sys/proc.h. */ static int addelem_pid(struct listinfo *inf, const char *elem) { + char *endp; long tempid; - char *endp; if (*elem == '\0') tempid = 0L; @@ -680,7 +692,7 @@ } if (errno == ERANGE) { optfatal = 1; - return (0); /* Do not add this value */ + return (0); /* Do not add this value. */ } } @@ -694,9 +706,9 @@ static int addelem_tty(struct listinfo *inf, const char *elem) { + const char *ttypath; + struct stat sb; char pathbuf[PATH_MAX]; - struct stat sb; - const char *ttypath; if (strcmp(elem, "co") == 0) ttypath = strdup(_PATH_CONSOLE); @@ -711,12 +723,12 @@ if (stat(ttypath, &sb) == -1) { warn("%s", ttypath); optfatal = 1; - return (0); /* Do not add this value */ + return (0); /* Do not add this value. */ } if (!S_ISCHR(sb.st_mode)) { warn("%s: Not a terminal", ttypath); optfatal = 1; - return (0); /* Do not add this value */ + return (0); /* Do not add this value. */ } if (inf->count >= inf->maxcount) @@ -729,8 +741,8 @@ addelem_uid(struct listinfo *inf, const char *elem) { struct passwd *pwd; - intmax_t ltemp; char *endp; + u_long bigtemp; if (*elem == '\0' || strlen(elem) >= MAXLOGNAME) { if (*elem == '\0') @@ -738,19 +750,18 @@ else warnx("%s name too long: %s", inf->lname, elem); optfatal = 1; - return (0); /* Do not add this value */ + return (0); /* Do not add this value. */ } pwd = getpwnam(elem); if (pwd == NULL) { errno = 0; - ltemp = strtol(elem, &endp, 10); - if (errno != 0 || *endp != '\0' || ltemp < 0 || - ltemp > UID_MAX) + bigtemp = strtoul(elem, &endp, 10); + if (errno != 0 || *endp != '\0' || bigtemp > UID_MAX) warnx("No %s named '%s'", inf->lname, elem); else { /* The string is all digits, so it might be a userID. */ - pwd = getpwuid((uid_t)ltemp); + pwd = getpwuid((uid_t)bigtemp); if (pwd == NULL) warnx("No %s name or ID matches '%s'", inf->lname, elem); @@ -763,7 +774,7 @@ * errors (and the command will be aborted). */ optfatal = 1; - return (0); /* Do not add this value */ + return (0); /* Do not add this value. */ } if (inf->count >= inf->maxcount) @@ -775,10 +786,10 @@ static void add_list(struct listinfo *inf, const char *argp) { - char elemcopy[PATH_MAX]; const char *savep; char *cp, *endp; int toolong; + char elemcopy[PATH_MAX]; while (*argp != '\0') { while (*argp != '\0' && strchr(W_SEP, *argp) != NULL) @@ -797,17 +808,24 @@ if (!toolong) { *cp = '\0'; #ifndef ADD_PS_LISTRESET - /* This is how the standard expects lists to be handled. */ + /* + * This is how the standard expects lists to + * be handled. + */ inf->addelem(inf, elemcopy); #else - /* - * This would add a simple non-standard-but-convienent feature. - * - * XXX - Adding this check increased the total size of `ps' by - * 3940 bytes on i386! That's 12% of the entire program! - * The `ps.o' file grew by only about 40 bytes, but the - * final (stripped) executable in /bin/ps grew by 12%. - */ + /*- + * This would add a simple non-standard-but-convienent + * feature. + * + * XXX - The first time I tried to add this check, + * it increased the total size of `ps' by 3940 + * bytes on i386! That's 12% of the entire + * program! The `ps.o' file grew by only about + * 40 bytes, but the final (stripped) executable + * in /bin/ps grew by 12%. I have not had time + * to investigate, so skip the feature for now. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 31 22:36:34 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3C06816A4D0; Wed, 31 Mar 2004 22:36: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 E982A16A4CE for ; Wed, 31 Mar 2004 22:36:33 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CD71843D41 for ; Wed, 31 Mar 2004 22:36:33 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i316aXGe029949 for ; Wed, 31 Mar 2004 22:36:33 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i316aXe0029946 for perforce@freebsd.org; Wed, 31 Mar 2004 22:36:33 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Wed, 31 Mar 2004 22:36:33 -0800 (PST) Message-Id: <200404010636.i316aXe0029946@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50101 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: Thu, 01 Apr 2004 06:36:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=50101 Change 50101 by marcel@marcel_nfs on 2004/03/31 22:35:42 Implement some thread ID allocator. The fundamental properties if the allocator are (or are assumed to be): o Allocation of thread IDs must be fast, o Immediate reuse of TIDs is not a problem because the TIDs are only used in corefiles and for kernel debugging. The allocator maintains a list of bitmaps. Each bitmap tracks 1024 TIDs. When all bitmaps are "full", the allocator creates a new bitmap. When threads are destroyed, TIDs are freed in the bitmap. Empty bitmaps are currently not destroyed. The allocator is not tuned or even perfect. It works (AFAICT), so it should suffice. Affected files ... .. //depot/projects/gdb/sys/kern/kern_thread.c#7 edit Differences ... ==== //depot/projects/gdb/sys/kern/kern_thread.c#7 (text+ko) ==== @@ -133,6 +133,32 @@ "debug virtual cpus"); /* + * Thread ID allocator. The allocator keeps track of assigned IDs by + * using a bitmap. The bitmap is created in parts. The parts are linked + * together. + */ +typedef u_long tid_bitmap_word; + +#define TID_IDS_PER_PART 1024 +#define TID_IDS_PER_IDX (sizeof(tid_bitmap_word) << 3) +#define TID_BITMAP_SIZE (TID_IDS_PER_PART / TID_IDS_PER_IDX) +#define TID_MIN (PID_MAX + 1) + +struct tid_bitmap_part { + STAILQ_ENTRY(tid_bitmap_part) bmp_next; + tid_bitmap_word bmp_bitmap[TID_BITMAP_SIZE]; + int bmp_base; + int bmp_free; +}; + +static STAILQ_HEAD(, tid_bitmap_part) tid_bitmap = + STAILQ_HEAD_INITIALIZER(tid_bitmap); +static uma_zone_t tid_zone; + +struct mtx tid_lock; +MTX_SYSINIT(tid_lock, &tid_lock, "TID lock", MTX_DEF); + +/* * Prepare a thread for use. */ static void @@ -141,6 +167,7 @@ struct thread *td; td = (struct thread *)mem; + td->td_tid = 0; td->td_state = TDS_INACTIVE; td->td_oncpu = NOCPU; td->td_critnest = 1; @@ -152,10 +179,28 @@ static void thread_dtor(void *mem, int size, void *arg) { - struct thread *td; + struct thread *td; + struct tid_bitmap_part *bmp; + int bit, idx, tid; td = (struct thread *)mem; + if (td->td_tid > PID_MAX) { + STAILQ_FOREACH(bmp, &tid_bitmap, bmp_next) { + if (td->td_tid >= bmp->bmp_base && + td->td_tid < bmp->bmp_base + TID_IDS_PER_PART) + break; + } + KASSERT(bmp != NULL, "No TID bitmap?"); + mtx_lock(&tid_lock); + tid = td->td_tid - bmp->bmp_base; + idx = tid / TID_IDS_PER_IDX; + bit = 1UL << (tid % TID_IDS_PER_IDX); + bmp->bmp_bitmap[idx] |= bit; + bmp->bmp_free++; + mtx_unlock(&tid_lock); + } + #ifdef INVARIANTS /* Verify that this thread is in a safe state to free. */ switch (td->td_state) { @@ -861,6 +906,8 @@ thread_zone = uma_zcreate("THREAD", sched_sizeof_thread(), thread_ctor, thread_dtor, thread_init, thread_fini, UMA_ALIGN_CACHE, 0); + tid_zone = uma_zcreate("TID", sizeof(struct tid_bitmap_part), + NULL, NULL, NULL, NULL, UMA_ALIGN_CACHE, 0); ksegrp_zone = uma_zcreate("KSEGRP", sched_sizeof_ksegrp(), NULL, NULL, ksegrp_init, NULL, UMA_ALIGN_CACHE, 0); @@ -1032,14 +1079,50 @@ } /* - * Assign a thread ID between 100000 and 999999. + * Assign a thread ID. */ int thread_new_tid(void) { - static int next_tid = 100000; + struct tid_bitmap_part *bmp, *new; + int bit, idx, tid; + + mtx_lock(&tid_lock); + STAILQ_FOREACH(bmp, &tid_bitmap, bmp_next) { + if (bmp->bmp_free) + break; + } + /* Create a new bitmap if we run out of free bits. */ + if (bmp == NULL) { + mtx_unlock(&tid_lock); + new = uma_zalloc(tid_zone, M_WAITOK); + mtx_lock(&tid_lock); + bmp = STAILQ_LAST(&tid_bitmap, tid_bitmap_part, bmp_next); + if (bmp == NULL || bmp->bmp_free < TID_IDS_PER_PART/2) { + /* 1=free, 0=assigned. This way we can use ffsl(). */ + memset(new->bmp_bitmap, ~0U, sizeof(new->bmp_bitmap)); + new->bmp_base = (bmp == NULL) ? TID_MIN : + bmp->bmp_base + TID_IDS_PER_PART; + new->bmp_free = TID_IDS_PER_PART; + STAILQ_INSERT_TAIL(&tid_bitmap, new, bmp_next); + bmp = new; + new = NULL; + } + } else + new = NULL; + /* We have a bitmap with available IDs. */ + idx = 0; + while (idx < TID_BITMAP_SIZE && bmp->bmp_bitmap[idx] == 0UL) + idx++; + bit = ffsl(bmp->bmp_bitmap[idx]) - 1; + tid = bmp->bmp_base + idx * TID_IDS_PER_IDX + bit; + bmp->bmp_bitmap[idx] &= ~(1UL << bit); + bmp->bmp_free--; + mtx_unlock(&tid_lock); - return (next_tid++); + if (new != NULL) + uma_zfree(tid_zone, new); + return (tid); } /* From owner-p4-projects@FreeBSD.ORG Wed Mar 31 22:57:00 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D518D16A4D1; Wed, 31 Mar 2004 22:56:59 -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 7AF5F16A4CE for ; Wed, 31 Mar 2004 22:56:59 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5DA7F43D2D for ; Wed, 31 Mar 2004 22:56:59 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i316uxGe034554 for ; Wed, 31 Mar 2004 22:56:59 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i316uwPo034545 for perforce@freebsd.org; Wed, 31 Mar 2004 22:56:58 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Wed, 31 Mar 2004 22:56:58 -0800 (PST) Message-Id: <200404010656.i316uwPo034545@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50102 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: Thu, 01 Apr 2004 06:57:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=50102 Change 50102 by marcel@marcel_nfs on 2004/03/31 22:56:45 When dumping the state of each thread in the process, start with the initial thread (the one which has an ID equal to the PID). This makes sure that bfd creates pseudo-sections with the non-threaded names (i.e. without the TID) for the initial thread. Any tool that doesn't look for the threaded pseudo-sections will behave as before we started dumping all the threads. For example: athlon% objdump -s crash.core | fgrep .reg Contents of section .reg/539: Contents of section .reg: Contents of section .reg2/539: Contents of section .reg2: Contents of section .reg/100005: Contents of section .reg2/100005: Contents of section .reg/100004: Contents of section .reg2/100004: Contents of section .reg/100003: Contents of section .reg2/100003: Contents of section .reg/100002: Contents of section .reg2/100002: Contents of section .reg/100001: Contents of section .reg2/100001: Contents of section .reg/100000: Contents of section .reg2/100000: BTW: Now that we dump all (kernel) threads in the corefile, we can actually see them in gdb(1): athlon% gdb crash crash.core GNU gdb 5.2.1 (FreeBSD) Copyright 2002 Free Software Foundation, Inc. *snip* This GDB was configured as "i386-undermydesk-freebsd"... Core was generated by `crash'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/lib/libthr.so.1...done. Loaded symbols for /usr/lib/libthr.so.1 Reading symbols from /lib/libc.so.5...done. Loaded symbols for /lib/libc.so.5 Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 main (argc=1, argv=0xbfbfeca8) at crash.c:89 89 *(int*)0 = 0; (gdb) info thread 7 process 100000 0x280dea2f in _umtx_unlock () from /lib/libc.so.5 6 process 100001 0x280df3af in sigtimedwait () from /lib/libc.so.5 5 process 100002 0x280dea4f in _umtx_lock () from /lib/libc.so.5 4 process 100003 0x280df3af in sigtimedwait () from /lib/libc.so.5 3 process 100004 0x280dea4f in _umtx_lock () from /lib/libc.so.5 2 process 100005 0x280df3af in sigtimedwait () from /lib/libc.so.5 * 1 process 539 main (argc=1, argv=0xbfbfeca8) at crash.c:89 (gdb) This gives us basic debugging support for libthr. Affected files ... .. //depot/projects/gdb/sys/kern/imgact_elf.c#5 edit Differences ... ==== //depot/projects/gdb/sys/kern/imgact_elf.c#5 (text+ko) ==== @@ -1137,7 +1137,7 @@ prstatus_t *status; prfpregset_t *fpregset; prpsinfo_t *psinfo; - struct thread *thr; + struct thread *first, *thr; size_t ehoff, noteoff, notesz, phoff; ehoff = *off; @@ -1177,8 +1177,20 @@ __elfN(putnote)(dst, off, "FreeBSD", NT_PRPSINFO, psinfo, sizeof *psinfo); - thr = TAILQ_FIRST(&p->p_threads); - while (thr != NULL) { + /* + * We want to start with the registers of the first thread in the + * process so that the .reg and .reg2 pseudo-sections created by bfd + * will be identical to the .reg/$PID and .reg2/$PID pseudo-sections. + * This makes sure that any tool that only looks for .reg and .reg2 + * and not for .reg/$PID and .reg2/$PID will behave the same as + * before. The first thread is the thread with an ID equal to the + * process' ID. + */ + first = TAILQ_FIRST(&p->p_threads); + while (first->td_tid > PID_MAX) + first = TAILQ_NEXT(first, td_plist); + thr = first; + do { if (dst != NULL) { status->pr_version = PRSTATUS_VERSION; status->pr_statussz = sizeof(prstatus_t); @@ -1194,11 +1206,12 @@ sizeof *status); __elfN(putnote)(dst, off, "FreeBSD", NT_FPREGSET, fpregset, sizeof *fpregset); - /* - * XXX allow for MD specific notes. - */ - thr = TAILQ_NEXT(thr, td_plist); - } + /* XXX allow for MD specific notes. */ + thr = (thr == first) ? TAILQ_FIRST(&p->p_threads) : + TAILQ_NEXT(thr, td_plist); + if (thr == first) + thr = TAILQ_NEXT(thr, td_plist); + } while (thr != NULL); notesz = *off - noteoff; From owner-p4-projects@FreeBSD.ORG Wed Mar 31 23:21:15 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0D67D16A4D0; Wed, 31 Mar 2004 23:21:15 -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 C991816A4CE for ; Wed, 31 Mar 2004 23:21:14 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BCF8B43D2D for ; Wed, 31 Mar 2004 23:21:14 -0800 (PST) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i317LEGe040646 for ; Wed, 31 Mar 2004 23:21:14 -0800 (PST) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i317KGix039853 for perforce@freebsd.org; Wed, 31 Mar 2004 23:20:16 -0800 (PST) (envelope-from julian@freebsd.org) Date: Wed, 31 Mar 2004 23:20:16 -0800 (PST) Message-Id: <200404010720.i317KGix039853@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 50103 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: Thu, 01 Apr 2004 07:21:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=50103 Change 50103 by julian@julian_jules1 on 2004/03/31 23:19:17 catch up Affected files ... .. //depot/projects/kse/bin/ps/Makefile#7 integrate .. //depot/projects/kse/bin/ps/extern.h#8 integrate .. //depot/projects/kse/bin/ps/fmt.c#8 integrate .. //depot/projects/kse/bin/ps/keyword.c#10 integrate .. //depot/projects/kse/bin/ps/lomac.c#6 delete .. //depot/projects/kse/bin/ps/lomac.h#4 delete .. //depot/projects/kse/bin/ps/nlist.c#5 integrate .. //depot/projects/kse/bin/ps/print.c#16 integrate .. //depot/projects/kse/bin/ps/ps.1#12 integrate .. //depot/projects/kse/bin/ps/ps.c#13 integrate .. //depot/projects/kse/bin/ps/ps.h#4 integrate .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/Makefile#8 integrate .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/Makefile.alpha#6 integrate .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/Makefile.i386#6 integrate .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/config.h#5 integrate .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/fbsd-kgdb-alpha.h#2 integrate .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/fbsd-kgdb-amd64.h#1 branch .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/fbsd-kgdb-arm.h#2 integrate .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/fbsd-kgdb-i386.h#3 integrate .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/fbsd-kgdb-ia64.h#2 integrate .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/fbsd-kgdb-powerpc.h#2 integrate .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/fbsd-kgdb-sparc64.h#2 integrate .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/fbsd-kgdb-x86_64.h#2 delete .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/fbsd-kgdb.h#3 integrate .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/freebsd-uthread.c#6 integrate .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/kvm-fbsd.c#4 integrate .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/solib-fbsd-kld.c#1 branch .. //depot/projects/kse/include/Makefile#4 integrate .. //depot/projects/kse/include/arpa/telnet.h#2 integrate .. //depot/projects/kse/include/bitstring.h#2 integrate .. //depot/projects/kse/include/dirent.h#4 integrate .. //depot/projects/kse/include/dlfcn.h#3 integrate .. //depot/projects/kse/include/fnmatch.h#3 integrate .. //depot/projects/kse/include/fstab.h#2 integrate .. //depot/projects/kse/include/getopt.h#1 branch .. //depot/projects/kse/include/grp.h#4 integrate .. //depot/projects/kse/include/histedit.h#2 integrate .. //depot/projects/kse/include/ieeefp.h#2 integrate .. //depot/projects/kse/include/ifaddrs.h#2 integrate .. //depot/projects/kse/include/limits.h#3 integrate .. //depot/projects/kse/include/locale.h#2 integrate .. //depot/projects/kse/include/math.h#2 delete .. //depot/projects/kse/include/netdb.h#3 integrate .. //depot/projects/kse/include/nl_types.h#3 integrate .. //depot/projects/kse/include/nss.h#1 branch .. //depot/projects/kse/include/nsswitch.h#2 integrate .. //depot/projects/kse/include/paths.h#2 integrate .. //depot/projects/kse/include/protocols/routed.h#2 integrate .. //depot/projects/kse/include/pthread.h#2 integrate .. //depot/projects/kse/include/pthread_np.h#2 integrate .. //depot/projects/kse/include/pwd.h#3 integrate .. //depot/projects/kse/include/regex.h#2 integrate .. //depot/projects/kse/include/resolv.h#2 integrate .. //depot/projects/kse/include/rpc/auth.h#2 integrate .. //depot/projects/kse/include/rpc/clnt.h#2 integrate .. //depot/projects/kse/include/rpc/rpc_com.h#2 integrate .. //depot/projects/kse/include/rpc/rpc_msg.h#2 integrate .. //depot/projects/kse/include/rpc/svc.h#2 integrate .. //depot/projects/kse/include/rpc/types.h#2 integrate .. //depot/projects/kse/include/rpc/xdr.h#2 integrate .. //depot/projects/kse/include/rpcsvc/bootparam_prot.x#2 integrate .. //depot/projects/kse/include/rpcsvc/crypt.x#2 integrate .. //depot/projects/kse/include/rpcsvc/key_prot.x#2 integrate .. //depot/projects/kse/include/rpcsvc/klm_prot.x#2 integrate .. //depot/projects/kse/include/rpcsvc/mount.x#2 integrate .. //depot/projects/kse/include/rpcsvc/nfs_prot.x#2 integrate .. //depot/projects/kse/include/rpcsvc/nis.x#2 integrate .. //depot/projects/kse/include/rpcsvc/nis_cache.x#2 integrate .. //depot/projects/kse/include/rpcsvc/nis_callback.x#2 integrate .. //depot/projects/kse/include/rpcsvc/nlm_prot.x#2 integrate .. //depot/projects/kse/include/rpcsvc/pmap_prot.x#2 integrate .. //depot/projects/kse/include/rpcsvc/rex.x#2 integrate .. //depot/projects/kse/include/rpcsvc/rnusers.x#2 integrate .. //depot/projects/kse/include/rpcsvc/rquota.x#2 integrate .. //depot/projects/kse/include/rpcsvc/rstat.x#2 integrate .. //depot/projects/kse/include/rpcsvc/sm_inter.x#2 integrate .. //depot/projects/kse/include/rpcsvc/spray.x#2 integrate .. //depot/projects/kse/include/rpcsvc/yp.x#2 integrate .. //depot/projects/kse/include/rpcsvc/ypclnt.h#2 integrate .. //depot/projects/kse/include/rpcsvc/yppasswd.x#2 integrate .. //depot/projects/kse/include/rpcsvc/ypupdate_prot.x#2 integrate .. //depot/projects/kse/include/rpcsvc/ypxfrd.x#2 integrate .. //depot/projects/kse/include/rune.h#3 integrate .. //depot/projects/kse/include/search.h#5 integrate .. //depot/projects/kse/include/setjmp.h#2 integrate .. //depot/projects/kse/include/signal.h#3 integrate .. //depot/projects/kse/include/stddef.h#4 integrate .. //depot/projects/kse/include/stdio.h#5 integrate .. //depot/projects/kse/include/stdlib.h#8 integrate .. //depot/projects/kse/include/strhash.h#2 delete .. //depot/projects/kse/include/string.h#3 integrate .. //depot/projects/kse/include/stringlist.h#2 integrate .. //depot/projects/kse/include/strings.h#3 integrate .. //depot/projects/kse/include/time.h#6 integrate .. //depot/projects/kse/include/ulimit.h#2 integrate .. //depot/projects/kse/include/unistd.h#5 integrate .. //depot/projects/kse/include/uuid.h#1 branch .. //depot/projects/kse/include/varargs.h#1 branch .. //depot/projects/kse/include/vis.h#3 integrate .. //depot/projects/kse/include/wchar.h#9 integrate .. //depot/projects/kse/include/wordexp.h#1 branch .. //depot/projects/kse/lib/libc/Makefile#2 integrate .. //depot/projects/kse/lib/libc/Makefile.inc#2 delete .. //depot/projects/kse/lib/libc/alpha/SYS.h#2 integrate .. //depot/projects/kse/lib/libc/alpha/_fpmath.h#1 branch .. //depot/projects/kse/lib/libc/alpha/arith.h#1 branch .. //depot/projects/kse/lib/libc/alpha/gen/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/alpha/gen/_ctx_start.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/gen/_setjmp.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/gen/fabs.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/gen/flt_rounds.c#2 integrate .. //depot/projects/kse/lib/libc/alpha/gen/fpgetmask.c#2 integrate .. //depot/projects/kse/lib/libc/alpha/gen/fpgetround.c#2 integrate .. //depot/projects/kse/lib/libc/alpha/gen/fpgetsticky.c#2 integrate .. //depot/projects/kse/lib/libc/alpha/gen/fpsetmask.c#2 integrate .. //depot/projects/kse/lib/libc/alpha/gen/fpsetround.c#2 integrate .. //depot/projects/kse/lib/libc/alpha/gen/fpsetsticky.c#2 integrate .. //depot/projects/kse/lib/libc/alpha/gen/getcontext.S#2 delete .. //depot/projects/kse/lib/libc/alpha/gen/infinity.c#3 integrate .. //depot/projects/kse/lib/libc/alpha/gen/isinf.c#2 integrate .. //depot/projects/kse/lib/libc/alpha/gen/makecontext.c#5 integrate .. //depot/projects/kse/lib/libc/alpha/gen/rfork_thread.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/gen/setjmp.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/gen/signalcontext.c#1 branch .. //depot/projects/kse/lib/libc/alpha/gen/sigsetjmp.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/net/byte_swap_2.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/net/byte_swap_4.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/net/htonl.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/net/htons.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/net/ntohl.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/net/ntohs.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/stdlib/gdtoa.mk#1 branch .. //depot/projects/kse/lib/libc/alpha/string/bcopy.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/string/bzero.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/string/ffs.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/string/memcpy.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/string/memmove.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/sys/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/alpha/sys/Ovfork.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/sys/brk.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/sys/cerror.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/sys/exect.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/sys/fork.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/sys/pipe.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/sys/ptrace.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/sys/sbrk.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/sys/setlogin.S#2 integrate .. //depot/projects/kse/lib/libc/alpha/sys/sigreturn.S#2 integrate .. //depot/projects/kse/lib/libc/amd64/Makefile.inc#1 branch .. //depot/projects/kse/lib/libc/amd64/SYS.h#1 branch .. //depot/projects/kse/lib/libc/amd64/_fpmath.h#1 branch .. //depot/projects/kse/lib/libc/amd64/arith.h#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/Makefile.inc#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/_setjmp.S#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/fabs.S#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/fpgetmask.c#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/fpgetprec.c#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/fpgetround.c#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/fpgetsticky.c#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/fpsetmask.c#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/fpsetprec.c#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/fpsetround.c#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/fpsetsticky.c#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/frexp.c#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/infinity.c#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/isinf.c#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/ldexp.c#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/makecontext.c#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/modf.S#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/rfork_thread.S#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/setjmp.S#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/signalcontext.c#1 branch .. //depot/projects/kse/lib/libc/amd64/gen/sigsetjmp.S#1 branch .. //depot/projects/kse/lib/libc/amd64/net/Makefile.inc#1 branch .. //depot/projects/kse/lib/libc/amd64/net/htonl.S#1 branch .. //depot/projects/kse/lib/libc/amd64/net/htons.S#1 branch .. //depot/projects/kse/lib/libc/amd64/net/ntohl.S#1 branch .. //depot/projects/kse/lib/libc/amd64/net/ntohs.S#1 branch .. //depot/projects/kse/lib/libc/amd64/stdlib/gdtoa.mk#1 branch .. //depot/projects/kse/lib/libc/amd64/sys/Makefile.inc#1 branch .. //depot/projects/kse/lib/libc/amd64/sys/amd64_get_fsbase.c#1 branch .. //depot/projects/kse/lib/libc/amd64/sys/amd64_get_gsbase.c#1 branch .. //depot/projects/kse/lib/libc/amd64/sys/amd64_set_fsbase.c#1 branch .. //depot/projects/kse/lib/libc/amd64/sys/amd64_set_gsbase.c#1 branch .. //depot/projects/kse/lib/libc/amd64/sys/brk.S#1 branch .. //depot/projects/kse/lib/libc/amd64/sys/cerror.S#1 branch .. //depot/projects/kse/lib/libc/amd64/sys/exect.S#1 branch .. //depot/projects/kse/lib/libc/amd64/sys/getcontext.S#1 branch .. //depot/projects/kse/lib/libc/amd64/sys/pipe.S#1 branch .. //depot/projects/kse/lib/libc/amd64/sys/ptrace.S#1 branch .. //depot/projects/kse/lib/libc/amd64/sys/reboot.S#1 branch .. //depot/projects/kse/lib/libc/amd64/sys/sbrk.S#1 branch .. //depot/projects/kse/lib/libc/amd64/sys/setlogin.S#1 branch .. //depot/projects/kse/lib/libc/amd64/sys/sigreturn.S#1 branch .. //depot/projects/kse/lib/libc/amd64/sys/vfork.S#1 branch .. //depot/projects/kse/lib/libc/compat-43/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/compat-43/creat.2#2 integrate .. //depot/projects/kse/lib/libc/compat-43/gethostid.3#2 integrate .. //depot/projects/kse/lib/libc/compat-43/killpg.2#2 integrate .. //depot/projects/kse/lib/libc/compat-43/sigpause.2#2 integrate .. //depot/projects/kse/lib/libc/compat-43/sigsetmask.2#2 integrate .. //depot/projects/kse/lib/libc/compat-43/sigvec.2#2 integrate .. //depot/projects/kse/lib/libc/db/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/db/btree/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/db/btree/bt_put.c#2 integrate .. //depot/projects/kse/lib/libc/db/btree/bt_split.c#2 integrate .. //depot/projects/kse/lib/libc/db/btree/bt_utils.c#2 integrate .. //depot/projects/kse/lib/libc/db/db/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/db/hash/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/db/hash/hash_bigkey.c#2 integrate .. //depot/projects/kse/lib/libc/db/hash/hash_func.c#2 integrate .. //depot/projects/kse/lib/libc/db/man/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/db/man/btree.3#2 integrate .. //depot/projects/kse/lib/libc/db/man/dbm.3#2 integrate .. //depot/projects/kse/lib/libc/db/man/dbopen.3#2 integrate .. //depot/projects/kse/lib/libc/db/man/hash.3#2 integrate .. //depot/projects/kse/lib/libc/db/man/mpool.3#2 integrate .. //depot/projects/kse/lib/libc/db/man/recno.3#2 integrate .. //depot/projects/kse/lib/libc/db/mpool/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/db/mpool/mpool.c#2 integrate .. //depot/projects/kse/lib/libc/db/recno/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/db/recno/rec_close.c#2 integrate .. //depot/projects/kse/lib/libc/db/recno/rec_seq.c#2 integrate .. //depot/projects/kse/lib/libc/gdtoa/Makefile.inc#1 branch .. //depot/projects/kse/lib/libc/gdtoa/_hdtoa.c#1 branch .. //depot/projects/kse/lib/libc/gdtoa/_ldtoa.c#1 branch .. //depot/projects/kse/lib/libc/gdtoa/glue.c#1 branch .. //depot/projects/kse/lib/libc/gdtoa/machdep_ldisQ.c#1 branch .. //depot/projects/kse/lib/libc/gdtoa/machdep_ldisd.c#1 branch .. //depot/projects/kse/lib/libc/gdtoa/machdep_ldisx.c#1 branch .. //depot/projects/kse/lib/libc/gen/Makefile.inc#4 integrate .. //depot/projects/kse/lib/libc/gen/_pthread_stubs.c#3 integrate .. //depot/projects/kse/lib/libc/gen/_spinlock_stub.c#2 integrate .. //depot/projects/kse/lib/libc/gen/alarm.3#2 integrate .. //depot/projects/kse/lib/libc/gen/arc4random.3#2 integrate .. //depot/projects/kse/lib/libc/gen/arc4random.c#2 integrate .. //depot/projects/kse/lib/libc/gen/basename.3#2 integrate .. //depot/projects/kse/lib/libc/gen/basename.c#2 integrate .. //depot/projects/kse/lib/libc/gen/check_utility_compat.3#1 branch .. //depot/projects/kse/lib/libc/gen/check_utility_compat.c#1 branch .. //depot/projects/kse/lib/libc/gen/confstr.3#2 integrate .. //depot/projects/kse/lib/libc/gen/confstr.c#3 integrate .. //depot/projects/kse/lib/libc/gen/crypt.c#2 integrate .. //depot/projects/kse/lib/libc/gen/ctermid.3#2 integrate .. //depot/projects/kse/lib/libc/gen/daemon.3#2 integrate .. //depot/projects/kse/lib/libc/gen/daemon.c#2 integrate .. //depot/projects/kse/lib/libc/gen/devname.3#2 integrate .. //depot/projects/kse/lib/libc/gen/devname.c#2 integrate .. //depot/projects/kse/lib/libc/gen/directory.3#2 integrate .. //depot/projects/kse/lib/libc/gen/dirname.3#2 integrate .. //depot/projects/kse/lib/libc/gen/dirname.c#2 integrate .. //depot/projects/kse/lib/libc/gen/dladdr.3#2 integrate .. //depot/projects/kse/lib/libc/gen/dlfcn.c#4 integrate .. //depot/projects/kse/lib/libc/gen/dlinfo.3#1 branch .. //depot/projects/kse/lib/libc/gen/dllockinit.3#2 integrate .. //depot/projects/kse/lib/libc/gen/dlopen.3#4 integrate .. //depot/projects/kse/lib/libc/gen/errlst.c#4 integrate .. //depot/projects/kse/lib/libc/gen/errno.c#1 branch .. //depot/projects/kse/lib/libc/gen/exec.3#2 integrate .. //depot/projects/kse/lib/libc/gen/exec.c#2 integrate .. //depot/projects/kse/lib/libc/gen/fmtcheck.3#3 integrate .. //depot/projects/kse/lib/libc/gen/fmtcheck.c#2 integrate .. //depot/projects/kse/lib/libc/gen/fmtmsg.3#2 integrate .. //depot/projects/kse/lib/libc/gen/fmtmsg.c#3 integrate .. //depot/projects/kse/lib/libc/gen/fnmatch.3#2 integrate .. //depot/projects/kse/lib/libc/gen/fpclassify.3#1 branch .. //depot/projects/kse/lib/libc/gen/fpclassify.c#1 branch .. //depot/projects/kse/lib/libc/gen/frexp.3#2 integrate .. //depot/projects/kse/lib/libc/gen/fstab.c#2 integrate .. //depot/projects/kse/lib/libc/gen/ftok.3#2 integrate .. //depot/projects/kse/lib/libc/gen/fts.3#3 integrate .. //depot/projects/kse/lib/libc/gen/fts.c#3 integrate .. //depot/projects/kse/lib/libc/gen/getbootfile.3#2 integrate .. //depot/projects/kse/lib/libc/gen/getbootfile.c#2 integrate .. //depot/projects/kse/lib/libc/gen/getbsize.3#2 integrate .. //depot/projects/kse/lib/libc/gen/getbsize.c#2 integrate .. //depot/projects/kse/lib/libc/gen/getcap.3#2 integrate .. //depot/projects/kse/lib/libc/gen/getcap.c#2 integrate .. //depot/projects/kse/lib/libc/gen/getcontext.3#2 integrate .. //depot/projects/kse/lib/libc/gen/getcwd.3#2 integrate .. //depot/projects/kse/lib/libc/gen/getcwd.c#3 integrate .. //depot/projects/kse/lib/libc/gen/getdomainname.3#2 integrate .. //depot/projects/kse/lib/libc/gen/getfsent.3#2 integrate .. //depot/projects/kse/lib/libc/gen/getgrent.3#2 integrate .. //depot/projects/kse/lib/libc/gen/getgrent.c#2 integrate .. //depot/projects/kse/lib/libc/gen/getgrouplist.c#3 integrate .. //depot/projects/kse/lib/libc/gen/gethostname.3#2 integrate .. //depot/projects/kse/lib/libc/gen/gethostname.c#2 integrate .. //depot/projects/kse/lib/libc/gen/getlogin.c#2 integrate .. //depot/projects/kse/lib/libc/gen/getmntinfo.3#2 integrate .. //depot/projects/kse/lib/libc/gen/getnetgrent.3#2 integrate .. //depot/projects/kse/lib/libc/gen/getnetgrent.c#2 integrate .. //depot/projects/kse/lib/libc/gen/getobjformat.3#2 integrate .. //depot/projects/kse/lib/libc/gen/getosreldate.3#1 branch .. //depot/projects/kse/lib/libc/gen/getpagesize.3#2 integrate .. //depot/projects/kse/lib/libc/gen/getpeereid.3#2 integrate .. //depot/projects/kse/lib/libc/gen/getpeereid.c#2 integrate .. //depot/projects/kse/lib/libc/gen/getpwent.3#2 integrate .. //depot/projects/kse/lib/libc/gen/getpwent.c#2 integrate .. //depot/projects/kse/lib/libc/gen/getttyent.3#2 integrate .. //depot/projects/kse/lib/libc/gen/getusershell.c#2 integrate .. //depot/projects/kse/lib/libc/gen/getvfsbyname.3#3 integrate .. //depot/projects/kse/lib/libc/gen/getvfsbyname.c#3 integrate .. //depot/projects/kse/lib/libc/gen/getvfsent.3#2 integrate .. //depot/projects/kse/lib/libc/gen/getvfsent.c#3 integrate .. //depot/projects/kse/lib/libc/gen/glob.3#2 integrate .. //depot/projects/kse/lib/libc/gen/glob.c#2 integrate .. //depot/projects/kse/lib/libc/gen/initgroups.c#2 integrate .. //depot/projects/kse/lib/libc/gen/isgreater.3#1 branch .. //depot/projects/kse/lib/libc/gen/isinf.3#2 delete .. //depot/projects/kse/lib/libc/gen/lockf.3#2 integrate .. //depot/projects/kse/lib/libc/gen/makecontext.3#2 integrate .. //depot/projects/kse/lib/libc/gen/modf.3#2 integrate .. //depot/projects/kse/lib/libc/gen/msgctl.3#2 integrate .. //depot/projects/kse/lib/libc/gen/msgget.3#2 integrate .. //depot/projects/kse/lib/libc/gen/msgrcv.3#2 integrate .. //depot/projects/kse/lib/libc/gen/msgsnd.3#2 integrate .. //depot/projects/kse/lib/libc/gen/nlist.c#2 integrate .. //depot/projects/kse/lib/libc/gen/opendir.c#2 integrate .. //depot/projects/kse/lib/libc/gen/pmadvise.c#2 integrate .. //depot/projects/kse/lib/libc/gen/popen.3#2 integrate .. //depot/projects/kse/lib/libc/gen/popen.c#2 integrate .. //depot/projects/kse/lib/libc/gen/pselect.3#2 integrate .. //depot/projects/kse/lib/libc/gen/pselect.c#2 integrate .. //depot/projects/kse/lib/libc/gen/psignal.3#2 integrate .. //depot/projects/kse/lib/libc/gen/pw_scan.c#2 integrate .. //depot/projects/kse/lib/libc/gen/raise.c#2 integrate .. //depot/projects/kse/lib/libc/gen/rand48.3#2 integrate .. //depot/projects/kse/lib/libc/gen/readpassphrase.3#2 integrate .. //depot/projects/kse/lib/libc/gen/rfork_thread.3#2 integrate .. //depot/projects/kse/lib/libc/gen/scandir.3#2 integrate .. //depot/projects/kse/lib/libc/gen/sem.c#1 branch .. //depot/projects/kse/lib/libc/gen/sem_destroy.3#1 branch .. //depot/projects/kse/lib/libc/gen/sem_getvalue.3#1 branch .. //depot/projects/kse/lib/libc/gen/sem_init.3#1 branch .. //depot/projects/kse/lib/libc/gen/sem_open.3#1 branch .. //depot/projects/kse/lib/libc/gen/sem_post.3#1 branch .. //depot/projects/kse/lib/libc/gen/sem_wait.3#1 branch .. //depot/projects/kse/lib/libc/gen/semctl.c#3 integrate .. //depot/projects/kse/lib/libc/gen/setjmp.3#2 integrate .. //depot/projects/kse/lib/libc/gen/setmode.c#2 integrate .. //depot/projects/kse/lib/libc/gen/setproctitle.3#2 integrate .. //depot/projects/kse/lib/libc/gen/setproctitle.c#2 integrate .. //depot/projects/kse/lib/libc/gen/siginterrupt.3#2 integrate .. //depot/projects/kse/lib/libc/gen/signal.3#2 integrate .. //depot/projects/kse/lib/libc/gen/signbit.3#1 branch .. //depot/projects/kse/lib/libc/gen/signbit.c#1 branch .. //depot/projects/kse/lib/libc/gen/sigsetops.3#2 integrate .. //depot/projects/kse/lib/libc/gen/statvfs.3#3 integrate .. //depot/projects/kse/lib/libc/gen/stringlist.3#2 integrate .. //depot/projects/kse/lib/libc/gen/stringlist.c#2 integrate .. //depot/projects/kse/lib/libc/gen/sysconf.3#2 integrate .. //depot/projects/kse/lib/libc/gen/sysconf.c#3 integrate .. //depot/projects/kse/lib/libc/gen/sysctl.3#2 integrate .. //depot/projects/kse/lib/libc/gen/sysctl.c#2 integrate .. //depot/projects/kse/lib/libc/gen/sysctlnametomib.c#2 integrate .. //depot/projects/kse/lib/libc/gen/syslog.3#2 integrate .. //depot/projects/kse/lib/libc/gen/syslog.c#2 integrate .. //depot/projects/kse/lib/libc/gen/tcsendbreak.3#2 integrate .. //depot/projects/kse/lib/libc/gen/tcsetattr.3#2 integrate .. //depot/projects/kse/lib/libc/gen/time.3#2 integrate .. //depot/projects/kse/lib/libc/gen/time.c#2 integrate .. //depot/projects/kse/lib/libc/gen/timezone.3#2 integrate .. //depot/projects/kse/lib/libc/gen/ttyname.3#2 integrate .. //depot/projects/kse/lib/libc/gen/ttyname.c#2 integrate .. //depot/projects/kse/lib/libc/gen/tzset.3#2 integrate .. //depot/projects/kse/lib/libc/gen/ualarm.3#2 integrate .. //depot/projects/kse/lib/libc/gen/ualarm.c#2 integrate .. //depot/projects/kse/lib/libc/gen/ucontext.3#2 integrate .. //depot/projects/kse/lib/libc/gen/ulimit.3#2 integrate .. //depot/projects/kse/lib/libc/gen/ulimit.c#2 integrate .. //depot/projects/kse/lib/libc/gen/uname.3#2 integrate .. //depot/projects/kse/lib/libc/gen/unvis.3#2 integrate .. //depot/projects/kse/lib/libc/gen/unvis.c#2 integrate .. //depot/projects/kse/lib/libc/gen/usleep.3#2 integrate .. //depot/projects/kse/lib/libc/gen/usleep.c#2 integrate .. //depot/projects/kse/lib/libc/gen/valloc.3#2 integrate .. //depot/projects/kse/lib/libc/gen/vis.3#2 integrate .. //depot/projects/kse/lib/libc/gen/vis.c#3 integrate .. //depot/projects/kse/lib/libc/gen/wordexp.3#1 branch .. //depot/projects/kse/lib/libc/gen/wordexp.c#1 branch .. //depot/projects/kse/lib/libc/gmon/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/gmon/gmon.c#3 integrate .. //depot/projects/kse/lib/libc/gmon/mcount.c#2 integrate .. //depot/projects/kse/lib/libc/gmon/moncontrol.3#2 integrate .. //depot/projects/kse/lib/libc/i386/_fpmath.h#1 branch .. //depot/projects/kse/lib/libc/i386/arith.h#1 branch .. //depot/projects/kse/lib/libc/i386/gen/Makefile.inc#4 integrate .. //depot/projects/kse/lib/libc/i386/gen/alloca.S#2 integrate .. //depot/projects/kse/lib/libc/i386/gen/getcontext.S#9 delete .. //depot/projects/kse/lib/libc/i386/gen/infinity.c#3 integrate .. //depot/projects/kse/lib/libc/i386/gen/isinf.c#2 integrate .. //depot/projects/kse/lib/libc/i386/gen/ldexp.c#2 integrate .. //depot/projects/kse/lib/libc/i386/gen/rfork_thread.S#2 integrate .. //depot/projects/kse/lib/libc/i386/stdlib/div.S#2 integrate .. //depot/projects/kse/lib/libc/i386/stdlib/gdtoa.mk#1 branch .. //depot/projects/kse/lib/libc/i386/stdlib/ldiv.S#2 integrate .. //depot/projects/kse/lib/libc/i386/string/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/i386/string/bcopy.S#2 integrate .. //depot/projects/kse/lib/libc/i386/string/swab.S#2 integrate .. //depot/projects/kse/lib/libc/i386/string/wcschr.S#1 branch .. //depot/projects/kse/lib/libc/i386/string/wcscmp.S#1 branch .. //depot/projects/kse/lib/libc/i386/string/wcslen.S#1 branch .. //depot/projects/kse/lib/libc/i386/string/wmemchr.S#1 branch .. //depot/projects/kse/lib/libc/i386/sys/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/i386/sys/getcontext.S#1 branch .. //depot/projects/kse/lib/libc/i386/sys/i386_clr_watch.c#2 integrate .. //depot/projects/kse/lib/libc/i386/sys/i386_get_ioperm.2#2 integrate .. //depot/projects/kse/lib/libc/i386/sys/i386_get_ioperm.c#2 integrate .. //depot/projects/kse/lib/libc/i386/sys/i386_get_ldt.2#2 integrate .. //depot/projects/kse/lib/libc/i386/sys/i386_get_ldt.c#2 integrate .. //depot/projects/kse/lib/libc/i386/sys/i386_set_ioperm.c#2 integrate .. //depot/projects/kse/lib/libc/i386/sys/i386_set_ldt.c#2 integrate .. //depot/projects/kse/lib/libc/i386/sys/i386_set_watch.3#2 integrate .. //depot/projects/kse/lib/libc/i386/sys/i386_set_watch.c#2 integrate .. //depot/projects/kse/lib/libc/i386/sys/i386_vm86.2#2 integrate .. //depot/projects/kse/lib/libc/i386/sys/i386_vm86.c#2 integrate .. //depot/projects/kse/lib/libc/ia64/_fpmath.h#1 branch .. //depot/projects/kse/lib/libc/ia64/arith.h#1 branch .. //depot/projects/kse/lib/libc/ia64/gen/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/__divdf3.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/__divdi3.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/__divsf3.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/__divsi3.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/__moddi3.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/__modsi3.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/__udivdi3.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/__udivsi3.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/__umoddi3.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/__umodsi3.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/_setjmp.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/fabs.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/fpgetmask.c#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/fpgetround.c#1 branch .. //depot/projects/kse/lib/libc/ia64/gen/fpsetmask.c#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/fpsetround.c#1 branch .. //depot/projects/kse/lib/libc/ia64/gen/infinity.c#3 integrate .. //depot/projects/kse/lib/libc/ia64/gen/isinf.c#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/makecontext.c#1 branch .. //depot/projects/kse/lib/libc/ia64/gen/setjmp.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/signalcontext.c#1 branch .. //depot/projects/kse/lib/libc/ia64/gen/sigsetjmp.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/gen/unwind.c#2 integrate .. //depot/projects/kse/lib/libc/ia64/net/byte_swap_2.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/net/byte_swap_4.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/net/htonl.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/net/htons.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/net/ntohl.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/net/ntohs.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/stdlib/gdtoa.mk#1 branch .. //depot/projects/kse/lib/libc/ia64/string/bcopy.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/string/bzero.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/string/ffs.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/string/memcpy.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/string/memmove.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/sys/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/ia64/sys/Ovfork.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/sys/brk.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/sys/cerror.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/sys/exect.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/sys/fork.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/sys/getcontext.S#1 branch .. //depot/projects/kse/lib/libc/ia64/sys/pipe.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/sys/ptrace.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/sys/sbrk.S#3 integrate .. //depot/projects/kse/lib/libc/ia64/sys/setlogin.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/sys/sigreturn.S#2 integrate .. //depot/projects/kse/lib/libc/ia64/sys/swapcontext.S#1 branch .. //depot/projects/kse/lib/libc/include/fpmath.h#1 branch .. //depot/projects/kse/lib/libc/include/libc_private.h#2 integrate .. //depot/projects/kse/lib/libc/include/namespace.h#2 integrate .. //depot/projects/kse/lib/libc/include/nss_tls.h#1 branch .. //depot/projects/kse/lib/libc/include/reentrant.h#2 integrate .. //depot/projects/kse/lib/libc/include/spinlock.h#2 integrate .. //depot/projects/kse/lib/libc/include/un-namespace.h#2 integrate .. //depot/projects/kse/lib/libc/locale/Makefile.inc#9 integrate .. //depot/projects/kse/lib/libc/locale/big5.5#1 branch .. //depot/projects/kse/lib/libc/locale/big5.c#2 integrate .. //depot/projects/kse/lib/libc/locale/btowc.3#2 integrate .. //depot/projects/kse/lib/libc/locale/btowc.c#2 integrate .. //depot/projects/kse/lib/libc/locale/collate.c#5 integrate .. //depot/projects/kse/lib/libc/locale/collcmp.c#2 integrate .. //depot/projects/kse/lib/libc/locale/ctype.3#2 integrate .. //depot/projects/kse/lib/libc/locale/digittoint.3#2 integrate .. //depot/projects/kse/lib/libc/locale/euc.4#2 delete .. //depot/projects/kse/lib/libc/locale/euc.5#1 branch .. //depot/projects/kse/lib/libc/locale/euc.c#3 integrate .. //depot/projects/kse/lib/libc/locale/fix_grouping.c#2 integrate .. //depot/projects/kse/lib/libc/locale/frune.c#3 integrate .. //depot/projects/kse/lib/libc/locale/gb18030.5#1 branch .. //depot/projects/kse/lib/libc/locale/gb18030.c#1 branch .. //depot/projects/kse/lib/libc/locale/gb2312.5#1 branch .. //depot/projects/kse/lib/libc/locale/gb2312.c#1 branch .. //depot/projects/kse/lib/libc/locale/gbk.5#1 branch .. //depot/projects/kse/lib/libc/locale/gbk.c#1 branch .. //depot/projects/kse/lib/libc/locale/isalnum.3#2 integrate .. //depot/projects/kse/lib/libc/locale/isalpha.3#2 integrate .. //depot/projects/kse/lib/libc/locale/isascii.3#2 integrate .. //depot/projects/kse/lib/libc/locale/isblank.3#2 integrate .. //depot/projects/kse/lib/libc/locale/iscntrl.3#2 integrate .. //depot/projects/kse/lib/libc/locale/isdigit.3#2 integrate .. //depot/projects/kse/lib/libc/locale/isgraph.3#2 integrate .. //depot/projects/kse/lib/libc/locale/isideogram.3#1 branch .. //depot/projects/kse/lib/libc/locale/islower.3#2 integrate .. //depot/projects/kse/lib/libc/locale/isphonogram.3#1 branch .. //depot/projects/kse/lib/libc/locale/isprint.3#2 integrate .. //depot/projects/kse/lib/libc/locale/ispunct.3#2 integrate .. //depot/projects/kse/lib/libc/locale/isrune.3#1 branch .. //depot/projects/kse/lib/libc/locale/isspace.3#2 integrate .. //depot/projects/kse/lib/libc/locale/isspecial.3#1 branch .. //depot/projects/kse/lib/libc/locale/isupper.3#2 integrate .. //depot/projects/kse/lib/libc/locale/iswalnum.3#2 integrate .. //depot/projects/kse/lib/libc/locale/isxdigit.3#2 integrate .. //depot/projects/kse/lib/libc/locale/ldpart.c#3 integrate .. //depot/projects/kse/lib/libc/locale/ldpart.h#3 integrate .. //depot/projects/kse/lib/libc/locale/lmessages.c#3 integrate .. //depot/projects/kse/lib/libc/locale/lmonetary.c#3 integrate .. //depot/projects/kse/lib/libc/locale/lmonetary.h#2 integrate .. //depot/projects/kse/lib/libc/locale/lnumeric.c#3 integrate .. //depot/projects/kse/lib/libc/locale/localeconv.3#1 branch .. //depot/projects/kse/lib/libc/locale/localeconv.c#2 integrate .. //depot/projects/kse/lib/libc/locale/mblen.3#1 branch .. //depot/projects/kse/lib/libc/locale/mblen.c#3 integrate .. //depot/projects/kse/lib/libc/locale/mbrlen.3#3 integrate .. //depot/projects/kse/lib/libc/locale/mbrtowc.3#3 integrate .. //depot/projects/kse/lib/libc/locale/mbrtowc.c#3 integrate .. //depot/projects/kse/lib/libc/locale/mbrune.3#3 integrate .. //depot/projects/kse/lib/libc/locale/mbrune.c#3 integrate .. //depot/projects/kse/lib/libc/locale/mbsinit.3#2 integrate .. //depot/projects/kse/lib/libc/locale/mbsrtowcs.3#3 integrate .. //depot/projects/kse/lib/libc/locale/mbstowcs.3#1 branch .. //depot/projects/kse/lib/libc/locale/mbstowcs.c#3 integrate .. //depot/projects/kse/lib/libc/locale/mbtowc.3#1 branch .. //depot/projects/kse/lib/libc/locale/mbtowc.c#4 integrate .. //depot/projects/kse/lib/libc/locale/mskanji.5#1 branch .. //depot/projects/kse/lib/libc/locale/mskanji.c#2 integrate .. //depot/projects/kse/lib/libc/locale/multibyte.3#5 integrate .. //depot/projects/kse/lib/libc/locale/nl_langinfo.3#2 integrate .. //depot/projects/kse/lib/libc/locale/nl_langinfo.c#2 integrate .. //depot/projects/kse/lib/libc/locale/none.c#2 integrate .. //depot/projects/kse/lib/libc/locale/rune.3#4 integrate .. //depot/projects/kse/lib/libc/locale/setinvalidrune.c#2 integrate .. //depot/projects/kse/lib/libc/locale/setlocale.3#3 integrate .. //depot/projects/kse/lib/libc/locale/setlocale.c#3 integrate .. //depot/projects/kse/lib/libc/locale/setlocale.h#2 integrate .. //depot/projects/kse/lib/libc/locale/setrunelocale.c#3 integrate .. //depot/projects/kse/lib/libc/locale/srune.c#1 branch .. //depot/projects/kse/lib/libc/locale/table.c#2 integrate .. //depot/projects/kse/lib/libc/locale/tolower.3#2 integrate .. //depot/projects/kse/lib/libc/locale/toupper.3#2 integrate .. //depot/projects/kse/lib/libc/locale/towlower.3#2 integrate .. //depot/projects/kse/lib/libc/locale/towupper.3#1 branch .. //depot/projects/kse/lib/libc/locale/utf2.4#2 integrate .. //depot/projects/kse/lib/libc/locale/utf2.5#1 branch .. //depot/projects/kse/lib/libc/locale/utf2.c#2 integrate .. //depot/projects/kse/lib/libc/locale/utf8.5#1 branch .. //depot/projects/kse/lib/libc/locale/utf8.c#1 branch .. //depot/projects/kse/lib/libc/locale/wcrtomb.3#3 integrate .. //depot/projects/kse/lib/libc/locale/wcrtomb.c#3 integrate .. //depot/projects/kse/lib/libc/locale/wcsftime.3#2 integrate .. //depot/projects/kse/lib/libc/locale/wcsftime.c#3 integrate .. //depot/projects/kse/lib/libc/locale/wcsrtombs.3#3 integrate .. //depot/projects/kse/lib/libc/locale/wcstod.3#2 integrate .. //depot/projects/kse/lib/libc/locale/wcstod.c#2 integrate .. //depot/projects/kse/lib/libc/locale/wcstof.c#1 branch .. //depot/projects/kse/lib/libc/locale/wcstoimax.c#2 integrate .. //depot/projects/kse/lib/libc/locale/wcstol.3#4 integrate .. //depot/projects/kse/lib/libc/locale/wcstold.c#1 branch .. //depot/projects/kse/lib/libc/locale/wcstombs.3#1 branch .. //depot/projects/kse/lib/libc/locale/wcstombs.c#3 integrate .. //depot/projects/kse/lib/libc/locale/wctob.c#2 integrate .. //depot/projects/kse/lib/libc/locale/wctomb.3#1 branch .. //depot/projects/kse/lib/libc/locale/wctomb.c#3 integrate .. //depot/projects/kse/lib/libc/locale/wctrans.3#2 integrate .. //depot/projects/kse/lib/libc/locale/wctrans.c#2 integrate .. //depot/projects/kse/lib/libc/locale/wctype.3#2 integrate .. //depot/projects/kse/lib/libc/locale/wctype.c#2 integrate .. //depot/projects/kse/lib/libc/locale/wcwidth.3#2 integrate .. //depot/projects/kse/lib/libc/net/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/net/addr2ascii.3#2 integrate .. //depot/projects/kse/lib/libc/net/ethers.3#2 integrate .. //depot/projects/kse/lib/libc/net/getaddrinfo.3#2 integrate .. //depot/projects/kse/lib/libc/net/getaddrinfo.c#6 integrate .. //depot/projects/kse/lib/libc/net/gethostbydns.c#4 integrate .. //depot/projects/kse/lib/libc/net/gethostbyname.3#2 integrate .. //depot/projects/kse/lib/libc/net/gethostbynis.c#2 integrate .. //depot/projects/kse/lib/libc/net/gethostnamadr.c#2 integrate .. //depot/projects/kse/lib/libc/net/getifaddrs.3#2 integrate .. //depot/projects/kse/lib/libc/net/getifmaddrs.3#1 branch .. //depot/projects/kse/lib/libc/net/getifmaddrs.c#1 branch .. //depot/projects/kse/lib/libc/net/getipnodebyname.3#2 integrate .. //depot/projects/kse/lib/libc/net/getnameinfo.3#2 integrate .. //depot/projects/kse/lib/libc/net/getnameinfo.c#2 integrate .. //depot/projects/kse/lib/libc/net/getnetbydns.c#5 integrate .. //depot/projects/kse/lib/libc/net/getnetent.3#2 integrate .. //depot/projects/kse/lib/libc/net/getnetnamadr.c#2 integrate .. //depot/projects/kse/lib/libc/net/getservent.c#2 integrate .. //depot/projects/kse/lib/libc/net/herror.c#2 integrate .. //depot/projects/kse/lib/libc/net/hesiod.3#2 integrate .. //depot/projects/kse/lib/libc/net/hesiod.c#3 integrate .. //depot/projects/kse/lib/libc/net/if_indextoname.3#3 integrate .. //depot/projects/kse/lib/libc/net/if_nametoindex.c#2 integrate .. //depot/projects/kse/lib/libc/net/inet6_opt_init.3#1 branch .. //depot/projects/kse/lib/libc/net/inet6_option_space.3#2 integrate .. //depot/projects/kse/lib/libc/net/inet6_rth_space.3#1 branch .. //depot/projects/kse/lib/libc/net/inet6_rthdr_space.3#2 integrate .. //depot/projects/kse/lib/libc/net/inet_net.3#2 integrate .. //depot/projects/kse/lib/libc/net/inet_net_pton.c#2 integrate .. //depot/projects/kse/lib/libc/net/inet_neta.c#2 integrate .. //depot/projects/kse/lib/libc/net/ip6opt.c#2 integrate .. //depot/projects/kse/lib/libc/net/iso_addr.3#2 delete .. //depot/projects/kse/lib/libc/net/iso_addr.c#2 delete .. //depot/projects/kse/lib/libc/net/linkaddr.3#2 integrate .. //depot/projects/kse/lib/libc/net/name6.c#5 integrate .. //depot/projects/kse/lib/libc/net/ns.3#2 delete .. //depot/projects/kse/lib/libc/net/ns_addr.c#3 delete .. //depot/projects/kse/lib/libc/net/ns_name.c#2 integrate .. //depot/projects/kse/lib/libc/net/ns_ntoa.c#3 delete .. //depot/projects/kse/lib/libc/net/ns_ttl.c#2 integrate .. //depot/projects/kse/lib/libc/net/nsdispatch.3#2 integrate .. //depot/projects/kse/lib/libc/net/nsdispatch.c#2 integrate .. //depot/projects/kse/lib/libc/net/nslexer.l#2 integrate .. //depot/projects/kse/lib/libc/net/nsparser.y#2 integrate .. //depot/projects/kse/lib/libc/net/nss_backends.h#1 branch .. //depot/projects/kse/lib/libc/net/nss_compat.c#1 branch .. //depot/projects/kse/lib/libc/net/rcmd.3#2 integrate .. //depot/projects/kse/lib/libc/net/rcmd.c#3 integrate .. //depot/projects/kse/lib/libc/net/rcmdsh.3#2 integrate .. //depot/projects/kse/lib/libc/net/rcmdsh.c#2 integrate .. //depot/projects/kse/lib/libc/net/res_debug.c#2 integrate .. //depot/projects/kse/lib/libc/net/res_init.c#2 integrate .. //depot/projects/kse/lib/libc/net/res_mkupdate.c#2 integrate .. //depot/projects/kse/lib/libc/net/res_query.c#4 integrate .. //depot/projects/kse/lib/libc/net/res_send.c#2 integrate .. //depot/projects/kse/lib/libc/net/res_send_private.h#1 branch .. //depot/projects/kse/lib/libc/net/resolver.3#2 integrate .. //depot/projects/kse/lib/libc/net/rthdr.c#2 integrate .. //depot/projects/kse/lib/libc/net/sockatmark.3#1 branch .. //depot/projects/kse/lib/libc/net/sockatmark.c#1 branch .. //depot/projects/kse/lib/libc/nls/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/nls/msgcat.c#3 integrate .. //depot/projects/kse/lib/libc/posix1e/Makefile.inc#3 integrate .. //depot/projects/kse/lib/libc/posix1e/acl.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_add_perm.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_calc_mask.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_clear_perms.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_copy_entry.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_create_entry.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_delete.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_delete.c#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_delete_entry.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_delete_entry.c#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_delete_perm.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_dup.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_free.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_from_text.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_get.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_get.c#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_get_entry.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_get_perm_np.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_get_permset.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_get_qualifier.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_get_tag_type.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_init.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_set.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_set.c#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_set_permset.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_set_qualifier.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_set_tag_type.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_support.c#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_to_text.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_to_text.c#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_valid.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/acl_valid.c#2 integrate .. //depot/projects/kse/lib/libc/posix1e/extattr.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/mac.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/mac.c#1 branch .. //depot/projects/kse/lib/libc/posix1e/mac.conf.5#1 branch .. //depot/projects/kse/lib/libc/posix1e/mac_biba.c#2 delete .. //depot/projects/kse/lib/libc/posix1e/mac_exec.c#1 branch .. //depot/projects/kse/lib/libc/posix1e/mac_free.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/mac_free.c#2 delete .. //depot/projects/kse/lib/libc/posix1e/mac_get.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/mac_get.c#2 integrate .. //depot/projects/kse/lib/libc/posix1e/mac_internal.h#2 delete .. //depot/projects/kse/lib/libc/posix1e/mac_is_present_np.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/mac_is_present_np.c#2 delete .. //depot/projects/kse/lib/libc/posix1e/mac_mls.c#2 delete .. //depot/projects/kse/lib/libc/posix1e/mac_prepare.3#1 branch .. //depot/projects/kse/lib/libc/posix1e/mac_sebsd.c#2 delete .. //depot/projects/kse/lib/libc/posix1e/mac_set.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/mac_set.c#2 integrate .. //depot/projects/kse/lib/libc/posix1e/mac_te.c#2 delete .. //depot/projects/kse/lib/libc/posix1e/mac_text.3#2 integrate .. //depot/projects/kse/lib/libc/posix1e/mac_text.c#2 delete .. //depot/projects/kse/lib/libc/posix1e/posix1e.3#3 integrate .. //depot/projects/kse/lib/libc/powerpc/SYS.h#2 integrate .. //depot/projects/kse/lib/libc/powerpc/_fpmath.h#1 branch .. //depot/projects/kse/lib/libc/powerpc/arith.h#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/Makefile.inc#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/_ctx_start.S#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/_setjmp.S#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/fabs.S#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/flt_rounds.c#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/fpgetmask.c#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/fpgetround.c#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/fpgetsticky.c#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/fpsetmask.c#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/fpsetround.c#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/fpsetsticky.c#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/frexp.c#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/infinity.c#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/isinf.c#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/ldexp.c#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/makecontext.c#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/modf.c#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/setjmp.S#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/sigsetjmp.S#1 branch .. //depot/projects/kse/lib/libc/powerpc/gen/syncicache.c#1 branch .. //depot/projects/kse/lib/libc/powerpc/stdlib/gdtoa.mk#1 branch .. //depot/projects/kse/lib/libc/powerpc/sys/Makefile.inc#1 branch .. //depot/projects/kse/lib/libc/powerpc/sys/brk.S#1 branch .. //depot/projects/kse/lib/libc/powerpc/sys/cerror.S#1 branch .. //depot/projects/kse/lib/libc/powerpc/sys/exect.S#1 branch .. //depot/projects/kse/lib/libc/powerpc/sys/pipe.S#1 branch .. //depot/projects/kse/lib/libc/powerpc/sys/ptrace.S#1 branch .. //depot/projects/kse/lib/libc/powerpc/sys/sbrk.S#1 branch .. //depot/projects/kse/lib/libc/powerpc/sys/setlogin.S#1 branch .. //depot/projects/kse/lib/libc/quad/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/regex/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/regex/engine.c#2 integrate .. //depot/projects/kse/lib/libc/regex/regcomp.c#3 integrate .. //depot/projects/kse/lib/libc/regex/regerror.c#2 integrate .. //depot/projects/kse/lib/libc/regex/regex.3#2 integrate .. //depot/projects/kse/lib/libc/regex/regexec.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/Makefile.inc#3 integrate .. //depot/projects/kse/lib/libc/rpc/PSD.doc/nfs.rfc.ms#2 integrate .. //depot/projects/kse/lib/libc/rpc/PSD.doc/rpc.prog.ms#2 integrate .. //depot/projects/kse/lib/libc/rpc/PSD.doc/rpc.rfc.ms#2 integrate .. //depot/projects/kse/lib/libc/rpc/PSD.doc/rpcgen.ms#2 integrate .. //depot/projects/kse/lib/libc/rpc/PSD.doc/stubs#2 integrate .. //depot/projects/kse/lib/libc/rpc/PSD.doc/xdr.nts.ms#2 integrate .. //depot/projects/kse/lib/libc/rpc/PSD.doc/xdr.rfc.ms#2 integrate .. //depot/projects/kse/lib/libc/rpc/auth_time.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/bindresvport.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/clnt_bcast.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/clnt_dg.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/clnt_simple.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/crypt_client.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/des_crypt.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/getnetconfig.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/getnetconfig.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/getnetpath.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/getnetpath.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/getrpcent.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/getrpcent.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/getrpcport.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/mt_misc.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/publickey.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/publickey.5#2 integrate .. //depot/projects/kse/lib/libc/rpc/rpc.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/rpc_clnt_auth.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/rpc_clnt_calls.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/rpc_clnt_create.3#4 integrate .. //depot/projects/kse/lib/libc/rpc/rpc_com.h#2 integrate .. //depot/projects/kse/lib/libc/rpc/rpc_generic.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/rpc_secure.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/rpc_soc.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/rpc_soc.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/rpc_svc_calls.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/rpc_svc_create.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/rpc_svc_err.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/rpc_svc_reg.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/rpcb_clnt.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/rpcb_prot.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/rpcbind.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/rtime.3#2 integrate .. //depot/projects/kse/lib/libc/rpc/svc.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/svc_dg.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/svc_generic.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/svc_run.c#2 integrate .. //depot/projects/kse/lib/libc/rpc/svc_vc.c#2 integrate .. //depot/projects/kse/lib/libc/sparc64/_fpmath.h#1 branch .. //depot/projects/kse/lib/libc/sparc64/arith.h#1 branch .. //depot/projects/kse/lib/libc/sparc64/fpu/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/sparc64/fpu/fpu.c#2 integrate .. //depot/projects/kse/lib/libc/sparc64/fpu/fpu_qp.c#3 integrate .. //depot/projects/kse/lib/libc/sparc64/gen/Makefile.inc#4 integrate .. //depot/projects/kse/lib/libc/sparc64/gen/_ctx_start.S#1 branch .. //depot/projects/kse/lib/libc/sparc64/gen/_setjmp.S#2 integrate .. //depot/projects/kse/lib/libc/sparc64/gen/fabs.S#2 integrate .. //depot/projects/kse/lib/libc/sparc64/gen/infinity.c#3 integrate .. //depot/projects/kse/lib/libc/sparc64/gen/isinf.c#2 integrate .. //depot/projects/kse/lib/libc/sparc64/gen/makecontext.c#1 branch .. //depot/projects/kse/lib/libc/sparc64/gen/setjmp.S#2 integrate .. //depot/projects/kse/lib/libc/sparc64/gen/signalcontext.c#1 branch .. //depot/projects/kse/lib/libc/sparc64/gen/sigsetjmp.S#2 integrate .. //depot/projects/kse/lib/libc/sparc64/stdlib/gdtoa.mk#1 branch .. //depot/projects/kse/lib/libc/sparc64/sys/Makefile.inc#3 integrate .. //depot/projects/kse/lib/libc/sparc64/sys/__sparc_sigtramp_setup.c#2 integrate .. //depot/projects/kse/lib/libc/sparc64/sys/__sparc_utrap.c#2 integrate .. //depot/projects/kse/lib/libc/sparc64/sys/__sparc_utrap_install.c#2 integrate .. //depot/projects/kse/lib/libc/sparc64/sys/__sparc_utrap_setup.c#2 integrate .. //depot/projects/kse/lib/libc/sparc64/sys/sigcode.S#2 integrate .. //depot/projects/kse/lib/libc/stdio/Makefile.inc#5 integrate .. //depot/projects/kse/lib/libc/stdio/_flock_stub.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/asprintf.c#4 integrate .. //depot/projects/kse/lib/libc/stdio/fclose.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/feof.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/ferror.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/ferror.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/fflush.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/fgetc.c#3 integrate .. //depot/projects/kse/lib/libc/stdio/fgetln.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/fgetpos.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/fgets.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/fgetwc.c#3 integrate .. //depot/projects/kse/lib/libc/stdio/fgetws.3#3 integrate .. //depot/projects/kse/lib/libc/stdio/fileno.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/findfp.c#3 integrate .. //depot/projects/kse/lib/libc/stdio/floatio.h#2 integrate .. //depot/projects/kse/lib/libc/stdio/flockfile.3#1 branch .. //depot/projects/kse/lib/libc/stdio/fopen.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/fopen.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/fputc.c#3 integrate .. //depot/projects/kse/lib/libc/stdio/fputs.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/fputs.c#3 integrate .. //depot/projects/kse/lib/libc/stdio/fputwc.c#3 integrate .. //depot/projects/kse/lib/libc/stdio/fputws.3#3 integrate .. //depot/projects/kse/lib/libc/stdio/fread.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/fread.c#3 integrate .. //depot/projects/kse/lib/libc/stdio/freopen.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/fscanf.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/fseek.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/funopen.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/fvwrite.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/fwide.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/fwrite.c#3 integrate .. //depot/projects/kse/lib/libc/stdio/getc.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/getc.c#3 integrate .. //depot/projects/kse/lib/libc/stdio/getchar.c#3 integrate .. //depot/projects/kse/lib/libc/stdio/gets.c#3 integrate .. //depot/projects/kse/lib/libc/stdio/getwc.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/getwc.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/getwchar.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/local.h#6 integrate .. //depot/projects/kse/lib/libc/stdio/mktemp.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/mktemp.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/perror.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/printf.3#5 integrate .. //depot/projects/kse/lib/libc/stdio/putc.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/putc.c#3 integrate .. //depot/projects/kse/lib/libc/stdio/putchar.c#3 integrate .. //depot/projects/kse/lib/libc/stdio/puts.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/putwc.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/putwc.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/putwchar.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/scanf.3#3 integrate .. //depot/projects/kse/lib/libc/stdio/scanf.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/setbuf.3#4 integrate .. //depot/projects/kse/lib/libc/stdio/sscanf.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/stdio.3#4 integrate .. //depot/projects/kse/lib/libc/stdio/stdio.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/tmpfile.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/tmpnam.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/ungetc.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/ungetc.c#3 integrate .. //depot/projects/kse/lib/libc/stdio/ungetwc.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/ungetwc.c#3 integrate .. //depot/projects/kse/lib/libc/stdio/unlocked.c#1 branch .. //depot/projects/kse/lib/libc/stdio/vasprintf.c#4 integrate .. //depot/projects/kse/lib/libc/stdio/vfprintf.c#6 integrate .. //depot/projects/kse/lib/libc/stdio/vfscanf.c#4 integrate .. //depot/projects/kse/lib/libc/stdio/vfwprintf.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/vfwscanf.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/vscanf.c#3 integrate .. //depot/projects/kse/lib/libc/stdio/vsnprintf.c#6 integrate .. //depot/projects/kse/lib/libc/stdio/vsscanf.c#4 integrate .. //depot/projects/kse/lib/libc/stdio/vswprintf.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/vswscanf.c#2 integrate .. //depot/projects/kse/lib/libc/stdio/wprintf.3#2 integrate .. //depot/projects/kse/lib/libc/stdio/wscanf.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/Makefile.inc#3 integrate .. //depot/projects/kse/lib/libc/stdlib/abort.c#2 integrate .. //depot/projects/kse/lib/libc/stdlib/abs.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/alloca.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/atexit.3#3 integrate .. //depot/projects/kse/lib/libc/stdlib/atexit.c#2 integrate .. //depot/projects/kse/lib/libc/stdlib/atexit.h#2 integrate .. //depot/projects/kse/lib/libc/stdlib/atof.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/atof.c#2 integrate .. //depot/projects/kse/lib/libc/stdlib/atoi.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/div.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/exit.3#4 integrate .. //depot/projects/kse/lib/libc/stdlib/exit.c#2 integrate .. //depot/projects/kse/lib/libc/stdlib/getenv.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/getopt.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/getopt.c#2 integrate .. //depot/projects/kse/lib/libc/stdlib/getopt_long.3#1 branch .. //depot/projects/kse/lib/libc/stdlib/getopt_long.c#1 branch .. //depot/projects/kse/lib/libc/stdlib/getsubopt.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/getsubopt.c#2 integrate .. //depot/projects/kse/lib/libc/stdlib/grantpt.3#1 branch .. //depot/projects/kse/lib/libc/stdlib/grantpt.c#1 branch .. //depot/projects/kse/lib/libc/stdlib/hcreate.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/insque.3#1 branch .. //depot/projects/kse/lib/libc/stdlib/insque.c#1 branch .. //depot/projects/kse/lib/libc/stdlib/labs.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/ldiv.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/lsearch.3#1 branch .. //depot/projects/kse/lib/libc/stdlib/lsearch.c#1 branch .. //depot/projects/kse/lib/libc/stdlib/malloc.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/malloc.c#4 integrate .. //depot/projects/kse/lib/libc/stdlib/qsort.3#3 integrate .. //depot/projects/kse/lib/libc/stdlib/radixsort.c#2 integrate .. //depot/projects/kse/lib/libc/stdlib/rand.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/rand.c#2 integrate .. //depot/projects/kse/lib/libc/stdlib/random.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/random.c#2 integrate .. //depot/projects/kse/lib/libc/stdlib/realpath.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/realpath.c#2 integrate .. //depot/projects/kse/lib/libc/stdlib/remque.c#1 branch .. //depot/projects/kse/lib/libc/stdlib/strfmon.3#3 integrate .. //depot/projects/kse/lib/libc/stdlib/strfmon.c#3 integrate .. //depot/projects/kse/lib/libc/stdlib/strhash.c#2 delete .. //depot/projects/kse/lib/libc/stdlib/strtod.3#4 integrate .. //depot/projects/kse/lib/libc/stdlib/strtod.c#4 delete .. //depot/projects/kse/lib/libc/stdlib/strtoimax.c#4 integrate .. //depot/projects/kse/lib/libc/stdlib/strtol.3#4 integrate .. //depot/projects/kse/lib/libc/stdlib/strtoul.3#4 integrate .. //depot/projects/kse/lib/libc/stdlib/tdelete.c#4 integrate .. //depot/projects/kse/lib/libc/stdlib/tfind.c#2 integrate .. //depot/projects/kse/lib/libc/stdlib/tsearch.3#4 integrate .. //depot/projects/kse/lib/libc/stdlib/tsearch.c#2 integrate .. //depot/projects/kse/lib/libc/stdlib/twalk.c#2 integrate .. //depot/projects/kse/lib/libc/stdtime/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/stdtime/asctime.c#2 integrate .. //depot/projects/kse/lib/libc/stdtime/ctime.3#2 integrate .. //depot/projects/kse/lib/libc/stdtime/difftime.c#2 integrate .. //depot/projects/kse/lib/libc/stdtime/localtime.c#3 integrate .. //depot/projects/kse/lib/libc/stdtime/strftime.3#4 integrate .. //depot/projects/kse/lib/libc/stdtime/strptime.3#4 integrate .. //depot/projects/kse/lib/libc/stdtime/strptime.c#4 integrate .. //depot/projects/kse/lib/libc/stdtime/timelocal.c#3 integrate .. //depot/projects/kse/lib/libc/string/Makefile.inc#4 integrate .. //depot/projects/kse/lib/libc/string/bcmp.3#3 integrate .. //depot/projects/kse/lib/libc/string/bcopy.3#3 integrate .. //depot/projects/kse/lib/libc/string/bcopy.c#3 integrate .. //depot/projects/kse/lib/libc/string/bzero.3#3 integrate .. //depot/projects/kse/lib/libc/string/ffs.3#3 integrate .. //depot/projects/kse/lib/libc/string/ffs.c#3 integrate .. //depot/projects/kse/lib/libc/string/ffsl.c#1 branch .. //depot/projects/kse/lib/libc/string/fls.c#1 branch .. //depot/projects/kse/lib/libc/string/flsl.c#1 branch .. //depot/projects/kse/lib/libc/string/index.3#3 integrate .. //depot/projects/kse/lib/libc/string/index.c#3 integrate .. //depot/projects/kse/lib/libc/string/rindex.3#3 integrate .. //depot/projects/kse/lib/libc/string/rindex.c#3 integrate .. //depot/projects/kse/lib/libc/string/stpcpy.c#1 branch .. //depot/projects/kse/lib/libc/string/strcasecmp.3#3 integrate .. //depot/projects/kse/lib/libc/string/strchr.3#2 integrate .. //depot/projects/kse/lib/libc/string/strcoll.3#2 integrate .. //depot/projects/kse/lib/libc/string/strcpy.3#4 integrate .. //depot/projects/kse/lib/libc/string/strerror.3#2 integrate .. //depot/projects/kse/lib/libc/string/strerror.c#2 integrate .. //depot/projects/kse/lib/libc/string/string.3#2 integrate .. //depot/projects/kse/lib/libc/string/strlcat.c#2 integrate .. //depot/projects/kse/lib/libc/string/strlcpy.3#2 integrate .. //depot/projects/kse/lib/libc/string/strlcpy.c#2 integrate .. //depot/projects/kse/lib/libc/string/strmode.3#2 integrate .. //depot/projects/kse/lib/libc/string/strrchr.3#2 delete .. //depot/projects/kse/lib/libc/string/strsep.3#3 integrate .. //depot/projects/kse/lib/libc/string/strtok.3#2 integrate .. //depot/projects/kse/lib/libc/string/strxfrm.3#4 integrate .. //depot/projects/kse/lib/libc/string/wcscat.c#4 integrate .. //depot/projects/kse/lib/libc/string/wcschr.c#3 integrate .. //depot/projects/kse/lib/libc/string/wcscmp.c#3 integrate .. //depot/projects/kse/lib/libc/string/wcscoll.3#1 branch .. //depot/projects/kse/lib/libc/string/wcscoll.c#1 branch .. //depot/projects/kse/lib/libc/string/wcscpy.c#4 integrate .. //depot/projects/kse/lib/libc/string/wcsncmp.c#3 integrate .. //depot/projects/kse/lib/libc/string/wcsncpy.c#4 integrate .. //depot/projects/kse/lib/libc/string/wcsrchr.c#3 integrate .. //depot/projects/kse/lib/libc/string/wcsstr.c#4 integrate .. //depot/projects/kse/lib/libc/string/wcstok.3#2 integrate .. //depot/projects/kse/lib/libc/string/wcstok.c#2 integrate .. //depot/projects/kse/lib/libc/string/wcswidth.3#2 integrate .. //depot/projects/kse/lib/libc/string/wcsxfrm.3#1 branch .. //depot/projects/kse/lib/libc/string/wcsxfrm.c#1 branch .. //depot/projects/kse/lib/libc/sys/Makefile.inc#3 integrate .. //depot/projects/kse/lib/libc/sys/_exit.2#2 integrate .. //depot/projects/kse/lib/libc/sys/accept.2#2 integrate .. //depot/projects/kse/lib/libc/sys/access.2#2 integrate .. //depot/projects/kse/lib/libc/sys/acct.2#3 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Apr 1 00:53:12 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8CFC516A4D0; Thu, 1 Apr 2004 00:53:12 -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 5A7EA16A4CE for ; Thu, 1 Apr 2004 00:53:12 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4E6D343D1F for ; Thu, 1 Apr 2004 00:53:12 -0800 (PST) (envelope-from dfr@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i318rCGe067080 for ; Thu, 1 Apr 2004 00:53:12 -0800 (PST) (envelope-from dfr@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i318r9uk067077 for perforce@freebsd.org; Thu, 1 Apr 2004 00:53:09 -0800 (PST) (envelope-from dfr@freebsd.org) Date: Thu, 1 Apr 2004 00:53:09 -0800 (PST) Message-Id: <200404010853.i318r9uk067077@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dfr@freebsd.org using -f From: Doug Rabson To: Perforce Change Reviews Subject: PERFORCE change 50110 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: Thu, 01 Apr 2004 08:53:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=50110 Change 50110 by dfr@dfr_home on 2004/04/01 00:52:24 IFC Affected files ... .. //depot/projects/kse/gnu/usr.bin/binutils/gdb/solib-fbsd-kld.c#2 integrate .. //depot/projects/kse/include/getopt.h#2 integrate .. //depot/projects/kse/include/nss.h#2 integrate .. //depot/projects/kse/lib/libc/alpha/_fpmath.h#2 integrate .. //depot/projects/kse/lib/libc/alpha/arith.h#2 integrate .. //depot/projects/kse/lib/libc/gdtoa/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/gdtoa/_ldtoa.c#2 integrate .. //depot/projects/kse/lib/libc/gdtoa/glue.c#2 integrate .. //depot/projects/kse/lib/libc/gen/check_utility_compat.c#2 integrate .. //depot/projects/kse/lib/libc/gen/dlinfo.3#2 integrate .. //depot/projects/kse/lib/libc/gen/fpclassify.3#2 integrate .. //depot/projects/kse/lib/libc/gen/isgreater.3#2 integrate .. //depot/projects/kse/lib/libc/gen/wordexp.3#2 integrate .. //depot/projects/kse/lib/libc/i386/_fpmath.h#2 integrate .. //depot/projects/kse/lib/libc/i386/arith.h#2 integrate .. //depot/projects/kse/lib/libc/ia64/_fpmath.h#2 integrate .. //depot/projects/kse/lib/libc/ia64/arith.h#2 integrate .. //depot/projects/kse/lib/libc/include/fpmath.h#2 integrate .. //depot/projects/kse/lib/libc/include/nss_tls.h#2 integrate .. //depot/projects/kse/lib/libc/locale/utf2.4#3 delete .. //depot/projects/kse/lib/libc/locale/utf8.5#2 integrate .. //depot/projects/kse/lib/libc/locale/utf8.c#2 integrate .. //depot/projects/kse/lib/libc/locale/wcstof.c#2 integrate .. //depot/projects/kse/lib/libc/locale/wcstold.c#2 integrate .. //depot/projects/kse/lib/libc/net/nss_compat.c#2 integrate .. //depot/projects/kse/lib/libc/posix1e/mac.c#2 integrate .. //depot/projects/kse/lib/libc/posix1e/mac.conf.5#2 integrate .. //depot/projects/kse/lib/libc/posix1e/mac_prepare.3#2 integrate .. //depot/projects/kse/lib/libc/powerpc/_fpmath.h#2 integrate .. //depot/projects/kse/lib/libc/powerpc/arith.h#2 integrate .. //depot/projects/kse/lib/libc/powerpc/gen/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/powerpc/gen/isinf.c#2 integrate .. //depot/projects/kse/lib/libc/powerpc/gen/syncicache.c#2 integrate .. //depot/projects/kse/lib/libc/powerpc/sys/Makefile.inc#2 integrate .. //depot/projects/kse/lib/libc/sparc64/_fpmath.h#2 integrate .. //depot/projects/kse/lib/libc/sparc64/arith.h#2 integrate .. //depot/projects/kse/lib/libc/stdlib/getopt_long.3#2 integrate .. //depot/projects/kse/lib/libc/stdlib/getopt_long.c#2 integrate .. //depot/projects/kse/lib/libc/stdlib/grantpt.3#2 integrate .. //depot/projects/kse/lib/libc/string/rindex.3#4 delete .. //depot/projects/kse/lib/libc/string/wcscoll.c#2 integrate .. //depot/projects/kse/lib/libc/string/wcsxfrm.c#2 integrate .. //depot/projects/kse/lib/libc/sys/kse.2#2 integrate .. //depot/projects/kse/lib/libc/sys/lio_listio.2#2 integrate .. //depot/projects/kse/lib/libc/sys/ntp_adjtime.2#2 integrate .. //depot/projects/kse/lib/libc/sys/ntp_gettime.2#2 integrate .. //depot/projects/kse/lib/libc/sys/sem.c#3 delete .. //depot/projects/kse/lib/libc/uuid/uuid.3#2 integrate .. //depot/projects/kse/lib/libc/uuid/uuid_compare.c#2 integrate .. //depot/projects/kse/lib/libc/uuid/uuid_create.c#2 integrate .. //depot/projects/kse/lib/libc/uuid/uuid_create_nil.c#2 integrate .. //depot/projects/kse/lib/libc/uuid/uuid_equal.c#2 integrate .. //depot/projects/kse/lib/libc/uuid/uuid_from_string.c#2 integrate .. //depot/projects/kse/lib/libc/uuid/uuid_hash.c#2 integrate .. //depot/projects/kse/lib/libc/uuid/uuid_is_nil.c#2 integrate .. //depot/projects/kse/lib/libc/uuid/uuid_to_string.c#2 integrate .. //depot/projects/kse/lib/libc_r/Makefile#4 integrate .. //depot/projects/kse/lib/libc_r/arch/ia64/_atomic_lock.S#4 integrate .. //depot/projects/kse/lib/libc_r/man/Makefile.inc#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_attr.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_attr_get_np.3#2 delete .. //depot/projects/kse/lib/libc_r/man/pthread_attr_setcreatesuspend_np.3#2 delete .. //depot/projects/kse/lib/libc_r/man/pthread_cancel.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_cleanup_pop.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_cleanup_push.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_cond_broadcast.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_cond_destroy.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_cond_init.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_cond_signal.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_cond_timedwait.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_cond_wait.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_condattr.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_create.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_detach.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_equal.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_exit.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_getconcurrency.3#2 delete .. //depot/projects/kse/lib/libc_r/man/pthread_getspecific.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_join.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_key_create.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_key_delete.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_kill.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_main_np.3#2 delete .. //depot/projects/kse/lib/libc_r/man/pthread_multi_np.3#2 delete .. //depot/projects/kse/lib/libc_r/man/pthread_mutex_destroy.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_mutex_init.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_mutex_lock.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_mutex_trylock.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_mutex_unlock.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_mutexattr.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_mutexattr_getkind_np.3#2 delete .. //depot/projects/kse/lib/libc_r/man/pthread_once.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_resume_all_np.3#2 delete .. //depot/projects/kse/lib/libc_r/man/pthread_resume_np.3#2 delete .. //depot/projects/kse/lib/libc_r/man/pthread_rwlock_wrlock.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_rwlockattr_destroy.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_rwlockattr_getpshared.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_rwlockattr_init.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_rwlockattr_setpshared.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_schedparam.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_self.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_set_name_np.3#2 delete .. //depot/projects/kse/lib/libc_r/man/pthread_setspecific.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_sigmask.3#4 delete .. //depot/projects/kse/lib/libc_r/man/pthread_suspend_all_np.3#2 delete .. //depot/projects/kse/lib/libc_r/man/pthread_suspend_np.3#2 delete .. //depot/projects/kse/lib/libc_r/man/pthread_switch_add_np.3#2 delete .. //depot/projects/kse/lib/libc_r/man/pthread_testcancel.3#4 delete .. //depot/projects/kse/lib/libc_r/man/sem_destroy.3#4 delete .. //depot/projects/kse/lib/libc_r/man/sem_getvalue.3#4 delete .. //depot/projects/kse/lib/libc_r/man/sem_init.3#4 delete .. //depot/projects/kse/lib/libc_r/man/sem_open.3#4 delete .. //depot/projects/kse/lib/libc_r/man/sem_post.3#4 delete .. //depot/projects/kse/lib/libc_r/man/sem_wait.3#4 delete .. //depot/projects/kse/lib/libc_r/man/sigwait.3#4 delete .. //depot/projects/kse/lib/libc_r/uthread/Makefile.inc#9 integrate .. //depot/projects/kse/lib/libc_r/uthread/pthread_private.h#12 integrate .. //depot/projects/kse/lib/libc_r/uthread/uthread_create.c#10 integrate .. //depot/projects/kse/lib/libc_r/uthread/uthread_init.c#11 integrate .. //depot/projects/kse/lib/libc_r/uthread/uthread_join.c#5 integrate .. //depot/projects/kse/lib/libc_r/uthread/uthread_rwlock.c#5 integrate .. //depot/projects/kse/lib/libc_r/uthread/uthread_sig.c#5 integrate .. //depot/projects/kse/lib/libc_r/uthread/uthread_write.c#7 integrate .. //depot/projects/kse/lib/libpthread/Makefile#4 branch .. //depot/projects/kse/lib/libpthread/arch/alpha/Makefile.inc#1 branch .. //depot/projects/kse/lib/libpthread/arch/alpha/alpha/context.S#1 branch .. //depot/projects/kse/lib/libpthread/arch/alpha/alpha/enter_uts.S#1 branch .. //depot/projects/kse/lib/libpthread/arch/alpha/alpha/pthread_md.c#1 branch .. //depot/projects/kse/lib/libpthread/arch/alpha/include/atomic_ops.h#1 branch .. //depot/projects/kse/lib/libpthread/arch/alpha/include/pthread_md.h#1 branch .. //depot/projects/kse/lib/libpthread/arch/amd64/Makefile.inc#1 branch .. //depot/projects/kse/lib/libpthread/arch/amd64/amd64/context.S#1 branch .. //depot/projects/kse/lib/libpthread/arch/amd64/amd64/enter_uts.S#1 branch .. //depot/projects/kse/lib/libpthread/arch/amd64/amd64/pthread_md.c#1 branch .. //depot/projects/kse/lib/libpthread/arch/amd64/include/atomic_ops.h#1 branch .. //depot/projects/kse/lib/libpthread/arch/amd64/include/pthread_md.h#1 branch .. //depot/projects/kse/lib/libpthread/arch/i386/Makefile.inc#1 branch .. //depot/projects/kse/lib/libpthread/arch/i386/i386/pthread_md.c#1 branch .. //depot/projects/kse/lib/libpthread/arch/i386/i386/thr_enter_uts.S#1 branch .. //depot/projects/kse/lib/libpthread/arch/i386/i386/thr_getcontext.S#1 branch .. //depot/projects/kse/lib/libpthread/arch/i386/include/atomic_ops.h#1 branch .. //depot/projects/kse/lib/libpthread/arch/i386/include/pthread_md.h#1 branch .. //depot/projects/kse/lib/libpthread/arch/ia64/Makefile.inc#1 branch .. //depot/projects/kse/lib/libpthread/arch/ia64/ia64/context.S#1 branch .. //depot/projects/kse/lib/libpthread/arch/ia64/ia64/enter_uts.S#1 branch .. //depot/projects/kse/lib/libpthread/arch/ia64/ia64/pthread_md.c#1 branch .. //depot/projects/kse/lib/libpthread/arch/ia64/include/atomic_ops.h#1 branch .. //depot/projects/kse/lib/libpthread/arch/ia64/include/pthread_md.h#1 branch .. //depot/projects/kse/lib/libpthread/arch/sparc64/Makefile.inc#1 branch .. //depot/projects/kse/lib/libpthread/arch/sparc64/include/atomic_ops.h#1 branch .. //depot/projects/kse/lib/libpthread/arch/sparc64/include/pthread_md.h#1 branch .. //depot/projects/kse/lib/libpthread/arch/sparc64/sparc64/assym.s#1 branch .. //depot/projects/kse/lib/libpthread/arch/sparc64/sparc64/pthread_md.c#1 branch .. //depot/projects/kse/lib/libpthread/arch/sparc64/sparc64/thr_getcontext.S#1 branch .. //depot/projects/kse/lib/libpthread/pthread.map#1 branch .. //depot/projects/kse/lib/libpthread/support/Makefile.inc#1 branch .. //depot/projects/kse/lib/libpthread/support/thr_support.c#1 branch .. //depot/projects/kse/lib/libpthread/sys/Makefile.inc#3 branch .. //depot/projects/kse/lib/libpthread/sys/lock.c#1 branch .. //depot/projects/kse/lib/libpthread/sys/lock.h#1 branch .. //depot/projects/kse/lib/libpthread/sys/thr_error.c#1 branch .. //depot/projects/kse/lib/libpthread/test/Makefile#4 branch .. //depot/projects/kse/lib/libpthread/test/README#4 branch .. //depot/projects/kse/lib/libpthread/test/guard_b.c#3 branch .. //depot/projects/kse/lib/libpthread/test/guard_b.exp#3 branch .. //depot/projects/kse/lib/libpthread/test/guard_s.pl#3 branch .. //depot/projects/kse/lib/libpthread/test/hello_b.c#3 branch .. //depot/projects/kse/lib/libpthread/test/hello_d.c#3 branch .. //depot/projects/kse/lib/libpthread/test/hello_d.exp#3 branch .. //depot/projects/kse/lib/libpthread/test/hello_s.c#3 branch .. //depot/projects/kse/lib/libpthread/test/join_leak_d.c#3 branch .. //depot/projects/kse/lib/libpthread/test/join_leak_d.exp#3 branch .. //depot/projects/kse/lib/libpthread/test/mutex_d.c#3 branch .. //depot/projects/kse/lib/libpthread/test/mutex_d.exp#3 branch .. //depot/projects/kse/lib/libpthread/test/propagate_s.pl#4 branch .. //depot/projects/kse/lib/libpthread/test/sem_d.c#3 branch .. //depot/projects/kse/lib/libpthread/test/sem_d.exp#3 branch .. //depot/projects/kse/lib/libpthread/test/sigsuspend_d.c#3 branch .. //depot/projects/kse/lib/libpthread/test/sigsuspend_d.exp#3 branch .. //depot/projects/kse/lib/libpthread/test/sigwait_d.c#3 branch .. //depot/projects/kse/lib/libpthread/test/sigwait_d.exp#3 branch .. //depot/projects/kse/lib/libpthread/test/verify#3 branch .. //depot/projects/kse/lib/libpthread/thread/Makefile.inc#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_accept.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_aio_suspend.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_atfork.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_destroy.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_get_np.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_getdetachstate.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_getguardsize.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_getinheritsched.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_getschedparam.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_getschedpolicy.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_getscope.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_getstack.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_getstackaddr.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_getstacksize.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_init.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_setcreatesuspend_np.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_setdetachstate.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_setguardsize.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_setinheritsched.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_setschedparam.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_setschedpolicy.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_setscope.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_setstack.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_setstackaddr.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_attr_setstacksize.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_autoinit.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_barrier.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_barrierattr.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_cancel.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_clean.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_close.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_concurrency.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_cond.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_condattr_destroy.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_condattr_init.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_connect.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_creat.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_create.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_detach.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_equal.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_exit.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_fcntl.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_find_thread.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_fork.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_fsync.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_getprio.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_getschedparam.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_info.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_init.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_join.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_kern.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_kill.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_main_np.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_mattr_init.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_mattr_kind_np.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_msync.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_multi_np.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_mutex.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_mutex_prioceiling.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_mutex_protocol.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_mutexattr_destroy.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_nanosleep.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_once.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_open.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_pause.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_poll.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_printf.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_priority_queue.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_private.h#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_pselect.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_pspinlock.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_raise.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_read.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_readv.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_resume_np.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_rtld.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_rwlock.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_rwlockattr.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_select.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_self.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_sem.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_seterrno.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_setprio.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_setschedparam.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_sig.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_sigaction.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_sigaltstack.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_sigmask.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_sigpending.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_sigprocmask.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_sigsuspend.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_sigwait.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_single_np.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_sleep.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_spec.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_spinlock.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_stack.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_suspend_np.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_switch_np.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_system.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_tcdrain.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_vfork.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_wait.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_wait4.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_waitpid.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_write.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_writev.c#1 branch .. //depot/projects/kse/lib/libpthread/thread/thr_yield.c#1 branch .. //depot/projects/kse/lib/libthr/Makefile#1 branch .. //depot/projects/kse/lib/libthr/arch/alpha/Makefile.inc#1 branch .. //depot/projects/kse/lib/libthr/arch/alpha/alpha/_curthread.c#1 branch .. //depot/projects/kse/lib/libthr/arch/i386/Makefile.inc#1 branch .. //depot/projects/kse/lib/libthr/arch/i386/i386/_curthread.S#1 branch .. //depot/projects/kse/lib/libthr/arch/i386/i386/_setcurthread.c#1 branch .. //depot/projects/kse/lib/libthr/arch/ia64/Makefile.inc#1 branch .. //depot/projects/kse/lib/libthr/arch/ia64/ia64/_curthread.c#1 branch .. //depot/projects/kse/lib/libthr/arch/powerpc/Makefile.inc#1 branch .. //depot/projects/kse/lib/libthr/arch/powerpc/powerpc/_curthread.c#1 branch .. //depot/projects/kse/lib/libthr/arch/sparc64/Makefile.inc#1 branch .. //depot/projects/kse/lib/libthr/arch/sparc64/sparc64/_setcurthread.c#1 branch .. //depot/projects/kse/lib/libthr/sys/Makefile.inc#1 branch .. //depot/projects/kse/lib/libthr/sys/thr_error.c#1 branch .. //depot/projects/kse/lib/libthr/thread/Makefile.inc#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_attr.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_autoinit.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_barrier.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_barrierattr.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_cancel.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_clean.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_concurrency.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_cond.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_condattr_destroy.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_condattr_init.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_create.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_detach.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_equal.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_exit.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_find_thread.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_getprio.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_info.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_init.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_join.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_kern.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_main_np.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_mattr_init.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_mattr_kind_np.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_multi_np.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_mutex.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_mutex_prioceiling.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_mutex_protocol.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_mutexattr_destroy.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_once.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_printf.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_private.h#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_resume_np.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_rwlock.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_rwlockattr.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_self.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_sem.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_seterrno.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_setprio.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_setschedparam.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_sig.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_spec.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_spinlock.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_stack.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_subr.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_suspend_np.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_syscalls.c#1 branch .. //depot/projects/kse/lib/libthr/thread/thr_yield.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/Makefile#1 branch .. //depot/projects/kse/libexec/rtld-eld/alpha/Makefile.inc#1 branch .. //depot/projects/kse/libexec/rtld-eld/alpha/ld.so.script#1 branch .. //depot/projects/kse/libexec/rtld-eld/alpha/lockdflt.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/alpha/reloc.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/alpha/rtld_machdep.h#1 branch .. //depot/projects/kse/libexec/rtld-eld/alpha/rtld_start.S#1 branch .. //depot/projects/kse/libexec/rtld-eld/amd64/Makefile.inc#1 branch .. //depot/projects/kse/libexec/rtld-eld/amd64/elf_rtld.x#1 branch .. //depot/projects/kse/libexec/rtld-eld/amd64/lockdflt.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/amd64/reloc.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/amd64/rtld_machdep.h#1 branch .. //depot/projects/kse/libexec/rtld-eld/amd64/rtld_start.S#1 branch .. //depot/projects/kse/libexec/rtld-eld/debug.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/debug.h#1 branch .. //depot/projects/kse/libexec/rtld-eld/i386/Makefile.inc#1 branch .. //depot/projects/kse/libexec/rtld-eld/i386/elf_rtld.x#1 branch .. //depot/projects/kse/libexec/rtld-eld/i386/lockdflt.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/i386/reloc.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/i386/rtld_machdep.h#1 branch .. //depot/projects/kse/libexec/rtld-eld/i386/rtld_start.S#1 branch .. //depot/projects/kse/libexec/rtld-eld/ia64/Makefile.inc#1 branch .. //depot/projects/kse/libexec/rtld-eld/ia64/lockdflt.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/ia64/reloc.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/ia64/rtld_machdep.h#1 branch .. //depot/projects/kse/libexec/rtld-eld/ia64/rtld_start.S#1 branch .. //depot/projects/kse/libexec/rtld-eld/libmap.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/libmap.h#1 branch .. //depot/projects/kse/libexec/rtld-eld/malloc.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/map_object.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/powerpc/Makefile.inc#1 branch .. //depot/projects/kse/libexec/rtld-eld/powerpc/lockdflt.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/powerpc/reloc.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/powerpc/rtld_machdep.h#1 branch .. //depot/projects/kse/libexec/rtld-eld/powerpc/rtld_start.S#1 branch .. //depot/projects/kse/libexec/rtld-eld/rtld.1#1 branch .. //depot/projects/kse/libexec/rtld-eld/rtld.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/rtld.h#1 branch .. //depot/projects/kse/libexec/rtld-eld/rtld_lock.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/rtld_lock.h#1 branch .. //depot/projects/kse/libexec/rtld-eld/sparc64/Makefile.inc#1 branch .. //depot/projects/kse/libexec/rtld-eld/sparc64/lockdflt.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/sparc64/reloc.c#1 branch .. //depot/projects/kse/libexec/rtld-eld/sparc64/rtld_machdep.h#1 branch .. //depot/projects/kse/libexec/rtld-eld/sparc64/rtld_start.S#1 branch .. //depot/projects/kse/libexec/rtld-eld/xmalloc.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/Makefile#1 branch .. //depot/projects/kse/libexec/rtld-elf/alpha/Makefile.inc#1 branch .. //depot/projects/kse/libexec/rtld-elf/alpha/ld.so.script#1 branch .. //depot/projects/kse/libexec/rtld-elf/alpha/lockdflt.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/alpha/reloc.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/alpha/rtld_machdep.h#1 branch .. //depot/projects/kse/libexec/rtld-elf/alpha/rtld_start.S#1 branch .. //depot/projects/kse/libexec/rtld-elf/amd64/Makefile.inc#1 branch .. //depot/projects/kse/libexec/rtld-elf/amd64/elf_rtld.x#1 branch .. //depot/projects/kse/libexec/rtld-elf/amd64/lockdflt.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/amd64/reloc.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/amd64/rtld_machdep.h#1 branch .. //depot/projects/kse/libexec/rtld-elf/amd64/rtld_start.S#1 branch .. //depot/projects/kse/libexec/rtld-elf/debug.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/debug.h#1 branch .. //depot/projects/kse/libexec/rtld-elf/i386/Makefile.inc#1 branch .. //depot/projects/kse/libexec/rtld-elf/i386/elf_rtld.x#1 branch .. //depot/projects/kse/libexec/rtld-elf/i386/lockdflt.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/i386/reloc.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/i386/rtld_machdep.h#1 branch .. //depot/projects/kse/libexec/rtld-elf/i386/rtld_start.S#1 branch .. //depot/projects/kse/libexec/rtld-elf/ia64/Makefile.inc#1 branch .. //depot/projects/kse/libexec/rtld-elf/ia64/lockdflt.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/ia64/reloc.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/ia64/rtld_machdep.h#1 branch .. //depot/projects/kse/libexec/rtld-elf/ia64/rtld_start.S#1 branch .. //depot/projects/kse/libexec/rtld-elf/libmap.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/libmap.h#1 branch .. //depot/projects/kse/libexec/rtld-elf/malloc.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/map_object.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/powerpc/Makefile.inc#1 branch .. //depot/projects/kse/libexec/rtld-elf/powerpc/lockdflt.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/powerpc/reloc.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/powerpc/rtld_machdep.h#1 branch .. //depot/projects/kse/libexec/rtld-elf/powerpc/rtld_start.S#1 branch .. //depot/projects/kse/libexec/rtld-elf/rtld.1#1 branch .. //depot/projects/kse/libexec/rtld-elf/rtld.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/rtld.h#1 branch .. //depot/projects/kse/libexec/rtld-elf/rtld_lock.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/rtld_lock.h#1 branch .. //depot/projects/kse/libexec/rtld-elf/sparc64/Makefile.inc#1 branch .. //depot/projects/kse/libexec/rtld-elf/sparc64/lockdflt.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/sparc64/reloc.c#1 branch .. //depot/projects/kse/libexec/rtld-elf/sparc64/rtld_machdep.h#1 branch .. //depot/projects/kse/libexec/rtld-elf/sparc64/rtld_start.S#1 branch .. //depot/projects/kse/libexec/rtld-elf/xmalloc.c#1 branch .. //depot/projects/kse/sys/alpha/include/_limits.h#2 integrate .. //depot/projects/kse/sys/arm/include/_limits.h#2 integrate .. //depot/projects/kse/sys/boot/i386/boot2/boot1.s#4 delete .. //depot/projects/kse/sys/boot/i386/btx/btx/btx.s#4 delete .. //depot/projects/kse/sys/boot/i386/btx/btxldr/btxldr.s#3 delete .. //depot/projects/kse/sys/boot/i386/libi386/elf_freebsd.c#3 delete .. //depot/projects/kse/sys/boot/ia64/libski/acpi_stub.c#2 integrate .. //depot/projects/kse/sys/boot/ia64/libski/efi_stub.c#2 integrate .. //depot/projects/kse/sys/boot/ia64/libski/pal_stub.s#2 delete .. //depot/projects/kse/sys/boot/ia64/libski/sal_stub.c#2 integrate .. //depot/projects/kse/sys/conf/Makefile.x86_64#4 delete .. //depot/projects/kse/sys/conf/files.x86_64#4 delete .. //depot/projects/kse/sys/conf/kern.mk#2 integrate .. //depot/projects/kse/sys/conf/options.x86_64#4 delete .. //depot/projects/kse/sys/dev/aac/aac_linux.c#2 integrate .. //depot/projects/kse/sys/dev/acpica/acpi_pci_link.c#2 integrate .. //depot/projects/kse/sys/dev/adlink/adlink.c#2 integrate .. //depot/projects/kse/sys/dev/amd/amd.c#2 integrate .. //depot/projects/kse/sys/dev/ata/ata-cbus.c#2 integrate .. //depot/projects/kse/sys/dev/ata/ata-chipset.c#2 integrate .. //depot/projects/kse/sys/dev/ata/ata-pci.h#2 integrate .. //depot/projects/kse/sys/dev/ata/atapi-all.c#17 delete .. //depot/projects/kse/sys/dev/ata/atapi-all.h#10 delete .. //depot/projects/kse/sys/dev/ath/if_ath.c#2 integrate .. //depot/projects/kse/sys/dev/ath/if_athvar.h#2 integrate .. //depot/projects/kse/sys/dev/awi/awi_wep.c#8 delete .. //depot/projects/kse/sys/dev/ccd/ccd.c#17 delete .. //depot/projects/kse/sys/dev/dgb/dgb.c#8 delete .. //depot/projects/kse/sys/dev/drm/ati_pcigart.h#2 integrate .. //depot/projects/kse/sys/dev/drm/drm_init.h#3 delete .. //depot/projects/kse/sys/dev/drm/drm_lists.h#3 delete .. //depot/projects/kse/sys/dev/drm/drm_sarea.h#2 integrate .. //depot/projects/kse/sys/dev/drm/mga_irq.c#2 integrate .. //depot/projects/kse/sys/dev/drm/r128_irq.c#2 integrate .. //depot/projects/kse/sys/dev/drm/radeon_irq.c#2 integrate .. //depot/projects/kse/sys/dev/drm/radeon_mem.c#2 integrate .. //depot/projects/kse/sys/dev/drm/sis_drm.h#3 branch .. //depot/projects/kse/sys/dev/firewire/fwcrom.c#2 integrate .. //depot/projects/kse/sys/dev/firewire/fwdev.c#2 integrate .. //depot/projects/kse/sys/dev/firewire/fwdma.c#2 integrate .. //depot/projects/kse/sys/dev/firewire/fwdma.h#2 integrate .. //depot/projects/kse/sys/dev/hea/eni.h#6 delete .. //depot/projects/kse/sys/dev/hea/eni_buffer.c#7 delete .. //depot/projects/kse/sys/dev/hea/eni_init.c#3 delete .. //depot/projects/kse/sys/dev/hea/eni_receive.c#5 delete .. //depot/projects/kse/sys/dev/hea/eni_transmit.c#5 delete .. //depot/projects/kse/sys/dev/hea/eni_vcm.c#5 delete .. //depot/projects/kse/sys/dev/hea/hea_freebsd.c#5 delete .. //depot/projects/kse/sys/dev/hea/hea_pci.c#4 delete .. //depot/projects/kse/sys/dev/hifn/hifn7751.c#2 integrate .. //depot/projects/kse/sys/dev/hifn/hifn7751reg.h#2 integrate .. //depot/projects/kse/sys/dev/hifn/hifn7751var.h#2 integrate .. //depot/projects/kse/sys/dev/idt/idt.c#2 integrate .. //depot/projects/kse/sys/dev/idt/idt_harp.c#2 integrate .. //depot/projects/kse/sys/dev/idt/idt_pci.c#2 integrate .. //depot/projects/kse/sys/dev/ie/if_ie_isa.c#2 integrate .. //depot/projects/kse/sys/dev/ie/if_ievar.h#2 integrate .. //depot/projects/kse/sys/dev/lmc/if_lmc.c#7 delete .. //depot/projects/kse/sys/dev/mcd/mcd.c#2 integrate .. //depot/projects/kse/sys/dev/mcd/mcd_isa.c#2 integrate .. //depot/projects/kse/sys/dev/mcd/mcdreg.h#2 integrate .. //depot/projects/kse/sys/dev/ofw/openfirmio.c#2 integrate .. //depot/projects/kse/sys/dev/ofw/openfirmio.h#2 integrate .. //depot/projects/kse/sys/dev/raidframe/rf_acctrace.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_acctrace.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_alloclist.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_alloclist.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_archs.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_aselect.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_aselect.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_bsd.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_callback.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_callback.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_chaindecluster.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_chaindecluster.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_configure.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_copyback.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_copyback.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_cvscan.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_cvscan.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_dag.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_dagdegrd.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_dagdegrd.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_dagdegwr.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_dagdegwr.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_dagffrd.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_dagffrd.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_dagffwr.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_dagffwr.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_dagflags.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_dagfuncs.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_dagfuncs.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_dagutils.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_dagutils.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_debugMem.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_debugMem.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_debugprint.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_debugprint.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_decluster.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_decluster.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_declusterPQ.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_declusterPQ.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_desc.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_diskqueue.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_diskqueue.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_disks.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_disks.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_driver.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_driver.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_engine.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_engine.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_etimer.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_evenodd.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_evenodd.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_evenodd_dagfuncs.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_evenodd_dagfuncs.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_evenodd_dags.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_evenodd_dags.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_fifo.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_fifo.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_freebsdkintf.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_freelist.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_general.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_geniq.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_hist.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_interdecluster.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_interdecluster.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_invertq.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_invertq.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_kintf.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_layout.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_layout.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_map.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_map.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_mcpair.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_mcpair.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_memchunk.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_memchunk.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_nwayxor.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_nwayxor.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_options.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_options.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_optnames.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_paritylog.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_paritylog.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_paritylogDiskMgr.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_paritylogDiskMgr.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_paritylogging.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_paritylogging.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_parityloggingdags.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_parityloggingdags.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_parityscan.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_parityscan.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_pq.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_pq.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_pqdeg.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_pqdeg.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_pqdegdags.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_pqdegdags.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_psstatus.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_psstatus.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_raid.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_raid0.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_raid0.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_raid1.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_raid1.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_raid4.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_raid4.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_raid5.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_raid5.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_raid5_rotatedspare.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_raid5_rotatedspare.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_raidframe.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_reconbuffer.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_reconbuffer.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_reconmap.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_reconmap.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_reconstruct.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_reconstruct.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_reconutil.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_reconutil.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_revent.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_revent.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_shutdown.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_shutdown.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_sstf.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_sstf.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_states.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_states.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_stripelocks.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_stripelocks.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_strutils.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_threadstuff.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_threadstuff.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_types.h#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_utils.c#2 delete .. //depot/projects/kse/sys/dev/raidframe/rf_utils.h#2 delete .. //depot/projects/kse/sys/dev/rc/rc.c#2 integrate .. //depot/projects/kse/sys/dev/rndtest/rndtest.c#2 integrate .. //depot/projects/kse/sys/dev/sbsh/if_sbsh.c#2 integrate .. //depot/projects/kse/sys/dev/scd/scd.c#2 integrate .. //depot/projects/kse/sys/dev/scd/scd_isa.c#2 integrate .. //depot/projects/kse/sys/dev/scd/scdreg.h#2 integrate .. //depot/projects/kse/sys/dev/sound/isa/sndbuf_dma.c#2 integrate .. //depot/projects/kse/sys/dev/sound/pcm/ac97_patch.c#2 integrate .. //depot/projects/kse/sys/dev/sound/pcm/ac97_patch.h#2 integrate .. //depot/projects/kse/sys/dev/stg/tmc18c30_pci.c#2 integrate .. //depot/projects/kse/sys/dev/stg/tmc18c30_subr.c#2 integrate .. //depot/projects/kse/sys/dev/trm/trm.c#2 integrate .. //depot/projects/kse/sys/dev/trm/trm.h#2 integrate .. //depot/projects/kse/sys/dev/ubsec/ubsec.c#2 integrate .. //depot/projects/kse/sys/dev/ubsec/ubsecreg.h#2 integrate .. //depot/projects/kse/sys/dev/ubsec/ubsecvar.h#2 integrate .. //depot/projects/kse/sys/dev/usb/ehci.c#2 integrate .. //depot/projects/kse/sys/dev/usb/ehci_pci.c#2 integrate .. //depot/projects/kse/sys/dev/usb/ehcireg.h#2 integrate .. //depot/projects/kse/sys/dev/usb/if_axe.c#2 integrate .. //depot/projects/kse/sys/dev/usb/if_axereg.h#2 integrate .. //depot/projects/kse/sys/dev/usb/ohci_pci.c#2 integrate .. //depot/projects/kse/sys/dev/usb/ubsa.c#2 integrate .. //depot/projects/kse/sys/dev/usb/uhci_pci.c#2 integrate .. //depot/projects/kse/sys/dev/zs/zs.c#2 integrate .. //depot/projects/kse/sys/dev/zs/zs_macio.c#2 integrate .. //depot/projects/kse/sys/dev/zs/zs_sbus.c#2 integrate .. //depot/projects/kse/sys/geom/bde/g_bde.c#2 integrate .. //depot/projects/kse/sys/geom/bde/g_bde.h#2 integrate .. //depot/projects/kse/sys/geom/bde/g_bde_crypt.c#2 integrate .. //depot/projects/kse/sys/geom/bde/g_bde_lock.c#2 integrate .. //depot/projects/kse/sys/geom/bde/g_bde_work.c#2 integrate .. //depot/projects/kse/sys/geom/geom_apple.c#2 integrate .. //depot/projects/kse/sys/geom/geom_bsd_enc.c#2 integrate .. //depot/projects/kse/sys/geom/geom_ctl.c#2 integrate .. //depot/projects/kse/sys/geom/geom_ctl.h#2 integrate .. //depot/projects/kse/sys/geom/geom_disk.h#2 integrate .. //depot/projects/kse/sys/geom/geom_ext.h#2 delete .. //depot/projects/kse/sys/geom/geom_mbr_enc.c#2 integrate .. //depot/projects/kse/sys/geom/geom_mirror.c#2 integrate .. //depot/projects/kse/sys/geom/geom_vol_ffs.c#2 integrate .. //depot/projects/kse/sys/gnu/i386/fpemul/fpu_entry.c#6 delete .. //depot/projects/kse/sys/i386/bios/apm.c#2 integrate .. //depot/projects/kse/sys/i386/bios/mca_machdep.c#2 integrate .. //depot/projects/kse/sys/i386/bios/smapi.c#2 integrate .. //depot/projects/kse/sys/i386/bios/smapi_bios.S#2 integrate .. //depot/projects/kse/sys/i386/bios/smbios.c#2 integrate .. //depot/projects/kse/sys/i386/bios/vpd.c#2 integrate .. //depot/projects/kse/sys/i386/conf/PAE#2 integrate .. //depot/projects/kse/sys/i386/conf/SMP#2 delete .. //depot/projects/kse/sys/i386/i386/mpapic.c#12 delete .. //depot/projects/kse/sys/i386/i386/tsc.c#2 integrate .. //depot/projects/kse/sys/i386/include/_limits.h#2 integrate .. //depot/projects/kse/sys/i386/include/apic.h#4 delete .. //depot/projects/kse/sys/i386/include/physio_proc.h#5 delete .. //depot/projects/kse/sys/i386/isa/apic_vector.s#15 delete .. //depot/projects/kse/sys/i386/isa/asc.c#7 delete .. //depot/projects/kse/sys/i386/isa/ctx.c#7 delete .. //depot/projects/kse/sys/i386/isa/cx.c#7 delete .. //depot/projects/kse/sys/i386/isa/gpib.c#7 delete .. //depot/projects/kse/sys/i386/isa/gsc.c#6 delete .. //depot/projects/kse/sys/i386/isa/if_cx.c#4 delete .. //depot/projects/kse/sys/i386/isa/if_le.c#7 delete .. //depot/projects/kse/sys/i386/isa/if_rdp.c#4 delete .. //depot/projects/kse/sys/i386/isa/intr_machdep.c#16 delete .. //depot/projects/kse/sys/i386/isa/intr_machdep.h#12 delete .. //depot/projects/kse/sys/i386/isa/istallion.c#6 delete .. //depot/projects/kse/sys/i386/isa/loran.c#6 delete .. //depot/projects/kse/sys/i386/isa/pcaudio.c#9 delete .. //depot/projects/kse/sys/i386/isa/spigot.c#9 delete .. //depot/projects/kse/sys/i386/isa/stallion.c#9 delete .. //depot/projects/kse/sys/i386/isa/tw.c#6 delete .. //depot/projects/kse/sys/i386/isa/wt.c#7 delete .. //depot/projects/kse/sys/ia64/ia32/ia32_misc.c#3 delete .. //depot/projects/kse/sys/ia64/ia32/ia32_proto.h#4 delete .. //depot/projects/kse/sys/ia64/ia32/ia32_syscall.h#4 delete .. //depot/projects/kse/sys/ia64/ia32/ia32_sysent.c#4 delete .. //depot/projects/kse/sys/ia64/ia32/ia32_util.h#3 delete .. //depot/projects/kse/sys/ia64/ia32/syscalls.master#4 delete .. //depot/projects/kse/sys/ia64/ia64/exception.s#14 delete .. //depot/projects/kse/sys/ia64/ia64/locore.s#19 delete .. //depot/projects/kse/sys/ia64/ia64/pal.s#4 delete .. //depot/projects/kse/sys/ia64/ia64/support.s#12 delete .. //depot/projects/kse/sys/ia64/ia64/swtch.s#21 delete .. //depot/projects/kse/sys/ia64/include/_limits.h#2 integrate .. //depot/projects/kse/sys/ia64/include/pc/vesa.h#3 delete .. //depot/projects/kse/sys/isa/ppc.c#6 delete .. //depot/projects/kse/sys/kern/kern_context.c#2 integrate .. //depot/projects/kse/sys/kern/kern_thr.c#2 integrate .. //depot/projects/kse/sys/kern/kern_umtx.c#2 integrate .. //depot/projects/kse/sys/kern/sched_4bsd.c#2 integrate .. //depot/projects/kse/sys/kern/sched_ule.c#2 integrate .. //depot/projects/kse/sys/kern/subr_bus.c#15 integrate .. //depot/projects/kse/sys/kern/subr_xxx.c#7 delete .. //depot/projects/kse/sys/libkern/fnmatch.c#2 integrate .. //depot/projects/kse/sys/libkern/strdup.c#2 integrate .. //depot/projects/kse/sys/modules/crypto/Makefile#2 integrate .. //depot/projects/kse/sys/modules/firewire/Makefile.inc#2 integrate .. //depot/projects/kse/sys/modules/netgraph/bluetooth/Makefile#2 integrate .. //depot/projects/kse/sys/modules/netgraph/bluetooth/bluetooth/Makefile#2 integrate .. //depot/projects/kse/sys/modules/netgraph/bluetooth/bt3c/Makefile#2 integrate .. //depot/projects/kse/sys/modules/netgraph/bluetooth/h4/Makefile#2 integrate .. //depot/projects/kse/sys/modules/netgraph/bluetooth/hci/Makefile#2 integrate .. //depot/projects/kse/sys/modules/netgraph/bluetooth/l2cap/Makefile#2 integrate .. //depot/projects/kse/sys/modules/netgraph/bluetooth/socket/Makefile#2 integrate .. //depot/projects/kse/sys/modules/netgraph/bluetooth/ubt/Makefile#2 integrate .. //depot/projects/kse/sys/modules/netgraph/fec/Makefile#2 integrate .. //depot/projects/kse/sys/modules/null/Makefile#2 integrate .. //depot/projects/kse/sys/modules/raidframe/Makefile#2 delete .. //depot/projects/kse/sys/modules/ubsa/Makefile#2 integrate .. //depot/projects/kse/sys/modules/wlan/Makefile#2 integrate .. //depot/projects/kse/sys/net/if_ieee80211.h#6 delete .. //depot/projects/kse/sys/net/if_ieee80211subr.c#2 delete .. //depot/projects/kse/sys/netgraph/bluetooth/common/ng_bluetooth.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_var.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/drivers/h4/TODO#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/drivers/h4/ng_h4.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/drivers/h4/ng_h4_prse.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/drivers/h4/ng_h4_var.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/drivers/ubt/TODO#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/hci/TODO#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/hci/ng_hci_cmds.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/hci/ng_hci_cmds.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/hci/ng_hci_evnt.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/hci/ng_hci_evnt.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/hci/ng_hci_main.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/hci/ng_hci_misc.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/hci/ng_hci_misc.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/hci/ng_hci_prse.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/hci/ng_hci_ulpi.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/hci/ng_hci_ulpi.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/hci/ng_hci_var.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/include/ng_bluetooth.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/include/ng_bt3c.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/include/ng_btsocket.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/include/ng_btsocket_hci_raw.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/include/ng_btsocket_l2cap.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/include/ng_h4.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/include/ng_hci.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/include/ng_l2cap.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/include/ng_ubt.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/l2cap/TODO#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/l2cap/ng_l2cap_evnt.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/l2cap/ng_l2cap_evnt.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/l2cap/ng_l2cap_main.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/l2cap/ng_l2cap_prse.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/l2cap/ng_l2cap_ulpi.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/l2cap/ng_l2cap_ulpi.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/l2cap/ng_l2cap_var.h#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/socket/TODO#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/socket/ng_btsocket.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#2 integrate .. //depot/projects/kse/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#2 integrate .. //depot/projects/kse/sys/netgraph/ng_fec.c#2 integrate .. //depot/projects/kse/sys/netgraph/ng_fec.h#2 integrate .. //depot/projects/kse/sys/netgraph/ng_source.c#2 integrate .. //depot/projects/kse/sys/netgraph/ng_source.h#2 integrate .. //depot/projects/kse/sys/netinet/ip_fw.c#18 delete .. //depot/projects/kse/sys/netipsec/ipsec.c#2 integrate .. //depot/projects/kse/sys/netipsec/ipsec.h#2 integrate .. //depot/projects/kse/sys/netipsec/ipsec_input.c#2 integrate .. //depot/projects/kse/sys/netipsec/ipsec_mbuf.c#2 integrate .. //depot/projects/kse/sys/netipsec/ipsec_output.c#2 integrate .. //depot/projects/kse/sys/netipsec/key.c#2 integrate .. //depot/projects/kse/sys/netipsec/key.h#2 integrate .. //depot/projects/kse/sys/netipsec/key_debug.c#2 integrate .. //depot/projects/kse/sys/netipsec/keydb.h#2 integrate .. //depot/projects/kse/sys/netipsec/keysock.c#2 integrate .. //depot/projects/kse/sys/netipsec/xform_ah.c#2 integrate .. //depot/projects/kse/sys/netipsec/xform_esp.c#2 integrate .. //depot/projects/kse/sys/netipsec/xform_ipcomp.c#2 integrate .. //depot/projects/kse/sys/netipsec/xform_ipip.c#2 integrate .. //depot/projects/kse/sys/opencrypto/cast.c#2 integrate .. //depot/projects/kse/sys/opencrypto/criov.c#2 integrate .. //depot/projects/kse/sys/opencrypto/crmbuf.c#2 delete .. //depot/projects/kse/sys/opencrypto/crypto.c#2 integrate .. //depot/projects/kse/sys/opencrypto/cryptodev.c#2 integrate .. //depot/projects/kse/sys/opencrypto/cryptodev.h#2 integrate .. //depot/projects/kse/sys/opencrypto/cryptosoft.c#2 integrate .. //depot/projects/kse/sys/opencrypto/deflate.c#2 integrate .. //depot/projects/kse/sys/opencrypto/rijndael.c#2 integrate .. //depot/projects/kse/sys/opencrypto/rmd160.c#2 integrate .. //depot/projects/kse/sys/opencrypto/skipjack.c#2 integrate .. //depot/projects/kse/sys/opencrypto/xform.c#2 integrate .. //depot/projects/kse/sys/pc98/conf/NOTES#2 integrate .. //depot/projects/kse/sys/pc98/pc98/canbus.c#2 integrate .. //depot/projects/kse/sys/pc98/pc98/pcaudio.c#8 delete .. //depot/projects/kse/sys/pc98/pc98/syscons.c#14 delete .. //depot/projects/kse/sys/pci/if_en_pci.c#4 delete .. //depot/projects/kse/sys/pci/meteor.c#7 delete .. //depot/projects/kse/sys/powerpc/include/_limits.h#2 integrate .. //depot/projects/kse/sys/powerpc/include/hid.h#2 integrate .. //depot/projects/kse/sys/powerpc/ofw/ofw_pcib_pci.c#2 integrate .. //depot/projects/kse/sys/powerpc/powermac/grackle.c#2 integrate .. //depot/projects/kse/sys/powerpc/powerpc/cpu.c#2 integrate .. //depot/projects/kse/sys/powerpc/powerpc/locore.S#2 integrate .. //depot/projects/kse/sys/powerpc/powerpc/ofwmagic.S#2 integrate .. //depot/projects/kse/sys/powerpc/powerpc/swtch.S#2 integrate .. //depot/projects/kse/sys/security/mac_lomac/mac_lomac.c#2 integrate .. //depot/projects/kse/sys/security/mac_lomac/mac_lomac.h#2 integrate .. //depot/projects/kse/sys/security/mac_partition/mac_partition.c#2 integrate .. //depot/projects/kse/sys/security/mac_partition/mac_partition.h#2 integrate .. //depot/projects/kse/sys/security/mac_portacl/mac_portacl.c#2 integrate .. //depot/projects/kse/sys/sparc64/conf/NOTES#2 integrate .. //depot/projects/kse/sys/sparc64/include/_limits.h#2 integrate .. //depot/projects/kse/sys/sparc64/include/ofw_mem.h#2 integrate .. //depot/projects/kse/sys/sparc64/sparc64/cheetah.c#2 integrate .. //depot/projects/kse/sys/sparc64/sparc64/eeprom_fhc.c#2 integrate .. //depot/projects/kse/sys/sparc64/sparc64/interrupt.S#2 integrate .. //depot/projects/kse/sys/sparc64/sparc64/spitfire.c#2 integrate .. //depot/projects/kse/sys/sys/ccdvar.h#5 delete .. //depot/projects/kse/sys/sys/diskpc98.h#2 integrate .. //depot/projects/kse/sys/sys/sched.h#2 integrate .. //depot/projects/kse/sys/sys/stddef.h#2 integrate .. //depot/projects/kse/sys/sys/thr.h#2 integrate .. //depot/projects/kse/sys/sys/umtx.h#2 integrate .. //depot/projects/kse/sys/sys/watchdog.h#2 integrate .. //depot/projects/kse/sys/ufs/ffs/ffs_rawread.c#2 integrate .. //depot/projects/kse/sys/vm/vm_swap.c#13 delete .. //depot/projects/kse/sys/x86_64/include/_limits.h#2 delete .. //depot/projects/kse/sys/x86_64/include/_types.h#4 delete .. //depot/projects/kse/sys/x86_64/include/limits.h#3 delete .. //depot/projects/kse/sys/x86_64/include/stdarg.h#5 delete Differences ... ==== //depot/projects/kse/gnu/usr.bin/binutils/gdb/solib-fbsd-kld.c#2 (text+ko) ==== @@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $FreeBSD: src/gnu/usr.bin/binutils/gdb/solib-fbsd-kld.c,v 1.1 2003/03/21 00:30:53 iedowse Exp $ */ +/* $FreeBSD: src/gnu/usr.bin/binutils/gdb/solib-fbsd-kld.c,v 1.2 2003/10/29 14:40:59 simokawa Exp $ */ #include #include @@ -159,7 +159,13 @@ static void kgdb_solib_create_inferior_hook (void) { - warning ("kgdb_solib_create_inferior_hook called\n"); + struct so_list *inferior_sos; + + inferior_sos = kgdb_current_sos (); + if (inferior_sos) + { + solib_add (NULL, /*from_tty*/0, NULL, auto_solib_add); + } } static void ==== //depot/projects/kse/include/getopt.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ /* $NetBSD: getopt.h,v 1.4 2000/07/07 10:43:54 ad Exp $ */ -/* $FreeBSD: src/include/getopt.h,v 1.1 2002/09/29 04:14:30 eric Exp $ */ +/* $FreeBSD: src/include/getopt.h,v 1.6 2004/02/24 08:09:20 ache Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -41,12 +41,11 @@ #define _GETOPT_H_ #include -#include /* - * Gnu like getopt_long() and BSD4.4 getsubopt()/optreset extensions + * GNU-like getopt_long()/getopt_long_only() with 4.4BSD optreset extension. + * getopt() is declared here too for GNU programs. */ -#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE) #define no_argument 0 #define required_argument 1 #define optional_argument 2 @@ -66,9 +65,21 @@ }; __BEGIN_DECLS -int getopt_long __P((int, char * const *, const char *, - const struct option *, int *)); +int getopt_long(int, char * const *, const char *, + const struct option *, int *); +int getopt_long_only(int, char * const *, const char *, + const struct option *, int *); +#ifndef _GETOPT_DECLARED +#define _GETOPT_DECLARED +int getopt(int, char * const [], const char *); + +extern char *optarg; /* getopt(3) external variables */ +extern int optind, opterr, optopt; +#endif +#ifndef _OPTRESET_DECLARED +#define _OPTRESET_DECLARED +extern int optreset; /* getopt(3) external variable */ +#endif __END_DECLS -#endif #endif /* !_GETOPT_H_ */ ==== //depot/projects/kse/include/nss.h#2 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/include/nss.h,v 1.1 2003/04/17 14:14:22 nectar Exp $ + * $FreeBSD: src/include/nss.h,v 1.2 2004/01/09 13:43:49 nectar Exp $ * * Compatibility header for the GNU C Library-style nsswitch interface. */ @@ -46,8 +46,9 @@ NSS_STATUS_RETURN }; -#define __nss_compat_result(rv) \ -((rv == NSS_STATUS_TRYAGAIN) ? NS_TRYAGAIN : \ +#define __nss_compat_result(rv, err) \ +((rv == NSS_STATUS_TRYAGAIN && err == ERANGE) ? NS_RETURN : \ + (rv == NSS_STATUS_TRYAGAIN) ? NS_TRYAGAIN : \ (rv == NSS_STATUS_UNAVAIL) ? NS_UNAVAIL : \ (rv == NSS_STATUS_NOTFOUND) ? NS_NOTFOUND : \ (rv == NSS_STATUS_SUCCESS) ? NS_SUCCESS : \ ==== //depot/projects/kse/lib/libc/alpha/_fpmath.h#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/lib/libc/alpha/_fpmath.h,v 1.3 2003/04/05 22:10:13 das Exp $ + * $FreeBSD: src/lib/libc/alpha/_fpmath.h,v 1.4 2004/01/18 07:57:01 das Exp $ */ union IEEEl2bits { @@ -39,6 +39,9 @@ #define mask_nbit_l(u) ((void)0) #define LDBL_IMPLICIT_NBIT >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Apr 1 01:14:39 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 24C6116A4D0; Thu, 1 Apr 2004 01:14:39 -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 DB17216A4CE for ; Thu, 1 Apr 2004 01:14:38 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BC6E943D1D for ; Thu, 1 Apr 2004 01:14:38 -0800 (PST) (envelope-from dfr@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i319EcGe072160 for ; Thu, 1 Apr 2004 01:14:38 -0800 (PST) (envelope-from dfr@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i319Ecad072157 for perforce@freebsd.org; Thu, 1 Apr 2004 01:14:38 -0800 (PST) (envelope-from dfr@freebsd.org) Date: Thu, 1 Apr 2004 01:14:38 -0800 (PST) Message-Id: <200404010914.i319Ecad072157@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dfr@freebsd.org using -f From: Doug Rabson To: Perforce Change Reviews Subject: PERFORCE change 50111 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: Thu, 01 Apr 2004 09:14:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=50111 Change 50111 by dfr@dfr_home on 2004/04/01 01:13:37 Typo. Affected files ... .. //depot/projects/kse/libexec/rtld-eld/Makefile#2 delete .. //depot/projects/kse/libexec/rtld-eld/alpha/Makefile.inc#2 delete .. //depot/projects/kse/libexec/rtld-eld/alpha/ld.so.script#2 delete .. //depot/projects/kse/libexec/rtld-eld/alpha/lockdflt.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/alpha/reloc.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/alpha/rtld_machdep.h#2 delete .. //depot/projects/kse/libexec/rtld-eld/alpha/rtld_start.S#2 delete .. //depot/projects/kse/libexec/rtld-eld/amd64/Makefile.inc#2 delete .. //depot/projects/kse/libexec/rtld-eld/amd64/elf_rtld.x#2 delete .. //depot/projects/kse/libexec/rtld-eld/amd64/lockdflt.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/amd64/reloc.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/amd64/rtld_machdep.h#2 delete .. //depot/projects/kse/libexec/rtld-eld/amd64/rtld_start.S#2 delete .. //depot/projects/kse/libexec/rtld-eld/debug.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/debug.h#2 delete .. //depot/projects/kse/libexec/rtld-eld/i386/Makefile.inc#2 delete .. //depot/projects/kse/libexec/rtld-eld/i386/elf_rtld.x#2 delete .. //depot/projects/kse/libexec/rtld-eld/i386/lockdflt.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/i386/reloc.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/i386/rtld_machdep.h#2 delete .. //depot/projects/kse/libexec/rtld-eld/i386/rtld_start.S#2 delete .. //depot/projects/kse/libexec/rtld-eld/ia64/Makefile.inc#2 delete .. //depot/projects/kse/libexec/rtld-eld/ia64/lockdflt.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/ia64/reloc.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/ia64/rtld_machdep.h#2 delete .. //depot/projects/kse/libexec/rtld-eld/ia64/rtld_start.S#2 delete .. //depot/projects/kse/libexec/rtld-eld/libmap.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/libmap.h#2 delete .. //depot/projects/kse/libexec/rtld-eld/malloc.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/map_object.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/powerpc/Makefile.inc#2 delete .. //depot/projects/kse/libexec/rtld-eld/powerpc/lockdflt.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/powerpc/reloc.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/powerpc/rtld_machdep.h#2 delete .. //depot/projects/kse/libexec/rtld-eld/powerpc/rtld_start.S#2 delete .. //depot/projects/kse/libexec/rtld-eld/rtld.1#2 delete .. //depot/projects/kse/libexec/rtld-eld/rtld.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/rtld.h#2 delete .. //depot/projects/kse/libexec/rtld-eld/rtld_lock.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/rtld_lock.h#2 delete .. //depot/projects/kse/libexec/rtld-eld/sparc64/Makefile.inc#2 delete .. //depot/projects/kse/libexec/rtld-eld/sparc64/lockdflt.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/sparc64/reloc.c#2 delete .. //depot/projects/kse/libexec/rtld-eld/sparc64/rtld_machdep.h#2 delete .. //depot/projects/kse/libexec/rtld-eld/sparc64/rtld_start.S#2 delete .. //depot/projects/kse/libexec/rtld-eld/xmalloc.c#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Thu Apr 1 01:16:42 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 22CD716A4D0; Thu, 1 Apr 2004 01:16:42 -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 F027916A4CE for ; Thu, 1 Apr 2004 01:16:41 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E585043D2D for ; Thu, 1 Apr 2004 01:16:41 -0800 (PST) (envelope-from dfr@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i319GfGe072257 for ; Thu, 1 Apr 2004 01:16:41 -0800 (PST) (envelope-from dfr@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i319GfUB072254 for perforce@freebsd.org; Thu, 1 Apr 2004 01:16:41 -0800 (PST) (envelope-from dfr@freebsd.org) Date: Thu, 1 Apr 2004 01:16:41 -0800 (PST) Message-Id: <200404010916.i319GfUB072254@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dfr@freebsd.org using -f From: Doug Rabson To: Perforce Change Reviews Subject: PERFORCE change 50112 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: Thu, 01 Apr 2004 09:16:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=50112 Change 50112 by dfr@dfr_home on 2004/04/01 01:16:06 Prototype TLS support in rtld (i386 only to start with). Affected files ... .. //depot/projects/kse/libexec/rtld-elf/i386/reloc.c#2 edit .. //depot/projects/kse/libexec/rtld-elf/i386/rtld_machdep.h#2 edit .. //depot/projects/kse/libexec/rtld-elf/map_object.c#2 edit .. //depot/projects/kse/libexec/rtld-elf/rtld.c#2 edit .. //depot/projects/kse/libexec/rtld-elf/rtld.h#2 edit Differences ... ==== //depot/projects/kse/libexec/rtld-elf/i386/reloc.c#2 (text+ko) ==== @@ -33,6 +33,8 @@ #include #include +#include +#include #include #include @@ -47,6 +49,31 @@ #include "debug.h" #include "rtld.h" +#ifndef R_386_TLS_TPOFF + +#define R_386_TLS_TPOFF 14 +#define R_386_TLS_IE 15 +#define R_386_TLS_GOTIE 16 +#define R_386_TLS_LE 17 +#define R_386_TLS_GD 18 +#define R_386_TLS_LDM 19 +#define R_386_TLS_GD_32 24 +#define R_386_TLS_GD_PUSH 25 +#define R_386_TLS_GD_CALL 26 +#define R_386_TLS_GD_POP 27 +#define R_386_TLS_LDM_32 28 +#define R_386_TLS_LDM_PUSH 29 +#define R_386_TLS_LDM_CALL 30 +#define R_386_TLS_LDM_POP 31 +#define R_386_TLS_LDO_32 32 +#define R_386_TLS_IE_32 33 +#define R_386_TLS_LE_32 34 +#define R_386_TLS_DTPMOD32 35 +#define R_386_TLS_DTPOFF32 36 +#define R_386_TLS_TPOFF32 37 + +#endif + /* * Process the special R_386_COPY relocations in the main program. These * copy data from a shared object into a region in the main program's BSS @@ -202,6 +229,48 @@ *where += (Elf_Addr) obj->relocbase; break; + case R_386_TLS_TPOFF: + { + const Elf_Sym *def; + const Obj_Entry *defobj; + + def = find_symdef(ELF_R_SYM(rel->r_info), obj, &defobj, + false, cache); + if (def == NULL) + goto done; + + *where += (Elf_Addr) (def->st_value - defobj->tlsoffset); + } + break; + + case R_386_TLS_DTPMOD32: + { + const Elf_Sym *def; + const Obj_Entry *defobj; + + def = find_symdef(ELF_R_SYM(rel->r_info), obj, &defobj, + false, cache); + if (def == NULL) + goto done; + + *where += (Elf_Addr) defobj->tlsindex; + } + break; + + case R_386_TLS_DTPOFF32: + { + const Elf_Sym *def; + const Obj_Entry *defobj; + + def = find_symdef(ELF_R_SYM(rel->r_info), obj, &defobj, + false, cache); + if (def == NULL) + goto done; + + *where += (Elf_Addr) def->st_value; + } + break; + default: _rtld_error("%s: Unsupported relocation type %d" " in non-PLT relocations\n", obj->path, @@ -262,3 +331,76 @@ obj->jmpslots_done = true; return 0; } + +void +allocate_initial_tls(Obj_Entry *list) +{ + Obj_Entry *obj; + size_t size; + char *tls; + Elf_Addr *dtv; + union descriptor ldt; + Elf_Addr segbase; + int sel; + + size = 0; + for (obj = list; obj; obj = obj->next) { + if (obj->tlsoffset > size) + size = obj->tlsoffset; + } + + tls = malloc(size + 2*sizeof(Elf_Addr)); + dtv = malloc((tls_max_index + 2) * sizeof(Elf_Addr)); + + segbase = (Elf_Addr)(tls + size); + ((Elf_Addr*)segbase)[0] = segbase; + ((Elf_Addr*)segbase)[1] = (Elf_Addr) dtv; + + dtv[0] = tls_dtv_generation; + dtv[1] = tls_max_index; + for (obj = list; obj; obj = obj->next) { + Elf_Addr addr = segbase - obj->tlsoffset; + memset((void*) (addr + obj->tlsinitsize), + 0, obj->tlssize - obj->tlsinitsize); + if (obj->tlsinit) + memcpy((void*) addr, obj->tlsinit, obj->tlsinitsize); + dtv[obj->tlsindex] = addr; + } + + memset(&ldt, 0, sizeof(ldt)); + ldt.sd.sd_lolimit = 4; + ldt.sd.sd_lobase = segbase & 0xffffff; + ldt.sd.sd_type = SDT_MEMRWA; + ldt.sd.sd_dpl = SEL_UPL; + ldt.sd.sd_p = 1; /* present */ + ldt.sd.sd_hilimit = 0; + ldt.sd.sd_def32 = 1; /* 32 bit */ + ldt.sd.sd_gran = 0; /* limit in bytes */ + ldt.sd.sd_hibase = (segbase >> 24) & 0xff; + sel = i386_set_ldt(LDT_AUTO_ALLOC, &ldt, 1); + __asm __volatile("movl %0,%%gs" : : "rm" ((sel << 3) | 7)); +} + +/* GNU ABI */ +void *___tls_get_addr(tls_index *ti) +{ + Elf_Addr** segbase; + Elf_Addr* dtv; + + __asm __volatile("movl %%gs:0, %0" : "=r" (segbase)); + dtv = segbase[1]; + + return tls_get_addr_common(&segbase[1], ti->ti_module, ti->ti_offset); +} + +/* Sun ABI */ +void *__tls_get_addr(tls_index *ti) +{ + Elf_Addr** segbase; + Elf_Addr* dtv; + + __asm __volatile("movl %%gs:0, %0" : "=r" (segbase)); + dtv = segbase[1]; + + return tls_get_addr_common(&segbase[1], ti->ti_module, ti->ti_offset); +} ==== //depot/projects/kse/libexec/rtld-elf/i386/rtld_machdep.h#2 (text+ko) ==== @@ -58,4 +58,16 @@ #define call_initfini_pointer(obj, target) \ (((InitFunc)(target))()) +#define calculate_tls_offset(prev_offset, size, align) \ + (((prev_offset) + (size) + ((1 << (align)) - 1)) \ + & ~((1 << (align)) - 1)) + +typedef struct { + unsigned long ti_module; + unsigned long ti_offset; +} tls_index; + +extern void *___tls_get_addr(tls_index *ti) __attribute__((__regparm__(1))); +extern void *__tls_get_addr(tls_index *ti); + #endif ==== //depot/projects/kse/libexec/rtld-elf/map_object.c#2 (text+ko) ==== @@ -63,6 +63,7 @@ Elf_Phdr *phdyn; Elf_Phdr *phphdr; Elf_Phdr *phinterp; + Elf_Phdr *phtls; caddr_t mapbase; size_t mapsize; Elf_Off base_offset; @@ -96,7 +97,7 @@ phdr = (Elf_Phdr *) ((char *)hdr + hdr->e_phoff); phlimit = phdr + hdr->e_phnum; nsegs = -1; - phdyn = phphdr = phinterp = NULL; + phdyn = phphdr = phinterp = phtls = NULL; segs = alloca(sizeof(segs[0]) * hdr->e_phnum); while (phdr < phlimit) { switch (phdr->p_type) { @@ -121,6 +122,10 @@ case PT_DYNAMIC: phdyn = phdr; break; + + case PT_TLS: + phtls = phdr; + break; } ++phdr; @@ -228,7 +233,16 @@ } if (phinterp != NULL) obj->interp = (const char *) (obj->relocbase + phinterp->p_vaddr); - + if (phtls != NULL) { + tls_dtv_generation++; + obj->tlsindex = ++tls_max_index; + obj->tlssize = phtls->p_memsz; + obj->tlsinitsize = phtls->p_filesz; + obj->tlsinit = mapbase + phtls->p_vaddr; + obj->tlsoffset = calculate_tls_offset(tls_last_offset, + phtls->p_memsz, phtls->p_align); + tls_last_offset = obj->tlsoffset; + } return obj; } ==== //depot/projects/kse/libexec/rtld-elf/rtld.c#2 (text+ko) ==== @@ -178,6 +178,9 @@ (func_ptr_type) &dllockinit, (func_ptr_type) &dlinfo, (func_ptr_type) &_rtld_thread_init, +#ifdef __i386__ + (func_ptr_type) &___tls_get_addr, +#endif NULL }; @@ -189,6 +192,13 @@ char **environ; /* + * Globals to control TLS allocation. + */ +size_t tls_last_offset; /* TLS offset of last module */ +int tls_dtv_generation = 1; /* Used to detect when dtv size changes */ +int tls_max_index = 1; /* Largest module index allocated */ + +/* * Fill in a DoneList with an allocation large enough to hold all of * the currently-loaded objects. Keep this as a macro since it calls * alloca and we want that to occur within the scope of the caller. @@ -390,6 +400,12 @@ dbg("initializing thread locks"); lockdflt_init(); + /* setup TLS for main thread */ + dbg("initializing initial thread local storage (size %d)", + tls_last_offset); + allocate_initial_tls(obj_list); + dbg("foo"); + /* Make a list of init functions to call. */ objlist_init(&initlist); initlist_add_objects(obj_list, preload_tail, &initlist); @@ -726,6 +742,15 @@ case PT_DYNAMIC: obj->dynamic = (const Elf_Dyn *) ph->p_vaddr; break; + + case PT_TLS: + obj->tlsindex = 1; + obj->tlsoffset = calculate_tls_offset(0, ph->p_memsz, + ph->p_align); + tls_last_offset = obj->tlsoffset; + obj->tlsinitsize = ph->p_filesz; + obj->tlsinit = (void*) ph->p_vaddr; + break; } } if (nsegs < 1) { @@ -2433,4 +2458,58 @@ elm->obj->refcount--; } +/* + * Common code for MD __tls_get_addr(). + */ +void * +tls_get_addr_common(Elf_Addr** dtvp, int index, size_t offset) +{ + Elf_Addr* dtv = *dtvp; + + /* Check dtv generation in case new modules have arrived */ + if (dtv[0] != tls_dtv_generation) { + Elf_Addr* newdtv; + int to_copy; + newdtv = calloc(1, (tls_max_index + 2) * sizeof(Elf_Addr)); + to_copy = dtv[1]; + if (to_copy > tls_max_index) + to_copy = tls_max_index; + memcpy(&newdtv[2], &dtv[2], to_copy * sizeof(Elf_Addr)); + newdtv[0] = tls_dtv_generation; + newdtv[1] = tls_max_index; + free(dtv); + *dtvp = newdtv; + } + + /* Dynamically allocate module TLS if necessary */ + if (!dtv[index + 1]) + dtv[index + 1] = (Elf_Addr)allocate_tls(index); + + return (void*) (dtv[index + 1] + offset); +} + +/* + * Allocate TLS block for module with given index. + */ +void * +allocate_tls(int index) +{ + Obj_Entry* obj; + char* p; + + for (obj = obj_list; obj; obj = obj->next) { + if (obj->tlsindex == index) + break; + } + if (!obj) { + _rtld_error("Can't find module with TLS index %d", index); + die(); + } + + p = malloc(obj->tlssize); + memcpy(p, obj->tlsinit, obj->tlsinitsize); + memset(p + obj->tlsinitsize, 0, obj->tlssize - obj->tlsinitsize); + + return p; +} ==== //depot/projects/kse/libexec/rtld-elf/rtld.h#2 (text+ko) ==== @@ -63,6 +63,10 @@ #define false 0 #define true 1 +extern size_t tls_last_offset; +extern int tls_dtv_generation; +extern int tls_max_index; + struct stat; struct Struct_Obj_Entry; @@ -137,6 +141,13 @@ size_t phsize; /* Size of program header in bytes */ const char *interp; /* Pathname of the interpreter, if any */ + /* TLS information */ + int tlsindex; /* Index in DTV for this module */ + void *tlsinit; /* Base address of TLS init block */ + size_t tlsinitsize; /* Size of TLS init block for this module */ + size_t tlssize; /* Size of TLS block for this module */ + size_t tlsoffset; /* Offset of TLS block for this module */ + /* Items from the dynamic section. */ Elf_Addr *pltgot; /* PLT or GOT, depending on architecture */ const Elf_Rel *rel; /* Relocation entries */ @@ -216,6 +227,8 @@ void _rtld_bind_start(void); const Elf_Sym *symlook_obj(const char *, unsigned long, const Obj_Entry *, bool); +void *tls_get_addr_common(Elf_Addr** dtvp, int index, size_t offset); +void *allocate_tls(int index); /* * MD function declarations. @@ -224,5 +237,6 @@ int reloc_non_plt(Obj_Entry *, Obj_Entry *); int reloc_plt(Obj_Entry *); int reloc_jmpslots(Obj_Entry *); +void allocate_initial_tls(Obj_Entry *); #endif /* } */ From owner-p4-projects@FreeBSD.ORG Thu Apr 1 09:57:28 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AB81416A4D0; Thu, 1 Apr 2004 09:57:27 -0800 (PST) Delivered-To: perforce@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 931) id 6DA7316A4CF; Thu, 1 Apr 2004 09:57:27 -0800 (PST) Date: Thu, 1 Apr 2004 07:57:27 -1000 From: juli mallett To: Julian Elischer Message-ID: <20040401175727.GA56248@FreeBSD.org> References: <200404010720.i317KGix039853@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200404010720.i317KGix039853@repoman.freebsd.org> User-Agent: Mutt/1.4.1i X-Negacore: Yes X-Authentication-Warning: localhost: juli pwned teh intarweb X-Disclaimer: Opinions expressed about the deliciousness of eating brains are my own unless expressed by my employer. cc: Perforce Change Reviews Subject: Re: PERFORCE change 50103 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: Thu, 01 Apr 2004 17:57:28 -0000 * Julian Elischer [ Date: 2004-03-31 ] [ w.r.t. PERFORCE change 50103 for review ] > http://perforce.freebsd.org/chv.cgi?CH=50103 > > Change 50103 by julian@julian_jules1 on 2004/03/31 23:19:17 > > catch up April Fools? -- juli mallett. jmallett@freebsd.org. adrift in the pacific. From owner-p4-projects@FreeBSD.ORG Thu Apr 1 15:31:42 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B137B16A4D0; Thu, 1 Apr 2004 15:31:41 -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 86B1E16A4CE for ; Thu, 1 Apr 2004 15:31:41 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C73243D39 for ; Thu, 1 Apr 2004 15:31:41 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i31NVfGe079131 for ; Thu, 1 Apr 2004 15:31:41 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i31NVZeT079047 for perforce@freebsd.org; Thu, 1 Apr 2004 15:31:35 -0800 (PST) (envelope-from peter@freebsd.org) Date: Thu, 1 Apr 2004 15:31:35 -0800 (PST) Message-Id: <200404012331.i31NVZeT079047@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 50145 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: Thu, 01 Apr 2004 23:31:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=50145 Change 50145 by peter@peter_daintree on 2004/04/01 15:31:12 IFC @50143 Affected files ... .. //depot/projects/hammer/MAINTAINERS#18 integrate .. //depot/projects/hammer/bin/ps/ps.1#13 integrate .. //depot/projects/hammer/contrib/libpcap/.cvsignore#2 integrate .. //depot/projects/hammer/contrib/libpcap/CHANGES#2 integrate .. //depot/projects/hammer/contrib/libpcap/CREDITS#2 integrate .. //depot/projects/hammer/contrib/libpcap/FILES#2 integrate .. //depot/projects/hammer/contrib/libpcap/INSTALL.txt#2 integrate .. //depot/projects/hammer/contrib/libpcap/Makefile.in#2 integrate .. //depot/projects/hammer/contrib/libpcap/README#2 integrate .. //depot/projects/hammer/contrib/libpcap/README.Win32#1 branch .. //depot/projects/hammer/contrib/libpcap/README.aix#2 integrate .. //depot/projects/hammer/contrib/libpcap/README.dag#1 branch .. //depot/projects/hammer/contrib/libpcap/README.hpux#1 branch .. //depot/projects/hammer/contrib/libpcap/VERSION#3 integrate .. //depot/projects/hammer/contrib/libpcap/atmuni31.h#1 branch .. //depot/projects/hammer/contrib/libpcap/bpf/net/bpf.h#2 delete .. //depot/projects/hammer/contrib/libpcap/bpf/net/bpf_filter.c#2 integrate .. //depot/projects/hammer/contrib/libpcap/bpf_dump.c#2 integrate .. //depot/projects/hammer/contrib/libpcap/bpf_image.c#2 integrate .. //depot/projects/hammer/contrib/libpcap/config.guess#2 integrate .. //depot/projects/hammer/contrib/libpcap/config.h.in#2 integrate .. //depot/projects/hammer/contrib/libpcap/config.sub#2 integrate .. //depot/projects/hammer/contrib/libpcap/configure#2 integrate .. //depot/projects/hammer/contrib/libpcap/configure.in#2 integrate .. //depot/projects/hammer/contrib/libpcap/etherent.c#2 integrate .. //depot/projects/hammer/contrib/libpcap/fad-getad.c#1 branch .. //depot/projects/hammer/contrib/libpcap/fad-gifc.c#1 branch .. //depot/projects/hammer/contrib/libpcap/fad-glifc.c#1 branch .. //depot/projects/hammer/contrib/libpcap/fad-null.c#1 branch .. //depot/projects/hammer/contrib/libpcap/fad-win32.c#1 branch .. //depot/projects/hammer/contrib/libpcap/gencode.c#4 integrate .. //depot/projects/hammer/contrib/libpcap/gencode.h#2 integrate .. //depot/projects/hammer/contrib/libpcap/grammar.y#2 integrate .. //depot/projects/hammer/contrib/libpcap/inet.c#2 integrate .. //depot/projects/hammer/contrib/libpcap/lbl/os-aix4.h#1 branch .. //depot/projects/hammer/contrib/libpcap/lbl/os-hpux11.h#1 branch .. //depot/projects/hammer/contrib/libpcap/lbl/os-osf5.h#1 branch .. //depot/projects/hammer/contrib/libpcap/nametoaddr.c#2 integrate .. //depot/projects/hammer/contrib/libpcap/nlpid.h#2 integrate .. //depot/projects/hammer/contrib/libpcap/optimize.c#2 integrate .. //depot/projects/hammer/contrib/libpcap/pcap-bpf.c#3 integrate .. //depot/projects/hammer/contrib/libpcap/pcap-bpf.h#1 branch .. //depot/projects/hammer/contrib/libpcap/pcap-dag.c#1 branch .. //depot/projects/hammer/contrib/libpcap/pcap-dag.h#1 branch .. //depot/projects/hammer/contrib/libpcap/pcap-dlpi.c#2 integrate .. //depot/projects/hammer/contrib/libpcap/pcap-enet.c#2 integrate .. //depot/projects/hammer/contrib/libpcap/pcap-int.h#3 integrate .. //depot/projects/hammer/contrib/libpcap/pcap-linux.c#2 integrate .. //depot/projects/hammer/contrib/libpcap/pcap-nit.c#2 integrate .. //depot/projects/hammer/contrib/libpcap/pcap-null.c#2 integrate .. //depot/projects/hammer/contrib/libpcap/pcap-pf.c#2 integrate .. //depot/projects/hammer/contrib/libpcap/pcap-snit.c#2 integrate .. //depot/projects/hammer/contrib/libpcap/pcap-snoop.c#2 integrate .. //depot/projects/hammer/contrib/libpcap/pcap-stdinc.h#1 branch .. //depot/projects/hammer/contrib/libpcap/pcap-win32.c#1 branch .. //depot/projects/hammer/contrib/libpcap/pcap.3#4 integrate .. //depot/projects/hammer/contrib/libpcap/pcap.c#3 integrate .. //depot/projects/hammer/contrib/libpcap/pcap.h#3 integrate .. //depot/projects/hammer/contrib/libpcap/pf.h#1 branch .. //depot/projects/hammer/contrib/libpcap/rawss7.h#1 branch .. //depot/projects/hammer/contrib/libpcap/savefile.c#2 integrate .. //depot/projects/hammer/contrib/libpcap/scanner.l#3 integrate .. //depot/projects/hammer/contrib/libpcap/sll.h#2 integrate .. //depot/projects/hammer/contrib/libpcap/snprintf.c#1 branch .. //depot/projects/hammer/contrib/libpcap/sunatmpos.h#1 branch .. //depot/projects/hammer/contrib/tcpdump/CHANGES#3 integrate .. //depot/projects/hammer/contrib/tcpdump/CREDITS#3 integrate .. //depot/projects/hammer/contrib/tcpdump/FILES#3 integrate .. //depot/projects/hammer/contrib/tcpdump/INSTALL#3 integrate .. //depot/projects/hammer/contrib/tcpdump/Makefile.in#2 integrate .. //depot/projects/hammer/contrib/tcpdump/README#3 integrate .. //depot/projects/hammer/contrib/tcpdump/Readme.Win32#1 branch .. //depot/projects/hammer/contrib/tcpdump/VERSION#3 integrate .. //depot/projects/hammer/contrib/tcpdump/acconfig.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/addrtoname.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/aodv.h#1 branch .. //depot/projects/hammer/contrib/tcpdump/appletalk.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/arcnet.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/atm.h#1 branch .. //depot/projects/hammer/contrib/tcpdump/atmuni31.h#1 branch .. //depot/projects/hammer/contrib/tcpdump/bootp.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/bpf_dump.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/config.guess#2 integrate .. //depot/projects/hammer/contrib/tcpdump/config.h.in#3 integrate .. //depot/projects/hammer/contrib/tcpdump/config.sub#2 integrate .. //depot/projects/hammer/contrib/tcpdump/configure#3 integrate .. //depot/projects/hammer/contrib/tcpdump/configure.in#3 integrate .. //depot/projects/hammer/contrib/tcpdump/decnet.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/enc.h#1 branch .. //depot/projects/hammer/contrib/tcpdump/ether.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/ethertype.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/extract.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/fddi.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/gmpls.c#1 branch .. //depot/projects/hammer/contrib/tcpdump/gmpls.h#1 branch .. //depot/projects/hammer/contrib/tcpdump/gmt2local.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/icmp6.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/ieee802_11.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/igrp.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/interface.h#3 integrate .. //depot/projects/hammer/contrib/tcpdump/ip.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/ip6.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/ipfc.h#1 branch .. //depot/projects/hammer/contrib/tcpdump/ipproto.h#1 branch .. //depot/projects/hammer/contrib/tcpdump/ipsec_doi.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/ipx.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/isakmp.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/lane.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/lbl/os-osf4.h#1 branch .. //depot/projects/hammer/contrib/tcpdump/llc.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/machdep.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/missing/addrinfo.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/missing/addrsize.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/missing/bittypes.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/missing/datalinks.c#1 branch .. //depot/projects/hammer/contrib/tcpdump/missing/dlnames.c#1 branch .. //depot/projects/hammer/contrib/tcpdump/missing/getaddrinfo.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/missing/getnameinfo.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/missing/inet_aton.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/missing/inet_ntop.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/missing/inet_pton.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/missing/resolv6.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/missing/resolv_ext.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/missing/snprintf.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/missing/sockstorage.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/missing/strlcat.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/missing/strlcpy.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/missing/strsep.c#1 branch .. //depot/projects/hammer/contrib/tcpdump/nameser.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/netbios.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/nfs.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/nfsfh.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/ntp.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/oakley.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/ospf.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/ospf6.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/oui.c#1 branch .. //depot/projects/hammer/contrib/tcpdump/oui.h#1 branch .. //depot/projects/hammer/contrib/tcpdump/parsenfsfh.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/pcap-missing.h#1 branch .. //depot/projects/hammer/contrib/tcpdump/pf.h#1 branch .. //depot/projects/hammer/contrib/tcpdump/ppp.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-802_11.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-ah.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-aodv.c#1 branch .. //depot/projects/hammer/contrib/tcpdump/print-ap1394.c#1 branch .. //depot/projects/hammer/contrib/tcpdump/print-arcnet.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-arp.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-ascii.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-atalk.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-atm.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-beep.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-bfd.c#1 branch .. //depot/projects/hammer/contrib/tcpdump/print-bgp.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-bootp.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-cdp.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-chdlc.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-cip.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-cnfp.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-decnet.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-dhcp6.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-domain.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-dvmrp.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-egp.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-enc.c#1 branch .. //depot/projects/hammer/contrib/tcpdump/print-esp.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-ether.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-fddi.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-fr.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-frag6.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-gre.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-hsrp.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-icmp.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-icmp6.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-igmp.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-igrp.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-ip.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-ip6.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-ip6opts.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-ipcomp.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-ipfc.c#1 branch .. //depot/projects/hammer/contrib/tcpdump/print-ipx.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-isakmp.c#4 integrate .. //depot/projects/hammer/contrib/tcpdump/print-isoclns.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-krb.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-l2tp.c#4 integrate .. //depot/projects/hammer/contrib/tcpdump/print-lane.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-lcp.c#2 delete .. //depot/projects/hammer/contrib/tcpdump/print-ldp.c#1 branch .. //depot/projects/hammer/contrib/tcpdump/print-llc.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-lwres.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-mobile.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-mobility.c#1 branch .. //depot/projects/hammer/contrib/tcpdump/print-mpls.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-msdp.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-netbios.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-nfs.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-ntp.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-null.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-ospf.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-ospf6.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-pflog.c#1 branch .. //depot/projects/hammer/contrib/tcpdump/print-pim.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-ppp.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-pppoe.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-pptp.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-radius.c#4 integrate .. //depot/projects/hammer/contrib/tcpdump/print-raw.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-rip.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-ripng.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-rsvp.c#1 branch .. //depot/projects/hammer/contrib/tcpdump/print-rt6.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-rx.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-sctp.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-sl.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-sll.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-smb.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-snmp.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-stp.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-sunatm.c#1 branch .. //depot/projects/hammer/contrib/tcpdump/print-sunrpc.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/print-tcp.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-telnet.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-tftp.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-timed.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-token.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-udp.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-vjc.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-vrrp.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-wb.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/print-zephyr.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/route6d.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/rx.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/sctpConstants.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/sctpHeader.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/setsignal.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/sll.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/smb.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/smbutil.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/strcasecmp.c#2 integrate .. //depot/projects/hammer/contrib/tcpdump/tcp.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/tcpdump-stdinc.h#1 branch .. //depot/projects/hammer/contrib/tcpdump/tcpdump.1#3 integrate .. //depot/projects/hammer/contrib/tcpdump/tcpdump.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/telnet.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/timed.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/token.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/udp.h#2 integrate .. //depot/projects/hammer/contrib/tcpdump/util.c#3 integrate .. //depot/projects/hammer/contrib/tcpdump/vfprintf.c#2 integrate .. //depot/projects/hammer/etc/master.passwd#4 integrate .. //depot/projects/hammer/etc/rc.d/initdiskless#10 integrate .. //depot/projects/hammer/etc/root/dot.cshrc#2 integrate .. //depot/projects/hammer/lib/libalias/Makefile#7 integrate .. //depot/projects/hammer/lib/libalias/alias.c#6 integrate .. //depot/projects/hammer/lib/libalias/alias_local.h#5 integrate .. //depot/projects/hammer/lib/libalias/alias_pptp.c#4 integrate .. //depot/projects/hammer/lib/libalias/alias_util.c#4 integrate .. //depot/projects/hammer/lib/libc/amd64/gen/makecontext.c#5 integrate .. //depot/projects/hammer/lib/libc/amd64/gen/signalcontext.c#5 integrate .. //depot/projects/hammer/lib/libc/net/nsdispatch.c#7 integrate .. //depot/projects/hammer/lib/libc/stdlib/getopt_long.c#7 integrate .. //depot/projects/hammer/lib/libpcap/Makefile#4 integrate .. //depot/projects/hammer/lib/libpcap/config.h#2 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/errata/article.sgml#16 integrate .. //depot/projects/hammer/sbin/bsdlabel/bsdlabel.8#5 integrate .. //depot/projects/hammer/sbin/bsdlabel/bsdlabel.c#15 integrate .. //depot/projects/hammer/sbin/ffsinfo/Makefile#4 integrate .. //depot/projects/hammer/sbin/fsck_ffs/pass5.c#7 integrate .. //depot/projects/hammer/sbin/growfs/Makefile#3 integrate .. //depot/projects/hammer/sbin/ifconfig/ifconfig.8#12 integrate .. //depot/projects/hammer/sbin/ifconfig/ifconfig.c#15 integrate .. //depot/projects/hammer/sbin/ifconfig/ifconfig.h#5 integrate .. //depot/projects/hammer/sbin/ifconfig/ifieee80211.c#5 integrate .. //depot/projects/hammer/secure/lib/libcrypto/Makefile.inc#7 integrate .. //depot/projects/hammer/share/man/man4/ieee80211.4#4 integrate .. //depot/projects/hammer/share/man/man4/polling.4#7 integrate .. //depot/projects/hammer/share/man/man9/ieee80211_radiotap.9#2 integrate .. //depot/projects/hammer/share/man/man9/mbuf.9#12 integrate .. //depot/projects/hammer/sys/alpha/alpha/machdep.c#22 integrate .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#60 integrate .. //depot/projects/hammer/sys/amd64/amd64/support.S#18 integrate .. //depot/projects/hammer/sys/amd64/include/md_var.h#23 integrate .. //depot/projects/hammer/sys/compat/linprocfs/linprocfs.c#21 integrate .. //depot/projects/hammer/sys/conf/NOTES#40 integrate .. //depot/projects/hammer/sys/conf/files#53 integrate .. //depot/projects/hammer/sys/conf/files.i386#27 integrate .. //depot/projects/hammer/sys/conf/majors#22 integrate .. //depot/projects/hammer/sys/conf/options#34 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi.c#30 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_pci.c#7 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_resource.c#7 integrate .. //depot/projects/hammer/sys/dev/acpica/acpivar.h#22 integrate .. //depot/projects/hammer/sys/dev/ath/if_ath.c#18 integrate .. //depot/projects/hammer/sys/dev/ath/if_athvar.h#8 integrate .. //depot/projects/hammer/sys/dev/md/md.c#28 integrate .. //depot/projects/hammer/sys/dev/sound/pci/ich.c#12 integrate .. //depot/projects/hammer/sys/dev/usb/usb_subr.c#9 integrate .. //depot/projects/hammer/sys/dev/wi/if_wi.c#27 integrate .. //depot/projects/hammer/sys/dev/wi/if_wivar.h#10 integrate .. //depot/projects/hammer/sys/fs/fifofs/fifo_vnops.c#14 integrate .. //depot/projects/hammer/sys/fs/portalfs/portal_vnops.c#5 integrate .. //depot/projects/hammer/sys/fs/procfs/procfs_status.c#8 integrate .. //depot/projects/hammer/sys/geom/geom_apple.c#9 integrate .. //depot/projects/hammer/sys/i386/conf/GENERIC.hints#6 integrate .. //depot/projects/hammer/sys/kern/kern_exec.c#24 integrate .. //depot/projects/hammer/sys/kern/kern_proc.c#26 integrate .. //depot/projects/hammer/sys/kern/subr_bus.c#16 integrate .. //depot/projects/hammer/sys/kern/subr_trap.c#21 integrate .. //depot/projects/hammer/sys/kern/sys_process.c#14 integrate .. //depot/projects/hammer/sys/kern/uipc_socket.c#19 integrate .. //depot/projects/hammer/sys/kern/uipc_usrreq.c#11 integrate .. //depot/projects/hammer/sys/net/bpf.h#8 integrate .. //depot/projects/hammer/sys/net/if_sl.c#7 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_ioctl.c#11 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_ioctl.h#5 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_node.c#11 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_proto.c#7 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_var.h#9 integrate .. //depot/projects/hammer/sys/netinet6/udp6_usrreq.c#13 integrate .. //depot/projects/hammer/sys/pc98/conf/NOTES#22 integrate .. //depot/projects/hammer/sys/pci/if_sk.c#23 integrate .. //depot/projects/hammer/sys/pci/if_skreg.h#6 integrate .. //depot/projects/hammer/sys/pci/if_ste.c#20 integrate .. //depot/projects/hammer/sys/pci/if_stereg.h#5 integrate .. //depot/projects/hammer/sys/powerpc/powermac/ata_kauai.c#2 integrate .. //depot/projects/hammer/sys/powerpc/powermac/grackle.c#3 integrate .. //depot/projects/hammer/sys/sys/proc.h#46 integrate .. //depot/projects/hammer/sys/sys/un.h#3 integrate .. //depot/projects/hammer/tools/lib32/README#1 branch .. //depot/projects/hammer/tools/lib32/build32.sh#1 branch .. //depot/projects/hammer/tools/tools/tinderbox/tinderbox.pl#13 integrate .. //depot/projects/hammer/usr.bin/calendar/calendar.1#4 integrate .. //depot/projects/hammer/usr.sbin/adduser/Makefile#3 integrate .. //depot/projects/hammer/usr.sbin/adduser/adduser.8#8 integrate .. //depot/projects/hammer/usr.sbin/adduser/adduser.conf.5#1 branch .. //depot/projects/hammer/usr.sbin/adduser/adduser.sh#5 integrate .. //depot/projects/hammer/usr.sbin/cdcontrol/cdcontrol.c#9 integrate .. //depot/projects/hammer/usr.sbin/ndp/Makefile#2 integrate .. //depot/projects/hammer/usr.sbin/nfsd/nfsd.8#3 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/info/main.c#4 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/info/pkg_info.1#5 integrate .. //depot/projects/hammer/usr.sbin/setkey/parse.y#4 integrate .. //depot/projects/hammer/usr.sbin/tcpdump/tcpdump/Makefile#4 integrate .. //depot/projects/hammer/usr.sbin/tcpdump/tcpdump/config.h#3 integrate Differences ... ==== //depot/projects/hammer/MAINTAINERS#18 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.84 2004/03/25 20:02:17 scottl Exp $ +$FreeBSD: src/MAINTAINERS,v 1.85 2004/04/01 20:31:48 johan Exp $ subsystem login notes ----------------------------- @@ -114,8 +114,6 @@ lib/libusbhid/Makefile:MAINTAINER= n_hibma@FreeBSD.ORG lib/libz/Makefile:MAINTAINER= peter@FreeBSD.org sbin/dhclient/Makefile.inc:MAINTAINER= murray@FreeBSD.org -sbin/ffsinfo/Makefile:MAINTAINER= tomsoft@FreeBSD.ORG, chm@FreeBSD.ORG -sbin/growfs/Makefile:MAINTAINER= tomsoft@FreeBSD.ORG, chm@FreeBSD.ORG sbin/ipf/Makefile:MAINTAINER= darrenr@freebsd.org sbin/ipfs/Makefile:MAINTAINER= darrenr@freebsd.org sbin/ipfstat/Makefile:MAINTAINER= darrenr@freebsd.org ==== //depot/projects/hammer/bin/ps/ps.1#13 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/ps/ps.1,v 1.72 2004/03/27 18:26:40 gad Exp $ +.\" $FreeBSD: src/bin/ps/ps.1,v 1.74 2004/04/01 13:28:36 gad Exp $ .\" .Dd March 27, 2004 .Dt PS 1 @@ -67,14 +67,13 @@ The .Nm utility -displays a header line followed by lines containing information about your +displays a header line, followed by lines containing information about +all of your processes that have controlling terminals. -This information is sorted by controlling terminal, then by process -.Tn ID . .Pp A different set of processes can be selected for display by using any combination of the -.Fl a, G , p , T , t +.Fl a , G , p , T , t and .Fl U options. @@ -83,6 +82,24 @@ will select all processes which are matched by at least one of the given options. .Pp +For the processes which have been selected for display, +.Nm +will usually display one line per process. +The +.Fl H +option may result in multiple output lines (one line per thread) for +some processes. +By default all of these output lines are sorted first by controlling +terminal, then by process +.Tn ID . +The +.Fl m , r , u , +and +.Fl v +options will change the sort order. +If more than one sorting option was given, then the selected processes +will be sorted by the last sorting option which was specified. +.Pp For the processes which have been selected for display, the information to display is selected based on a set of keywords (see the .Fl L @@ -141,7 +158,11 @@ Print information associated with the following keywords: user, pid, ppid, pgid, jobc, state, tt, time and command. .It Fl L -List the set of available keywords. +List the set of keywords available for the +.Fl O +and +.Fl o +options. .It Fl l Display information associated with the following keywords: uid, pid, ppid, cpu, pri, nice, vsz, rss, mwchan, state, tt, time @@ -150,7 +171,8 @@ Extract values associated with the name list from the specified core instead of the currently running system. .It Fl m -Sort by memory usage, instead of by process +Sort by memory usage, instead of the combination of controlling +terminal and process .Tn ID . .It Fl N Extract the name list from the specified system instead of the default, @@ -177,7 +199,8 @@ Display information about processes which match the specified process .Tn ID(s) . .It Fl r -Sort by current cpu usage, instead of by process +Sort by current cpu usage, instead of the combination of controlling +terminal and process .Tn ID . .It Fl S Change the way the process time is calculated by summing all exited ==== //depot/projects/hammer/contrib/libpcap/.cvsignore#2 (text+ko) ==== @@ -10,3 +10,4 @@ grammar.c tokdefs.h version.c +version.h ==== //depot/projects/hammer/contrib/libpcap/CHANGES#2 (text+ko) ==== @@ -1,4 +1,45 @@ -@(#) $Header: /tcpdump/master/libpcap/CHANGES,v 1.56 2001/10/23 04:37:31 mcr Exp $ (LBL) +@(#) $Header: /tcpdump/master/libpcap/CHANGES,v 1.56.4.3 2004/03/30 14:29:16 mcr Exp $ (LBL) + +Tue. March 30, 2004. mcr@sandelman.ottawa.on.ca. Summary for 3.8.3 release + + Fixed minor problem in gencode.c that would appear on 64-bit + platforms. + Version number is now sane. + +Mon. March 29, 2004. mcr@sandelman.ottawa.on.ca. Summary for 3.8.2 release + + updates for autoconf 2.5 + fixes for ppp interfaces for freebsd 4.1 + pcap gencode can generate code for 802.11, IEEE1394, and pflog. + +Wed. November 12, 2003. mcr@sandelman.ottawa.on.ca. Summary for 0.8 release + + added pcap_findalldevs() + Win32 patches from NetGroup, Politecnico di Torino (Italy) + OpenBSD pf, DLT_PFLOG added + Many changes to ATM support. + lookup pcap_lookupnet() + Added DLT_ARCNET_LINUX, DLT_ENC, DLT_IEEE802_11_RADIO, DLT_SUNATM, + DLT_IP_OVER_FC, DLT_FRELAY, others. + Sigh. More AIX wonderfulness. + Document updates. + Changes to API: pcap_next_ex(), pcap_breakloop(), pcap_dump_flush(), + pcap_list_datalinks(), pcap_set_datalink(), + pcap_lib_version(), pcap_datalink_val_to_name(), + pcap_datalink_name_to_val(), new error returns. + +Tuesday, February 25, 2003. fenner@research.att.com. 0.7.2 release + + Support link types that use 802.2 always, never, and sometimes. + Don't decrease the size of the BPF buffer from the default. + Support frame relay. + Handle 32-bit timestamps in DLPI, and pass the right buffer size. + Handle Linux systems with modern kernel but without + SOL_PACKET in the userland headers. + Linux support for ARPHRD_RAWHDLC. + Handle 32-bit timestamps in snoop. + Support eg (Octane/O2xxx/O3xxx Gigabit) devices. + Add new reserved DLT types. Monday October 23, 2001. mcr@sandelman.ottawa.on.ca. Summary for 0.7 release ==== //depot/projects/hammer/contrib/libpcap/CREDITS#2 (text+ko) ==== @@ -2,52 +2,85 @@ The current maintainers: Bill Fenner - Assar Westerlund - Alexey Kuznetsov + Fulvio Risso + Guy Harris + Hannes Gredler Jun-ichiro itojun Hagino - Guy Harris - Torsten Landschoff Michael Richardson - Sebastian Krahmer Additional people who have contributed patches: + Alan Bawden + Alexey Kuznetsov + Albert Chin + Andrew Brown + Antti Kantee Arkadiusz Miskiewicz Armando L. Caro Jr. - Fulvio Risso + Assar Westerlund + Brian Ginsbach Charles M. Hannum Chris G. Demetriou Chris Pepper Darren Reed + David Kaelbling + David Young + Don Ebright + Eric Anderson Franz Schaefer + Gianluca Varenni + Gisle Vanem + Graeme Hewson + Greg Stark Greg Troxel + Guillaume Pelat Hyung Sik Yoon Igor Khristophorov - Jason R. Thorpe + Jan-Philip Velders + Jason R. Thorpe Javier Achirica + Jean Tourrilhes Jefferson Ogata + Jesper Peterson + John Bankier + Jon Lindgren Juergen Schoenwaelder + Kazushi Sugyo Klaus Klein + Koryn Grant + Krzysztof Halasa Lorenzo Cavallaro + Loris Degioanni Love Hörnquist-Åstrand Maciej W. Rozycki Marcus Felipe Pereira Martin Husemann + Mike Wiacek Monroe Williams + Octavian Cerna Olaf Kirch Onno van der Linden + Paul Mundt Pavel Kankovsky + Peter Fales Peter Jeremy Phil Wood Rafal Maszkowski Rick Jones Scott Barron Scott Gifford + Sebastian Krahmer + Shaun Clowes + Solomon Peachy Stefan Hudson - Tony Li + Takashi Yamamoto + Tony Li + Torsten Landschoff Uns Lider Uwe Girlich Xianjie Zhang + Yen Yen Lim + Yoann Vandoorselaere The original LBL crew: Steve McCanne ==== //depot/projects/hammer/contrib/libpcap/FILES#2 (text+ko) ==== @@ -6,15 +6,20 @@ Makefile.in README README.aix +README.dag +README.hpux README.linux README.tru64 +README.Win32 SUNOS4/nit_if.o.sparc SUNOS4/nit_if.o.sun3 SUNOS4/nit_if.o.sun4c.4.0.3c +TODO VERSION +acconfig.h aclocal.m4 arcnet.h -bpf/net/bpf.h +atmuni31.h bpf/net/bpf_filter.c bpf_dump.c bpf_image.c @@ -25,12 +30,20 @@ configure.in etherent.c ethertype.h +fad-getad.c +fad-gifc.c +fad-glifc.c +fad-null.c +fad-win32.c gencode.c gencode.h grammar.y inet.c install-sh +lbl/os-aix4.h +lbl/os-hpux11.h lbl/os-osf4.h +lbl/os-osf5.h lbl/os-solaris2.h lbl/os-sunos4.h lbl/os-ultrix4.h @@ -39,7 +52,11 @@ nametoaddr.c nlpid.h optimize.c +packaging/pcap.spec pcap-bpf.c +pcap-bpf.h +pcap-dag.c +pcap-dag.h pcap-dlpi.c pcap-enet.c pcap-int.h @@ -50,12 +67,38 @@ pcap-null.c pcap-pf.c pcap-pf.h +pcap-stdinc.h pcap-snit.c pcap-snoop.c +pcap-win32.c pcap.3 pcap.c pcap.h +pf.h ppp.h +rawss7.h savefile.c scanner.l sll.h +snprintf.c +sunatmpos.h +Win32/Include/Gnuc.h +Win32/Include/addrinfo.h +Win32/Include/bittypes.h +Win32/Include/cdecl_ext.h +Win32/Include/inetprivate.h +Win32/Include/ip6_misc.h +Win32/Include/sockstorage.h +Win32/Include/arpa/nameser.h +Win32/Include/net/if.h +Win32/Include/net/netdb.h +Win32/Include/net/paths.h +Win32/Src/ffs.c +Win32/Src/getaddrinfo.c +Win32/Src/getnetbynm.c +Win32/Src/getnetent.c +Win32/Src/getopt.c +Win32/Src/getservent.c +Win32/Src/inet_aton.c +Win32/Src/inet_net.c +Win32/Src/inet_pton.c ==== //depot/projects/hammer/contrib/libpcap/INSTALL.txt#2 (text+ko) ==== @@ -1,4 +1,4 @@ -@(#) $Header: /tcpdump/master/libpcap/INSTALL.txt,v 1.2 2001/06/05 03:45:53 guy Exp $ (LBL) +@(#) $Header: /tcpdump/master/libpcap/INSTALL.txt,v 1.7.2.2 2003/12/15 02:05:00 guy Exp $ (LBL) To build libpcap, run "./configure" (a shell script). The configure script will determine your system attributes and generate an @@ -295,48 +295,80 @@ FILES ----- CHANGES - description of differences between releases +CREDITS - people that have helped libpcap along FILES - list of files exported as part of the distribution -INSTALL - this file +INSTALL.txt - this file +LICENSE - the license under which tcpdump is distributed Makefile.in - compilation rules (input to the configure script) README - description of distribution +README.aix - notes on using libpcap on AIX +README.dag - notes on using libpcap to capture on Endace DAG devices +README.hpux - notes on using libpcap on HP-UX +README.linux - notes on using libpcap on Linux +README.tru64 - notes on using libpcap on Digital/Tru64 UNIX +README.Win32 - notes on using libpcap on Win32 systems (with WinPcap) SUNOS4 - pre-SunOS 4.1 replacement kernel nit modules VERSION - version of this release +acconfig.h - support for post-2.13 autoconf aclocal.m4 - autoconf macros -bpf/net - copies of bpf_filter.c and bpf.h +arcnet.h - ARCNET definitions +atmuni31.h - ATM Q.2931 definitions +bpf/net - copy of bpf_filter.c +bpf_dump.c - BPF program printing routines bpf_filter.c - symlink to bpf/net/bpf_filter.c -bpf_image.c - bpf disassembly routine +bpf_image.c - BPF disassembly routine config.guess - autoconf support +config.h.in - autoconf input config.sub - autoconf support configure - configure script (run this first) configure.in - configure script source etherent.c - /etc/ethers support routines -ethertype.h - ethernet protocol types and names definitions -gencode.c - bpf code generation routines -gencode.h - bpf code generation definitions +ethertype.h - Ethernet protocol types and names definitions +fad-getad.c - pcap_findalldevs() for systems with getifaddrs() +fad-gifc.c - pcap_findalldevs() for systems with only SIOCGIFLIST +fad-glifc.c - pcap_findalldevs() for systems with SIOCGLIFCONF +fad-null.c - pcap_findalldevs() for systems without capture support +fad-win32.c - pcap_findalldevs() for WinPcap +gencode.c - BPF code generation routines +gencode.h - BPF code generation definitions grammar.y - filter string grammar inet.c - network routines install-sh - BSD style install script -lbl/gnuc.h - gcc macros and defines -lbl/os-*.h - os dependent defines and prototypes +lbl/os-*.h - OS-dependent defines and prototypes +llc.h - 802.2 LLC SAP definitions mkdep - construct Makefile dependency list nametoaddr.c - hostname to address routines +nlpid.h - OSI network layer protocol identifier definitions net - symlink to bpf/net -optimize.c - bpf optimization routines +optimize.c - BPF optimization routines +packaging - packaging information for building libpcap RPMs pcap-bpf.c - BSD Packet Filter support +pcap-bpf.h - BPF definitions +pcap-dag.c - Endace DAG device capture support +pcap-dag.h - Endace DAG device capture support pcap-dlpi.c - Data Link Provider Interface support pcap-enet.c - enet support pcap-int.h - internal libpcap definitions +pcap-linux.c - Linux packet socket support pcap-namedb.h - public libpcap name database definitions -pcap-nit.c - Network Interface Tap support -pcap-nit.h - Network Interface Tap definitions +pcap-nit.c - SunOS Network Interface Tap support +pcap-nit.h - SunOS Network Interface Tap definitions pcap-null.c - dummy monitor support (allows offline use of libpcap) -pcap-pf.c - Packet Filter support -pcap-pf.h - Packet Filter definitions -pcap-snit.c - Streams based Network Interface Tap support -pcap-snoop.c - Snoop network monitoring support +pcap-pf.c - Ultrix and Digital/Tru64 UNIX Packet Filter support +pcap-pf.h - Ultrix and Digital/Tru64 UNIX Packet Filter definitions +pcap-stdinc.h - includes and #defines for compiling on Win32 systems +pcap-snit.c - SunOS 4.x STREAMS-based Network Interface Tap support +pcap-snoop.c - IRIX Snoop network monitoring support +pcap-win32.c - WinPcap capture support pcap.3 - manual entry pcap.c - pcap utility routines pcap.h - public libpcap definitions +pf.h - OpenBSD DLT_PFLOG definitions ppp.h - Point to Point Protocol definitions +rawss7.h - information on DLT_ types for SS7 savefile.c - offline support scanner.l - filter string scanner +sll.h - definitions for Linux cooked mode fake link-layer header +snprintf.c - snprintf and vsnprintf for platforms that lack them +sunatmpos.h - definitions for SunATM capturing +Win32 - headers and routines for building on Win32 systems ==== //depot/projects/hammer/contrib/libpcap/Makefile.in#2 (text+ko) ==== @@ -17,7 +17,7 @@ # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. # -# @(#) $Header: /tcpdump/master/libpcap/Makefile.in,v 1.88 2001/01/18 04:05:12 guy Exp $ (LBL) +# @(#) $Header: /tcpdump/master/libpcap/Makefile.in,v 1.96.2.1 2003/12/15 01:42:23 guy Exp $ (LBL) # # Various configurable paths (remember to edit Makefile.in, not Makefile) @@ -44,7 +44,8 @@ CC = @CC@ CCOPT = @V_CCOPT@ INCLS = -I. @V_INCLS@ -DEFS = @DEFS@ +DEFS = @DEFS@ @V_DEFS@ +LIBS = @V_LIBS@ # Standard CFLAGS CFLAGS = $(CCOPT) $(INCLS) $(DEFS) @@ -70,23 +71,25 @@ $(CC) $(CFLAGS) -c $(srcdir)/$*.c PSRC = pcap-@V_PCAP@.c +FSRC = fad-@V_FINDALLDEVS@.c +SSRC = @SSRC@ CSRC = pcap.c inet.c gencode.c optimize.c nametoaddr.c \ etherent.c savefile.c bpf_filter.c bpf_image.c bpf_dump.c GENSRC = scanner.c grammar.c version.c LIBOBJS = @LIBOBJS@ -SRC = $(PSRC) $(CSRC) $(GENSRC) +SRC = $(PSRC) $(FSRC) $(CSRC) $(SSRC) $(GENSRC) # We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot # hack the extra indirection -OBJ = $(PSRC:.c=.o) $(CSRC:.c=.o) $(GENSRC:.c=.o) # $(LIBOBJS) +OBJ = $(PSRC:.c=.o) $(FSRC:.c=.o) $(CSRC:.c=.o) $(SSRC:.c=.o) $(GENSRC:.c=.o) $(LIBOBJS) HDR = pcap.h pcap-int.h pcap-namedb.h pcap-nit.h pcap-pf.h \ ethertype.h gencode.h gnuc.h GENHDR = \ - tokdefs.h + tokdefs.h version.h TAGHDR = \ - bpf/net/bpf.h + pcap-bpf.h TAGFILES = \ $(SRC) $(HDR) $(TAGHDR) @@ -97,7 +100,7 @@ libpcap.a: $(OBJ) @rm -f $@ - ar rc $@ $(OBJ) + ar rc $@ $(OBJ) $(LIBS) $(RANLIB) $@ scanner.c: $(srcdir)/scanner.l @@ -107,6 +110,8 @@ scanner.o: scanner.c tokdefs.h $(CC) $(CFLAGS) -c scanner.c +pcap.o: version.h + tokdefs.h: grammar.c grammar.c: $(srcdir)/grammar.y @rm -f grammar.c tokdefs.h @@ -121,13 +126,24 @@ version.o: version.c $(CC) $(CFLAGS) -c version.c -snprintf.o: $(srcdir)/../tcpdump/missing/snprintf.c - $(CC) $(CFLAGS) -o $@ -c $(srcdir)/../tcpdump/missing/snprintf.c +snprintf.o: $(srcdir)/missing/snprintf.c + $(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/snprintf.c version.c: $(srcdir)/VERSION @rm -f $@ sed -e 's/.*/char pcap_version[] = "&";/' $(srcdir)/VERSION > $@ +# +# NOTE: this really is supposed to be static; importing a string +# from a shared library does not work very well on many +# versions of UNIX (Solaris, Linux, and the BSDs, for example), +# so we make the version string static and return it from +# a function, which does work. +# +version.h: $(srcdir)/VERSION + @rm -f $@ + sed -e 's/.*/static const char pcap_version_string[] = "libpcap version &";/' $(srcdir)/VERSION > $@ + bpf_filter.c: $(srcdir)/bpf/net/bpf_filter.c rm -f bpf_filter.c ln -s $(srcdir)/bpf/net/bpf_filter.c bpf_filter.c @@ -143,12 +159,10 @@ [ -d $(DESTDIR)$(includedir) ] || \ (mkdir -p $(DESTDIR)$(includedir); chmod 755 $(DESTDIR)$(includedir)) $(INSTALL_DATA) $(srcdir)/pcap.h $(DESTDIR)$(includedir)/pcap.h + $(INSTALL_DATA) $(srcdir)/pcap-bpf.h \ + $(DESTDIR)$(includedir)/pcap-bpf.h $(INSTALL_DATA) $(srcdir)/pcap-namedb.h \ $(DESTDIR)$(includedir)/pcap-namedb.h - [ -d $(DESTDIR)$(includedir)/net ] || \ - (mkdir -p $(DESTDIR)$(includedir)/net; chmod 755 $(DESTDIR)$(includedir)/net) - $(INSTALL_DATA) $(srcdir)/bpf/net/bpf.h \ - $(DESTDIR)$(includedir)/net/bpf.h [ -d $(DESTDIR)$(mandir)/man3 ] || \ (mkdir -p $(DESTDIR)$(mandir)/man3; chmod 755 $(DESTDIR)$(mandir)/man3) $(INSTALL_DATA) $(srcdir)/pcap.3 \ @@ -157,8 +171,8 @@ uninstall: rm -f $(DESTDIR)$(libdir)/libpcap.a rm -f $(DESTDIR)$(includedir)/pcap.h + rm -f $(DESTDIR)$(includedir)/pcap-bpf.h rm -f $(DESTDIR)$(includedir)/pcap-namedb.h - rm -f $(DESTDIR)$(includedir)/net/bpf.h rm -f $(DESTDIR)$(mandir)/man3/pcap.3 clean: @@ -166,7 +180,7 @@ distclean: rm -f $(CLEANFILES) Makefile config.cache config.log config.status \ - config.h gnuc.h os-proto.h net bpf_filter.c stamp-h stamp-h.in + config.h gnuc.h os-proto.h bpf_filter.c stamp-h stamp-h.in tags: $(TAGFILES) ctags -wtd $(TAGFILES) @@ -185,5 +199,5 @@ "rm -f ../$$name" ; \ rm -f ../$$name -depend: $(GENSRC) bpf_filter.c +depend: $(GENSRC) $(GENHDR) bpf_filter.c ./mkdep -c $(CC) $(DEFS) $(INCLS) $(SRC) ==== //depot/projects/hammer/contrib/libpcap/README#2 (text+ko) ==== @@ -1,6 +1,6 @@ -@(#) $Header: /tcpdump/master/libpcap/README,v 1.24 2001/06/05 03:45:55 guy Exp $ (LBL) +@(#) $Header: /tcpdump/master/libpcap/README,v 1.27.2.1 2003/11/15 23:29:19 guy Exp $ (LBL) -LIBPCAP 0.6.2 +LIBPCAP 0.8 Now maintained by "The Tcpdump Group" See www.tcpdump.org @@ -11,8 +11,8 @@ (password "anoncvs") cvs -d :pserver:tcpdump@cvs.tcpdump.org:/tcpdump/master checkout libpcap -Version 0.6.2 of LIBPCAP can be retrieved with the CVS tag "libpcap_0_6rel2": - cvs -d :pserver:tcpdump@cvs.tcpdump.org:/tcpdump/master checkout -r libpcap_0_6rel2 libpcap +Version 0.8 of LIBPCAP can be retrieved with the CVS tag "libpcap_0_8rel1": + cvs -d :pserver:tcpdump@cvs.tcpdump.org:/tcpdump/master checkout -r libpcap_0_8rel1 libpcap Please send patches against the master copy to patches@tcpdump.org. @@ -32,12 +32,30 @@ Note well: this interface is new and is likely to change. +For some platforms there are README.{system} files that discuss issues +with the OS's interface for packet capture on those platforms, such as +how to enable support for that interface in the OS, if it's not built in +by default. + The libpcap interface supports a filtering mechanism based on the architecture in the BSD packet filter. BPF is described in the 1993 Winter Usenix paper ``The BSD Packet Filter: A New Architecture for -User-level Packet Capture''. A compressed postscript version is in: +User-level Packet Capture''. A compressed PostScript version can be +found at + + ftp://ftp.ee.lbl.gov/papers/bpf-usenix93.ps.Z + +or + + http://www.tcpdump.org/papers/bpf-usenix93.ps.Z + +and a gzipped version can be found at >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Apr 1 16:16:38 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 72B9216A4D0; Thu, 1 Apr 2004 16:16:38 -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 45D9416A4CE for ; Thu, 1 Apr 2004 16:16:38 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4064C43D41 for ; Thu, 1 Apr 2004 16:16:38 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i320GcGe089057 for ; Thu, 1 Apr 2004 16:16:38 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i320Gbx9089054 for perforce@freebsd.org; Thu, 1 Apr 2004 16:16:37 -0800 (PST) (envelope-from peter@freebsd.org) Date: Thu, 1 Apr 2004 16:16:37 -0800 (PST) Message-Id: <200404020016.i320Gbx9089054@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 50149 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: Fri, 02 Apr 2004 00:16:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=50149 Change 50149 by peter@peter_hammer on 2004/04/01 16:15:49 cosmetic Affected files ... .. //depot/projects/hammer/sys/modules/test/testmod.c#2 edit Differences ... ==== //depot/projects/hammer/sys/modules/test/testmod.c#2 (text+ko) ==== @@ -3,18 +3,22 @@ #include #include +int foo; +int bar = 1; + static int testmodevent(module_t mod, int type, void *data) { switch (type) { case MOD_LOAD: - printf("testmod: mod_load called!\n"); + printf("testmod: mod_load called! foo=%d bar=%d\n", foo, bar); break; case MOD_UNLOAD: - printf("testmod: mod_unload called!\n"); + printf("testmod: mod_unload called! foo=%d bar=%d\n", foo, bar); break; } + foo++; return 0; } From owner-p4-projects@FreeBSD.ORG Thu Apr 1 17:10:46 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9EAE416A4D0; Thu, 1 Apr 2004 17:10:46 -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 6125B16A4CE for ; Thu, 1 Apr 2004 17:10:46 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 58D8543D1F for ; Thu, 1 Apr 2004 17:10:46 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i321AkGe006849 for ; Thu, 1 Apr 2004 17:10:46 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i321AjX1006836 for perforce@freebsd.org; Thu, 1 Apr 2004 17:10:45 -0800 (PST) (envelope-from peter@freebsd.org) Date: Thu, 1 Apr 2004 17:10:45 -0800 (PST) Message-Id: <200404020110.i321AjX1006836@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 50152 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: Fri, 02 Apr 2004 01:10:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=50152 Change 50152 by peter@peter_hammer on 2004/04/01 17:10:10 more debug-by-printf Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#14 edit .. //depot/projects/hammer/sys/kern/link_elf_obj.c#15 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#14 (text+ko) ==== @@ -108,12 +108,14 @@ { Elf_Addr relocbase = (Elf_Addr) lf->address; Elf_Addr *where; + int32_t *where32; Elf_Addr addr; Elf_Addr addend; Elf_Word rtype, symidx; const Elf_Rel *rel; const Elf_Rela *rela; +printf("elf_reloc_internal: data %p, local %d\n", data, local); switch (type) { case ELF_RELOC_REL: rel = (const Elf_Rel *)data; @@ -121,6 +123,7 @@ addend = *where; rtype = ELF_R_TYPE(rel->r_info); symidx = ELF_R_SYM(rel->r_info); +printf("rel %p\n", rel); break; case ELF_RELOC_RELA: rela = (const Elf_Rela *)data; @@ -128,16 +131,20 @@ addend = rela->r_addend; rtype = ELF_R_TYPE(rela->r_info); symidx = ELF_R_SYM(rela->r_info); +printf("rela %p\n", rela); break; default: panic("unknown reloc type %d\n", type); } +printf("where %p, addend 0x%lx, rtype %ld, symindx %ld\n", where, addend, rtype, symidx); if (local) { if (rtype == R_X86_64_RELATIVE) { /* A + B */ addr = relocbase + addend; +printf("R_X86_64_RELATIVE: addr 0x%lx\n", addr); if (*where != addr) *where = addr; +printf("*where = 0x%lx\n", *where); } return (0); } @@ -145,25 +152,31 @@ switch (rtype) { case R_X86_64_NONE: /* none */ +printf("R_X86_64_NONE\n"); break; case R_X86_64_64: /* S + A */ addr = elf_lookup(lf, symidx, 1); +printf("R_X86_64_64: addr 0x%lx, addend 0x%lx\n", addr, addend); if (addr == 0) return -1; addr += addend; if (*where != addr) *where = addr; +printf("*where = 0x%lx\n", *where); break; case R_X86_64_PC32: /* S + A - P */ addr = elf_lookup(lf, symidx, 1); +printf("R_X86_64_PC32: addr 0x%lx, addend 0x%lx\n", addr, addend); if (addr == 0) return -1; addr += addend - (Elf_Addr)where; /* XXX needs to be 32 bit *where, not 64 bit */ - if (*where != addr) - *where = addr; + where32 = (int32_t *)where; + if (*where32 != addr) + *where32 = addr; +printf("*where32 = 0x%x\n", *where32); break; case R_X86_64_COPY: /* none */ @@ -177,10 +190,12 @@ case R_X86_64_GLOB_DAT: /* S */ addr = elf_lookup(lf, symidx, 1); +printf("R_X86_64_GLOB_DAT: addr 0x%lx\n", addr); if (addr == 0) return -1; if (*where != addr) *where = addr; +printf("*where = 0x%lx\n", *where); break; case R_X86_64_RELATIVE: /* B + A */ ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#15 (text+ko) ==== @@ -72,14 +72,12 @@ typedef struct { Elf_Rel *rel; - int relsize; Elf_Off fileoff; Elf_Off filesz; } Elf_relent; typedef struct { Elf_Rela *rela; - int relasize; Elf_Off fileoff; Elf_Off filesz; } Elf_relaent; @@ -508,8 +506,8 @@ * Read in relocation tables. Platforms use rel or rela, but * usually not both. */ -printf("reading rel\n"); for (i = 0; i < ef->nrel; i++) { +printf("reading rel segment %d\n", i); error = vn_rdwr(UIO_READ, nd.ni_vp, (void *)ef->reltab[i].rel, ef->reltab[i].filesz, @@ -519,8 +517,8 @@ if (error) goto out; } -printf("reading rela\n"); for (i = 0; i < ef->nrela; i++) { +printf("reading rela segment %d\n", i); error = vn_rdwr(UIO_READ, nd.ni_vp, (void *)ef->relatab[i].rela, ef->relatab[i].filesz, @@ -618,9 +616,12 @@ /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nrel; i++) { rel = ef->reltab[i].rel; +printf("doing rel relocation block %d: %p, size %ld\n", i, rel, ef->reltab[i].filesz); if (rel) { - rellim = (const Elf_Rel *)((const char *)rel + ef->reltab[i].relsize); + rellim = (const Elf_Rel *)((const char *)rel + ef->reltab[i].filesz); +printf("rellim is %p\n", rellim); while (rel < rellim) { +printf("rel doing: %p\n", rel); if (elf_reloc(&ef->lf, rel, ELF_RELOC_REL)) { symname = symbol_name(ef, rel->r_info); printf("link_elf: symbol %s undefined\n", symname); @@ -634,9 +635,12 @@ /* Perform relocations with addend if there are any: */ for (i = 0; i < ef->nrela; i++) { rela = ef->relatab[i].rela; +printf("doing rela relocation block %d, %p, size %ld\n", i, rela, ef->relatab[i].filesz); if (rela) { - relalim = (const Elf_Rela *)((const char *)rela + ef->relatab[i].relasize); + relalim = (const Elf_Rela *)((const char *)rela + ef->relatab[i].filesz); +printf("relalim is %p\n", relalim); while (rela < relalim) { +printf("rela doing: %p\n", rela); if (elf_reloc(&ef->lf, rela, ELF_RELOC_RELA)) { symname = symbol_name(ef, rela->r_info); printf("link_elf: symbol %s undefined\n", symname); @@ -647,6 +651,7 @@ } } +printf("relocate_file done\n"); return 0; } @@ -740,6 +745,8 @@ void **start, **stop; int len, error = 0, count; +printf("lookup_set: name %s\n", name); + len = strlen(name) + sizeof("__start_set_"); /* sizeof includes \0 */ setsym = malloc(len, M_LINKER, M_WAITOK); if (setsym == NULL) @@ -748,9 +755,11 @@ /* get address of first entry */ snprintf(setsym, len, "%s%s", "__start_set_", name); error = link_elf_lookup_symbol(lf, setsym, &sym); +printf("symbol %s result %d\n", setsym, error); if (error) goto out; link_elf_symbol_values(lf, sym, &symval); +printf("value %p\n", symval.value); if (symval.value == 0) { error = ESRCH; goto out; @@ -760,9 +769,11 @@ /* get address of last entry */ snprintf(setsym, len, "%s%s", "__stop_set_", name); error = link_elf_lookup_symbol(lf, setsym, &sym); +printf("symbol %s result %d\n", setsym, error); if (error) goto out; link_elf_symbol_values(lf, sym, &symval); +printf("value %p\n", symval.value); if (symval.value == 0) { error = ESRCH; goto out; @@ -780,6 +791,7 @@ if (countp) *countp = count; +printf("lookup_set: success\n"); out: free(setsym, M_LINKER); return error; @@ -891,9 +903,12 @@ /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nrel; i++) { rel = ef->reltab[i].rel; +printf("doing rel relocation block %d: %p, size %ld\n", i, rel, ef->relatab[i].filesz); if (rel) { - rellim = (const Elf_Rel *)((const char *)rel + ef->reltab[i].relsize); + rellim = (const Elf_Rel *)((const char *)rel + ef->reltab[i].filesz); +printf("rellim is %p\n", rellim); while (rel < rellim) { +printf("rel doing: %p\n", rel); elf_reloc_local(lf, rel, ELF_RELOC_REL); rel++; } @@ -903,9 +918,12 @@ /* Perform relocations with addend if there are any: */ for (i = 0; i < ef->nrela; i++) { rela = ef->relatab[i].rela; +printf("doing rela relocation block %d: %p, size %ld\n", i, rela, ef->relatab[i].filesz); if (rela) { - relalim = (const Elf_Rela *)((const char *)rela + ef->relatab[i].relasize); + relalim = (const Elf_Rela *)((const char *)rela + ef->relatab[i].filesz); +printf("relalim is %p\n", relalim); while (rela < relalim) { +printf("rela doing: %p\n", rela); elf_reloc_local(lf, rela, ELF_RELOC_RELA); rela++; } From owner-p4-projects@FreeBSD.ORG Thu Apr 1 17:45:29 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 14D3216A4D0; Thu, 1 Apr 2004 17:45:29 -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 DB24C16A4CF for ; Thu, 1 Apr 2004 17:45:28 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D19C543D1D for ; Thu, 1 Apr 2004 17:45:28 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i321jSGe016548 for ; Thu, 1 Apr 2004 17:45:28 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i321jSKT016545 for perforce@freebsd.org; Thu, 1 Apr 2004 17:45:28 -0800 (PST) (envelope-from peter@freebsd.org) Date: Thu, 1 Apr 2004 17:45:28 -0800 (PST) Message-Id: <200404020145.i321jSKT016545@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 50153 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: Fri, 02 Apr 2004 01:45:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=50153 Change 50153 by peter@peter_hammer on 2004/04/01 17:44:47 call the correct elf_reloc callback function by passing it through. this api change affects both elf linkers.. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#15 edit .. //depot/projects/hammer/sys/kern/link_elf.c#15 edit .. //depot/projects/hammer/sys/kern/link_elf_obj.c#16 edit .. //depot/projects/hammer/sys/sys/linker.h#10 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#15 (text+ko) ==== @@ -104,7 +104,7 @@ /* Process one elf relocation with addend. */ static int -elf_reloc_internal(linker_file_t lf, const void *data, int type, int local) +elf_reloc_internal(linker_file_t lf, const void *data, int type, int local, elf_lookup_fn lu) { Elf_Addr relocbase = (Elf_Addr) lf->address; Elf_Addr *where; @@ -156,8 +156,9 @@ break; case R_X86_64_64: /* S + A */ - addr = elf_lookup(lf, symidx, 1); -printf("R_X86_64_64: addr 0x%lx, addend 0x%lx\n", addr, addend); +printf("R_X86_64_64\n"); + addr = lu(lf, symidx, 1); +printf("addr 0x%lx, addend 0x%lx\n", addr, addend); if (addr == 0) return -1; addr += addend; @@ -167,8 +168,9 @@ break; case R_X86_64_PC32: /* S + A - P */ - addr = elf_lookup(lf, symidx, 1); -printf("R_X86_64_PC32: addr 0x%lx, addend 0x%lx\n", addr, addend); +printf("R_X86_64_PC32\n"); + addr = lu(lf, symidx, 1); +printf("addr 0x%lx, addend 0x%lx\n", addr, addend); if (addr == 0) return -1; addr += addend - (Elf_Addr)where; @@ -189,8 +191,9 @@ break; case R_X86_64_GLOB_DAT: /* S */ - addr = elf_lookup(lf, symidx, 1); -printf("R_X86_64_GLOB_DAT: addr 0x%lx\n", addr); +printf("R_X86_64_GLOB_DAT\n"); + addr = lu(lf, symidx, 1); +printf("addr 0x%lx\n", addr); if (addr == 0) return -1; if (*where != addr) @@ -210,17 +213,17 @@ } int -elf_reloc(linker_file_t lf, const void *data, int type) +elf_reloc(linker_file_t lf, const void *data, int type, elf_lookup_fn lu) { - return (elf_reloc_internal(lf, data, type, 0)); + return (elf_reloc_internal(lf, data, type, 0, lu)); } int -elf_reloc_local(linker_file_t lf, const void *data, int type) +elf_reloc_local(linker_file_t lf, const void *data, int type, elf_lookup_fn lu) { - return (elf_reloc_internal(lf, data, type, 1)); + return (elf_reloc_internal(lf, data, type, 1, lu)); } int ==== //depot/projects/hammer/sys/kern/link_elf.c#15 (text+ko) ==== @@ -118,6 +118,7 @@ int (*)(const char *, void *), void *); static void link_elf_reloc_local(linker_file_t); +static Elf_Addr elf_lookup(linker_file_t lf, Elf_Word symidx, int deps); static kobj_method_t link_elf_methods[] = { KOBJMETHOD(linker_lookup_symbol, link_elf_lookup_symbol), @@ -928,7 +929,7 @@ if (rel) { rellim = (const Elf_Rel *)((const char *)ef->rel + ef->relsize); while (rel < rellim) { - if (elf_reloc(&ef->lf, rel, ELF_RELOC_REL)) { + if (elf_reloc(&ef->lf, rel, ELF_RELOC_REL, elf_lookup)) { symname = symbol_name(ef, rel->r_info); printf("link_elf: symbol %s undefined\n", symname); return ENOENT; @@ -942,7 +943,7 @@ if (rela) { relalim = (const Elf_Rela *)((const char *)ef->rela + ef->relasize); while (rela < relalim) { - if (elf_reloc(&ef->lf, rela, ELF_RELOC_RELA)) { + if (elf_reloc(&ef->lf, rela, ELF_RELOC_RELA, elf_lookup)) { symname = symbol_name(ef, rela->r_info); printf("link_elf: symbol %s undefined\n", symname); return ENOENT; @@ -956,7 +957,7 @@ if (rel) { rellim = (const Elf_Rel *)((const char *)ef->pltrel + ef->pltrelsize); while (rel < rellim) { - if (elf_reloc(&ef->lf, rel, ELF_RELOC_REL)) { + if (elf_reloc(&ef->lf, rel, ELF_RELOC_REL, elf_lookup)) { symname = symbol_name(ef, rel->r_info); printf("link_elf: symbol %s undefined\n", symname); return ENOENT; @@ -970,7 +971,7 @@ if (rela) { relalim = (const Elf_Rela *)((const char *)ef->pltrela + ef->pltrelasize); while (rela < relalim) { - if (elf_reloc(&ef->lf, rela, ELF_RELOC_RELA)) { + if (elf_reloc(&ef->lf, rela, ELF_RELOC_RELA, elf_lookup)) { symname = symbol_name(ef, rela->r_info); printf("link_elf: symbol %s undefined\n", symname); return ENOENT; @@ -1244,7 +1245,7 @@ * This is not only more efficient, it's also more correct. It's not always * the case that the symbol can be found through the hash table. */ -Elf_Addr +static Elf_Addr elf_lookup(linker_file_t lf, Elf_Word symidx, int deps) { elf_file_t ef = (elf_file_t)lf; @@ -1297,7 +1298,7 @@ if ((rel = ef->rel) != NULL) { rellim = (const Elf_Rel *)((const char *)ef->rel + ef->relsize); while (rel < rellim) { - elf_reloc_local(lf, rel, ELF_RELOC_REL); + elf_reloc_local(lf, rel, ELF_RELOC_REL, elf_lookup); rel++; } } @@ -1306,7 +1307,7 @@ if ((rela = ef->rela) != NULL) { relalim = (const Elf_Rela *)((const char *)ef->rela + ef->relasize); while (rela < relalim) { - elf_reloc_local(lf, rela, ELF_RELOC_RELA); + elf_reloc_local(lf, rela, ELF_RELOC_RELA, elf_lookup); rela++; } } ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#16 (text+ko) ==== @@ -128,6 +128,8 @@ int (*)(const char *, void *), void *); static void link_elf_reloc_local(linker_file_t); +static Elf_Addr elf_obj_lookup(linker_file_t lf, Elf_Word symidx, int deps); + static kobj_method_t link_elf_methods[] = { KOBJMETHOD(linker_lookup_symbol, link_elf_lookup_symbol), KOBJMETHOD(linker_symbol_values, link_elf_symbol_values), @@ -622,7 +624,7 @@ printf("rellim is %p\n", rellim); while (rel < rellim) { printf("rel doing: %p\n", rel); - if (elf_reloc(&ef->lf, rel, ELF_RELOC_REL)) { + if (elf_reloc(&ef->lf, rel, ELF_RELOC_REL, elf_obj_lookup)) { symname = symbol_name(ef, rel->r_info); printf("link_elf: symbol %s undefined\n", symname); return ENOENT; @@ -641,7 +643,7 @@ printf("relalim is %p\n", relalim); while (rela < relalim) { printf("rela doing: %p\n", rela); - if (elf_reloc(&ef->lf, rela, ELF_RELOC_RELA)) { + if (elf_reloc(&ef->lf, rela, ELF_RELOC_RELA, elf_obj_lookup)) { symname = symbol_name(ef, rela->r_info); printf("link_elf: symbol %s undefined\n", symname); return ENOENT; @@ -841,7 +843,6 @@ } #endif -#if 0 /* * Symbol lookup function that can be used when the symbol index is known (ie * in relocations). It uses the symbol index instead of doing a fully fledged @@ -849,18 +850,22 @@ * This is not only more efficient, it's also more correct. It's not always * the case that the symbol can be found through the hash table. */ -Elf_Addr -elf_lookup(linker_file_t lf, Elf_Word symidx, int deps) +static Elf_Addr +elf_obj_lookup(linker_file_t lf, Elf_Word symidx, int deps) { elf_file_t ef = (elf_file_t)lf; const Elf_Sym *sym; const char *symbol; + int error; + +printf("elf_obj_lookup: symidx %ld (< %ld?)\n", symidx, ef->ddbsymcnt); /* Don't even try to lookup the symbol if the index is bogus. */ - if (symidx >= ef->nchains) + if (symidx >= ef->ddbsymcnt) return (0); - sym = ef->symtab + symidx; + sym = ef->ddbsymtab + symidx; +printf("sym: %p (base %p)\n", sym, ef->ddbsymtab); /* * Don't do a full lookup when the symbol is local. It may even @@ -880,15 +885,19 @@ * always be added. */ - symbol = ef->strtab + sym->st_name; + symbol = ef->ddbstrtab + sym->st_name; +printf("strtab %p, st_name %d\n", ef->ddbstrtab, sym->st_name); +printf("symbol = %p (%s)\n", symbol, symbol); /* Force a lookup failure if the symbol name is bogus. */ if (*symbol == 0) return (0); - return ((Elf_Addr)linker_file_lookup_symbol(lf, symbol, deps)); +printf("calling linker_file_lookup_symbol, deps %d\n", deps); + error = ((Elf_Addr)linker_file_lookup_symbol(lf, symbol, deps)); +printf("linker_file_lookup_symbol returns %d\n", error); + return error; } -#endif static void link_elf_reloc_local(linker_file_t lf) @@ -909,7 +918,7 @@ printf("rellim is %p\n", rellim); while (rel < rellim) { printf("rel doing: %p\n", rel); - elf_reloc_local(lf, rel, ELF_RELOC_REL); + elf_reloc_local(lf, rel, ELF_RELOC_REL, elf_obj_lookup); rel++; } } @@ -924,7 +933,7 @@ printf("relalim is %p\n", relalim); while (rela < relalim) { printf("rela doing: %p\n", rela); - elf_reloc_local(lf, rela, ELF_RELOC_RELA); + elf_reloc_local(lf, rela, ELF_RELOC_RELA, elf_obj_lookup); rela++; } } ==== //depot/projects/hammer/sys/sys/linker.h#10 (text+ko) ==== @@ -241,10 +241,11 @@ #endif +typedef Elf_Addr elf_lookup_fn(linker_file_t, Elf_Word, int); + /* Support functions */ -int elf_reloc(linker_file_t _lf, const void *_rel, int _type); -int elf_reloc_local(linker_file_t _lf, const void *_rel, int _type); -Elf_Addr elf_lookup(linker_file_t, Elf_Word, int); +int elf_reloc(linker_file_t _lf, const void *_rel, int _type, elf_lookup_fn _lu); +int elf_reloc_local(linker_file_t _lf, const void *_rel, int _type, elf_lookup_fn _lu); const Elf_Sym *elf_get_sym(linker_file_t _lf, Elf_Word _symidx); const char *elf_get_symname(linker_file_t _lf, Elf_Word _symidx); From owner-p4-projects@FreeBSD.ORG Thu Apr 1 17:56:43 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5E3A616A4D0; Thu, 1 Apr 2004 17:56:43 -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 2E26B16A4CE for ; Thu, 1 Apr 2004 17:56:43 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 27DF243D49 for ; Thu, 1 Apr 2004 17:56:43 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i321ugGe018737 for ; Thu, 1 Apr 2004 17:56:42 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i321uggt018734 for perforce@freebsd.org; Thu, 1 Apr 2004 17:56:42 -0800 (PST) (envelope-from peter@freebsd.org) Date: Thu, 1 Apr 2004 17:56:42 -0800 (PST) Message-Id: <200404020156.i321uggt018734@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 50154 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: Fri, 02 Apr 2004 01:56:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=50154 Change 50154 by peter@peter_hammer on 2004/04/01 17:56:27 actually load all of the symbol table Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#17 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#17 (text+ko) ==== @@ -380,9 +380,11 @@ /* Space for symbol table */ ef->ddbsymcnt = shdr[symtabindex].sh_size / sizeof(Elf_Sym); ef->ddbsymtab = malloc(shdr[symtabindex].sh_size, M_LINKER, M_WAITOK); +printf("symbol table at %p, size 0x%lx\n", ef->ddbsymtab, shdr[symtabindex].sh_size); ef->ddbstrcnt = shdr[symstrindex].sh_size; ef->ddbstrtab = malloc(shdr[symstrindex].sh_size, M_LINKER, M_WAITOK); +printf("string table at %p, size 0x%lx\n", ef->ddbstrtab, shdr[symstrindex].sh_size); if (ef->ddbsymtab == NULL || ef->ddbstrtab == NULL) { error = ENOMEM; @@ -477,14 +479,14 @@ printf("reading symbols\n"); /* Load the symbol table. */ error = vn_rdwr(UIO_READ, nd.ni_vp, - (void *)ef->ddbsymtab, ef->ddbsymcnt, shdr[symtabindex].sh_offset, + (void *)ef->ddbsymtab, shdr[symtabindex].sh_size, shdr[symtabindex].sh_offset, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); if (error) goto out; printf("reading strings\n"); error = vn_rdwr(UIO_READ, nd.ni_vp, - ef->ddbstrtab, ef->ddbstrcnt, shdr[symstrindex].sh_offset, + ef->ddbstrtab, shdr[symstrindex].sh_size, shdr[symstrindex].sh_offset, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); if (error) From owner-p4-projects@FreeBSD.ORG Thu Apr 1 18:04:56 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6898C16A4D0; Thu, 1 Apr 2004 18:04:56 -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 4251A16A4CE for ; Thu, 1 Apr 2004 18:04:56 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 36EA243D1F for ; Thu, 1 Apr 2004 18:04:56 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i3224uGe022317 for ; Thu, 1 Apr 2004 18:04:56 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i3224twG022314 for perforce@freebsd.org; Thu, 1 Apr 2004 18:04:55 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 1 Apr 2004 18:04:55 -0800 (PST) Message-Id: <200404020204.i3224twG022314@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 50156 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: Fri, 02 Apr 2004 02:04:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=50156 Change 50156 by rwatson@rwatson_paprika on 2004/04/01 18:04:29 Integrate netperf_socket: - Proc locking fixes for alpha. - ps_argsopen removed. - twa 3ware driver. - ACPI rearrangement. - if_ath, if_wi fixes. - USB fixes. - geom_apple naming consistency in XML output. - Loop back of slisunitfree() from rwatson_netperf. - Must always check UDP checksums with IPv6. Affected files ... .. //depot/projects/netperf_socket/sys/alpha/alpha/machdep.c#4 integrate .. //depot/projects/netperf_socket/sys/compat/linprocfs/linprocfs.c#3 integrate .. //depot/projects/netperf_socket/sys/conf/files#12 integrate .. //depot/projects/netperf_socket/sys/conf/files.i386#12 integrate .. //depot/projects/netperf_socket/sys/conf/majors#3 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#11 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpivar.h#6 integrate .. //depot/projects/netperf_socket/sys/dev/ath/if_ath.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/ath/if_athvar.h#2 integrate .. //depot/projects/netperf_socket/sys/dev/usb/usb_subr.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/wi/if_wi.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/wi/if_wivar.h#2 integrate .. //depot/projects/netperf_socket/sys/fs/procfs/procfs_status.c#2 integrate .. //depot/projects/netperf_socket/sys/geom/geom_apple.c#3 integrate .. //depot/projects/netperf_socket/sys/i386/conf/GENERIC.hints#3 integrate .. //depot/projects/netperf_socket/sys/kern/kern_exec.c#6 integrate .. //depot/projects/netperf_socket/sys/kern/kern_proc.c#4 integrate .. //depot/projects/netperf_socket/sys/kern/kern_thr.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/subr_bus.c#4 integrate .. //depot/projects/netperf_socket/sys/kern/sys_process.c#5 integrate .. //depot/projects/netperf_socket/sys/net/if_sl.c#2 integrate .. //depot/projects/netperf_socket/sys/netinet6/udp6_usrreq.c#4 integrate .. //depot/projects/netperf_socket/sys/pc98/conf/NOTES#6 integrate .. //depot/projects/netperf_socket/sys/pci/if_ste.c#8 integrate .. //depot/projects/netperf_socket/sys/powerpc/powermac/grackle.c#3 integrate .. //depot/projects/netperf_socket/sys/sys/proc.h#4 integrate Differences ... ==== //depot/projects/netperf_socket/sys/alpha/alpha/machdep.c#4 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.218 2004/03/01 19:19:15 kensmith Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.219 2004/04/01 20:56:43 jhb Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -1914,10 +1914,9 @@ if (td->td_md.md_flags & (MDTD_STEP1|MDTD_STEP2)) panic("ptrace_single_step: step breakpoints not removed"); - PROC_UNLOCK(td->td_proc); error = ptrace_read_int(td, pc, &ins.bits); if (error) - goto err; + return (error); switch (ins.branch_format.opcode) { @@ -1957,20 +1956,18 @@ td->td_md.md_sstep[0].addr = addr[0]; error = ptrace_set_bpt(td, &td->td_md.md_sstep[0]); if (error) - goto err; + return (error); if (count == 2) { td->td_md.md_sstep[1].addr = addr[1]; error = ptrace_set_bpt(td, &td->td_md.md_sstep[1]); if (error) { ptrace_clear_bpt(td, &td->td_md.md_sstep[0]); - goto err; + return (error); } td->td_md.md_flags |= MDTD_STEP2; } else td->td_md.md_flags |= MDTD_STEP1; -err: - PROC_LOCK(td->td_proc); return (error); } ==== //depot/projects/netperf_socket/sys/compat/linprocfs/linprocfs.c#3 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.82 2004/02/09 20:33:42 des Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.83 2004/04/01 00:04:22 pjd Exp $"); #include #include @@ -771,7 +771,7 @@ */ PROC_LOCK(p); - if (p->p_args && (ps_argsopen || !p_cansee(td, p))) { + if (p->p_args && p_cansee(td, p) == 0) { sbuf_bcpy(sb, p->p_args->ar_args, p->p_args->ar_length); PROC_UNLOCK(p); } else if (p != td->td_proc) { ==== //depot/projects/netperf_socket/sys/conf/files#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.877 2004/03/20 02:14:02 marcel Exp $ +# $FreeBSD: src/sys/conf/files,v 1.880 2004/04/01 17:55:50 des Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -668,6 +668,7 @@ dev/sound/midi/sequencer.c optional seq midi dev/sound/midi/timer.c optional seq midi dev/sound/pci/als4000.c optional pcm pci +#dev/sound/pci/au88x0.c optional pcm pci dev/sound/pci/cmi.c optional pcm pci dev/sound/pci/cs4281.c optional pcm pci dev/sound/pci/csa.c optional csa pci @@ -730,6 +731,11 @@ dev/syscons/warp/warp_saver.c optional warp_saver dev/tdfx/tdfx_pci.c optional tdfx pci dev/trm/trm.c optional trm +dev/twa/twa.c optional twa +dev/twa/twa_cam.c optional twa +dev/twa/twa_freebsd.c optional twa +dev/twa/twa_fwimg.c optional twa +dev/twa/twa_globals.c optional twa dev/twe/twe.c optional twe dev/twe/twe_freebsd.c optional twe dev/tx/if_tx.c optional tx ==== //depot/projects/netperf_socket/sys/conf/files.i386#12 (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.i386,v 1.482 2004/03/30 03:45:59 vkashyap Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.483 2004/04/01 10:02:50 des Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -170,11 +170,6 @@ dev/syscons/scvtb.c optional sc dev/syscons/syscons.c optional sc dev/syscons/sysmouse.c optional sc -dev/twa/twa.c optional twa -dev/twa/twa_cam.c optional twa -dev/twa/twa_freebsd.c optional twa -dev/twa/twa_fwimg.c optional twa -dev/twa/twa_globals.c optional twa dev/uart/uart_cpu_i386.c optional uart geom/geom_bsd.c standard geom/geom_bsd_enc.c standard ==== //depot/projects/netperf_socket/sys/conf/majors#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/majors,v 1.197 2004/02/23 08:55:12 phk Exp $ +# $FreeBSD: src/sys/conf/majors,v 1.198 2004/04/01 10:00:04 des Exp $ # # This list is semi-obsoleted by DEVFS, but for now it still contains # the current allocation of device major numbers. @@ -90,7 +90,6 @@ 183 *smapi SMAPI BIOS interface 185 ce Cronyx Tau-32 E1 adapter 186 sx Specialix I/O8+ driver -187 twa 3ware Apache ATA RAID (controller) 252 ?? entries from 200-252 are reserved for local use 254 internal Used internally by the kernel 255 bad_choice -1 is 255 which has magic meanings internally ==== //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#11 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.133 2004/03/31 17:35:28 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.134 2004/04/01 04:21:33 njl Exp $ */ #include "opt_acpi.h" @@ -809,82 +809,6 @@ return (0); } -ACPI_HANDLE -acpi_get_handle(device_t dev) -{ - uintptr_t up; - ACPI_HANDLE h; - - if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_HANDLE, &up)) - return(NULL); - h = (ACPI_HANDLE)up; - return (h); -} - -int -acpi_set_handle(device_t dev, ACPI_HANDLE h) -{ - uintptr_t up; - - up = (uintptr_t)h; - return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_HANDLE, up)); -} - -int -acpi_get_magic(device_t dev) -{ - uintptr_t up; - int m; - - if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_MAGIC, &up)) - return(0); - m = (int)up; - return (m); -} - -int -acpi_set_magic(device_t dev, int m) -{ - uintptr_t up; - - up = (uintptr_t)m; - return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_MAGIC, up)); -} - -void * -acpi_get_private(device_t dev) -{ - uintptr_t up; - void *p; - - if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_PRIVATE, &up)) - return (NULL); - p = (void *)up; - return (p); -} - -int -acpi_set_private(device_t dev, void *p) -{ - uintptr_t up; - - up = (uintptr_t)p; - return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_PRIVATE, up)); -} - -ACPI_OBJECT_TYPE -acpi_get_type(device_t dev) -{ - ACPI_HANDLE h; - ACPI_OBJECT_TYPE t; - - if ((h = acpi_get_handle(dev)) == NULL) - return (ACPI_TYPE_NOT_FOUND); - if (AcpiGetType(h, &t) != AE_OK) - return (ACPI_TYPE_NOT_FOUND); - return (t); -} - /* * Handle child resource allocation/removal */ ==== //depot/projects/netperf_socket/sys/dev/acpica/acpivar.h#6 (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/dev/acpica/acpivar.h,v 1.58 2004/03/31 17:23:46 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.59 2004/04/01 04:21:33 njl Exp $ */ #include "bus_if.h" @@ -142,15 +142,75 @@ #define ACPI_IVAR_MAGIC 0x101 #define ACPI_IVAR_PRIVATE 0x102 -extern ACPI_HANDLE acpi_get_handle(device_t dev); -extern int acpi_set_handle(device_t dev, ACPI_HANDLE h); -extern int acpi_get_magic(device_t dev); -extern int acpi_set_magic(device_t dev, int m); -extern void * acpi_get_private(device_t dev); -extern int acpi_set_private(device_t dev, void *p); -extern ACPI_OBJECT_TYPE acpi_get_type(device_t dev); -struct resource * acpi_bus_alloc_gas(device_t dev, int *rid, - ACPI_GENERIC_ADDRESS *gas); +static __inline ACPI_HANDLE +acpi_get_handle(device_t dev) +{ + uintptr_t up; + + if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_HANDLE, &up)) + return (NULL); + return ((ACPI_HANDLE)up); +} + +static __inline int +acpi_set_handle(device_t dev, ACPI_HANDLE h) +{ + uintptr_t up; + + up = (uintptr_t)h; + return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_HANDLE, up)); +} + +static __inline int +acpi_get_magic(device_t dev) +{ + uintptr_t up; + + if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_MAGIC, &up)) + return(0); + return ((int)up); +} + +static __inline int +acpi_set_magic(device_t dev, int m) +{ + uintptr_t up; + + up = (uintptr_t)m; + return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_MAGIC, up)); +} + +static __inline void * +acpi_get_private(device_t dev) +{ + uintptr_t up; + + if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_PRIVATE, &up)) + return (NULL); + return ((void *)up); +} + +static __inline int +acpi_set_private(device_t dev, void *p) +{ + uintptr_t up; + + up = (uintptr_t)p; + return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_PRIVATE, up)); +} + +static __inline ACPI_OBJECT_TYPE +acpi_get_type(device_t dev) +{ + ACPI_HANDLE h; + ACPI_OBJECT_TYPE t; + + if ((h = acpi_get_handle(dev)) == NULL) + return (ACPI_TYPE_NOT_FOUND); + if (AcpiGetType(h, &t) != AE_OK) + return (ACPI_TYPE_NOT_FOUND); + return (t); +} #ifdef ACPI_DEBUGGER extern void acpi_EnterDebugger(void); @@ -196,6 +256,8 @@ extern ACPI_STATUS acpi_Disable(struct acpi_softc *sc); extern void acpi_UserNotify(const char *subsystem, ACPI_HANDLE h, uint8_t notify); +struct resource * acpi_bus_alloc_gas(device_t dev, int *rid, + ACPI_GENERIC_ADDRESS *gas); struct acpi_parse_resource_set { void (*set_init)(device_t dev, void *arg, void **context); ==== //depot/projects/netperf_socket/sys/dev/ath/if_ath.c#4 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.46 2004/03/20 19:57:46 mdodd Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.47 2004/04/01 00:38:45 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -339,15 +339,20 @@ &sc->sc_drvbpf); /* * Initialize constant fields. + * XXX make header lengths a multiple of 32-bits so subsequent + * headers are properly aligned; this is a kludge to keep + * certain applications happy. * * NB: the channel is setup each time we transition to the * RUN state to avoid filling it in for each frame. */ - sc->sc_tx_th.wt_ihdr.it_len = sizeof(sc->sc_tx_th); - sc->sc_tx_th.wt_ihdr.it_present = ATH_TX_RADIOTAP_PRESENT; + sc->sc_tx_th_len = roundup(sizeof(sc->sc_tx_th), sizeof(u_int32_t)); + sc->sc_tx_th.wt_ihdr.it_len = htole16(sc->sc_tx_th_len); + sc->sc_tx_th.wt_ihdr.it_present = htole32(ATH_TX_RADIOTAP_PRESENT); - sc->sc_rx_th.wr_ihdr.it_len = sizeof(sc->sc_rx_th); - sc->sc_rx_th.wr_ihdr.it_present = ATH_RX_RADIOTAP_PRESENT; + sc->sc_rx_th_len = roundup(sizeof(sc->sc_rx_th), sizeof(u_int32_t)); + sc->sc_rx_th.wr_ihdr.it_len = htole16(sc->sc_rx_th_len); + sc->sc_rx_th.wr_ihdr.it_present = htole32(ATH_RX_RADIOTAP_PRESENT); return 0; bad: @@ -1726,7 +1731,7 @@ /* XXX TSF */ bpf_mtap2(sc->sc_drvbpf, - &sc->sc_rx_th, sizeof(sc->sc_rx_th), m); + &sc->sc_rx_th, sc->sc_rx_th_len, m); } m_adj(m, -IEEE80211_CRC_LEN); @@ -2070,7 +2075,7 @@ sc->sc_tx_th.wt_antenna = antenna; bpf_mtap2(sc->sc_drvbpf, - &sc->sc_tx_th, sizeof(sc->sc_tx_th), m0); + &sc->sc_tx_th, sc->sc_tx_th_len, m0); } /* ==== //depot/projects/netperf_socket/sys/dev/ath/if_athvar.h#2 (text+ko) ==== @@ -33,7 +33,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.10 2003/11/29 01:23:59 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.11 2004/04/01 00:38:45 sam Exp $ */ /* @@ -115,10 +115,12 @@ struct ath_tx_radiotap_header th; u_int8_t pad[64]; } u_tx_rt; + int sc_tx_th_len; union { struct ath_rx_radiotap_header th; u_int8_t pad[64]; } u_rx_rt; + int sc_rx_th_len; struct ath_desc *sc_desc; /* TX/RX descriptors */ bus_dma_segment_t sc_dseg; ==== //depot/projects/netperf_socket/sys/dev/usb/usb_subr.c#4 (text+ko) ==== @@ -7,7 +7,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/usb_subr.c,v 1.62 2004/03/20 07:31:11 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/usb_subr.c,v 1.63 2004/04/01 18:55:28 julian Exp $"); /* * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -1045,8 +1045,19 @@ up->device = dev; /* Set the address. Do this early; some devices need that. */ - err = usbd_set_address(dev, addr); + /* Try a few times in case the device is slow (i.e. outside specs.) */ DPRINTFN(5,("usbd_new_device: setting device address=%d\n", addr)); + for (i = 0; i < 15; i++) { + err = usbd_set_address(dev, addr); + if (!err) + break; + usbd_delay_ms(dev, 200); + if ((i & 3) == 3) { + DPRINTFN(-1,("usb_new_device: set address %d " + "failed - trying a port reset\n", addr)); + usbd_reset_port(up->parent, port, &ps); + } + } if (err) { DPRINTFN(-1,("usb_new_device: set address %d failed\n", addr)); err = USBD_SET_ADDR_FAILED; @@ -1059,16 +1070,8 @@ bus->devices[addr] = dev; dd = &dev->ddesc; - /* Try a few times in case the device is slow (i.e. outside specs.) */ - for (i = 0; i < 15; i++) { - /* Get the first 8 bytes of the device descriptor. */ - err = usbd_get_desc(dev, UDESC_DEVICE, 0, USB_MAX_IPACKET, dd); - if (!err) - break; - usbd_delay_ms(dev, 200); - if ((i & 3) == 3) - usbd_reset_port(up->parent, port, &ps); - } + /* Get the first 8 bytes of the device descriptor. */ + err = usbd_get_desc(dev, UDESC_DEVICE, 0, USB_MAX_IPACKET, dd); if (err) { DPRINTFN(-1, ("usbd_new_device: addr=%d, getting first desc " "failed\n", addr)); ==== //depot/projects/netperf_socket/sys/dev/wi/if_wi.c#4 (text+ko) ==== @@ -62,7 +62,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.164 2004/03/20 19:57:47 mdodd Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.166 2004/04/01 00:38:45 sam Exp $"); #define WI_HERMES_AUTOINC_WAR /* Work around data write autoinc bug. */ #define WI_HERMES_STATS_WAR /* Work around stats counter bug. */ @@ -482,15 +482,20 @@ &sc->sc_drvbpf); /* * Initialize constant fields. + * XXX make header lengths a multiple of 32-bits so subsequent + * headers are properly aligned; this is a kludge to keep + * certain applications happy. * * NB: the channel is setup each time we transition to the * RUN state to avoid filling it in for each frame. */ - sc->sc_tx_th.wt_ihdr.it_len = sizeof(sc->sc_tx_th); - sc->sc_tx_th.wt_ihdr.it_present = WI_TX_RADIOTAP_PRESENT; + sc->sc_tx_th_len = roundup(sizeof(sc->sc_tx_th), sizeof(u_int32_t)); + sc->sc_tx_th.wt_ihdr.it_len = htole16(sc->sc_tx_th_len); + sc->sc_tx_th.wt_ihdr.it_present = htole32(WI_TX_RADIOTAP_PRESENT); - sc->sc_rx_th.wr_ihdr.it_len = sizeof(sc->sc_rx_th); - sc->sc_rx_th.wr_ihdr.it_present = WI_RX_RADIOTAP_PRESENT; + sc->sc_rx_th_len = roundup(sizeof(sc->sc_rx_th), sizeof(u_int32_t)); + sc->sc_rx_th.wr_ihdr.it_len = htole16(sc->sc_rx_th_len); + sc->sc_rx_th.wr_ihdr.it_present = htole32(WI_RX_RADIOTAP_PRESENT); #endif return (0); } @@ -939,18 +944,18 @@ } frmhdr.wi_tx_ctl |= htole16(WI_TXCNTL_NOCRYPT); } - m_copydata(m0, 0, sizeof(struct ieee80211_frame), - (caddr_t)&frmhdr.wi_whdr); - m_adj(m0, sizeof(struct ieee80211_frame)); - frmhdr.wi_dat_len = htole16(m0->m_pkthdr.len); #if NBPFILTER > 0 if (sc->sc_drvbpf) { sc->sc_tx_th.wt_rate = ni->ni_rates.rs_rates[ni->ni_txrate]; bpf_mtap2(sc->sc_drvbpf, - &sc->sc_tx_th, sizeof(sc->sc_tx_th), m0); + &sc->sc_tx_th, sc->sc_tx_th_len, m0); } #endif + m_copydata(m0, 0, sizeof(struct ieee80211_frame), + (caddr_t)&frmhdr.wi_whdr); + m_adj(m0, sizeof(struct ieee80211_frame)); + frmhdr.wi_dat_len = htole16(m0->m_pkthdr.len); if (IFF_DUMPPKTS(ifp)) wi_dump_pkt(&frmhdr, NULL, -1); fid = sc->sc_txd[cur].d_fid; @@ -1495,7 +1500,7 @@ if (frmhdr.wi_status & WI_STAT_PCF) sc->sc_rx_th.wr_flags |= IEEE80211_RADIOTAP_F_CFP; bpf_mtap2(sc->sc_drvbpf, - &sc->sc_rx_th, sizeof(sc->sc_rx_th), m); + &sc->sc_rx_th, sc->sc_rx_th_len, m); } #endif wh = mtod(m, struct ieee80211_frame *); ==== //depot/projects/netperf_socket/sys/dev/wi/if_wivar.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/wi/if_wivar.h,v 1.21 2003/12/09 07:41:07 imp Exp $ + * $FreeBSD: src/sys/dev/wi/if_wivar.h,v 1.22 2004/04/01 00:38:45 sam Exp $ */ #if 0 @@ -168,10 +168,12 @@ struct wi_tx_radiotap_header th; u_int8_t pad[64]; } u_tx_rt; + int sc_tx_th_len; union { struct wi_rx_radiotap_header th; u_int8_t pad[64]; } u_rx_rt; + int sc_rx_th_len; }; #define sc_if sc_ic.ic_if #define sc_tx_th u_tx_rt.th ==== //depot/projects/netperf_socket/sys/fs/procfs/procfs_status.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ * * From: * $Id: procfs_status.c,v 3.1 1993/12/15 09:40:17 jsp Exp $ - * $FreeBSD: src/sys/fs/procfs/procfs_status.c,v 1.50 2003/12/07 17:40:00 des Exp $ + * $FreeBSD: src/sys/fs/procfs/procfs_status.c,v 1.51 2004/04/01 00:04:23 pjd Exp $ */ #include @@ -191,7 +191,7 @@ */ PROC_LOCK(p); - if (p->p_args && (ps_argsopen || !p_cansee(td, p))) { + if (p->p_args && p_cansee(td, p) == 0) { sbuf_bcpy(sb, p->p_args->ar_args, p->p_args->ar_length); PROC_UNLOCK(p); return (0); ==== //depot/projects/netperf_socket/sys/geom/geom_apple.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/geom_apple.c,v 1.13 2004/02/12 22:42:11 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/geom_apple.c,v 1.14 2004/04/01 01:33:37 grehan Exp $"); #include #include @@ -116,11 +116,13 @@ mp = gsp->softc; g_slice_dumpconf(sb, indent, gp, cp, pp); if (pp != NULL) { - if (indent == NULL) - sbuf_printf(sb, " n %s ty %s", - mp->apmpart[pp->index].am_name, + if (indent == NULL) { + sbuf_printf(sb, " ty %s", mp->apmpart[pp->index].am_type); - else { + if (*mp->apmpart[pp->index].am_name) + sbuf_printf(sb, " sn %s", + mp->apmpart[pp->index].am_name); + } else { sbuf_printf(sb, "%s%s\n", indent, mp->apmpart[pp->index].am_name); sbuf_printf(sb, "%s%s\n", indent, ==== //depot/projects/netperf_socket/sys/i386/conf/GENERIC.hints#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/i386/conf/GENERIC.hints,v 1.12 2004/03/14 22:38:18 imp Exp $ +# $FreeBSD: src/sys/i386/conf/GENERIC.hints,v 1.13 2004/04/01 21:48:31 alfred Exp $ hint.fdc.0.at="isa" hint.fdc.0.port="0x3F0" hint.fdc.0.irq="6" @@ -25,7 +25,6 @@ hint.atkbdc.0.port="0x060" hint.atkbd.0.at="atkbdc" hint.atkbd.0.irq="1" -hint.atkbd.0.flags="0x1" hint.psm.0.at="atkbdc" hint.psm.0.irq="12" hint.vga.0.at="isa" ==== //depot/projects/netperf_socket/sys/kern/kern_exec.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.240 2004/03/14 02:06:27 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.241 2004/04/01 00:10:44 pjd Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -95,9 +95,6 @@ SYSCTL_ULONG(_kern, OID_AUTO, ps_arg_cache_limit, CTLFLAG_RW, &ps_arg_cache_limit, 0, ""); -int ps_argsopen = 1; -SYSCTL_INT(_kern, OID_AUTO, ps_argsopen, CTLFLAG_RW, &ps_argsopen, 0, ""); - static int sysctl_kern_ps_strings(SYSCTL_HANDLER_ARGS) { ==== //depot/projects/netperf_socket/sys/kern/kern_proc.c#4 (text+ko) ==== @@ -31,11 +31,11 @@ * SUCH DAMAGE. * * @(#)kern_proc.c 8.7 (Berkeley) 2/14/95 - * $FreeBSD: src/sys/kern/kern_proc.c,v 1.200 2004/03/17 13:19:43 pjd Exp $ + * $FreeBSD: src/sys/kern/kern_proc.c,v 1.201 2004/04/01 00:08:20 pjd Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.200 2004/03/17 13:19:43 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.201 2004/04/01 00:08:20 pjd Exp $"); #include "opt_ktrace.h" #include "opt_kstack_pages.h" @@ -1111,11 +1111,6 @@ return (error); } - if (!ps_argsopen) { - PROC_UNLOCK(p); - return (EPERM); - } - if (req->newptr && curproc != p) { PROC_UNLOCK(p); return (EPERM); ==== //depot/projects/netperf_socket/sys/kern/kern_thr.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_thr.c,v 1.15 2004/03/27 14:30:43 mtm Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_thr.c,v 1.16 2004/04/02 01:01:34 julian Exp $"); #include #include @@ -81,11 +81,8 @@ /* Clean up cpu resources. */ cpu_thread_exit(td); - /* XXX make thread_unlink() */ - TAILQ_REMOVE(&p->p_threads, td, td_plist); - p->p_numthreads--; - TAILQ_REMOVE(&kg->kg_threads, td, td_kglist); - kg->kg_numthreads--; + /* Unlink the thread from the process and kseg. + thread_unlink(td); ke->ke_state = KES_UNQUEUED; ke->ke_thread = NULL; ==== //depot/projects/netperf_socket/sys/kern/subr_bus.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_bus.c,v 1.143 2004/03/24 16:49:37 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_bus.c,v 1.144 2004/04/01 07:18:42 scottl Exp $"); #include "opt_bus.h" @@ -2148,7 +2148,7 @@ error = BUS_SETUP_INTR(dev->parent, dev, r, flags, handler, arg, cookiep); if (error == 0) { - if (!(flags & INTR_MPSAFE)) + if (!(flags & (INTR_MPSAFE | INTR_FAST))) device_printf(dev, "[GIANT-LOCKED]\n"); if (bootverbose && (flags & INTR_MPSAFE)) device_printf(dev, "[MPSAFE]\n"); ==== //depot/projects/netperf_socket/sys/kern/sys_process.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sys_process.c,v 1.119 2004/03/24 23:35:04 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sys_process.c,v 1.120 2004/04/01 20:56:44 jhb Exp $"); #include #include @@ -154,18 +154,21 @@ vm_prot_t reqprot; int error, writing; - GIANT_REQUIRED; - + mtx_lock(&Giant); /* * if the vmspace is in the midst of being deallocated or the * process is exiting, don't try to grab anything. The page table * usage in that process can be messed up. */ vm = p->p_vmspace; - if ((p->p_flag & P_WEXIT)) + if ((p->p_flag & P_WEXIT)) { + mtx_unlock(&Giant); return (EFAULT); - if (vm->vm_refcnt < 1) + } + if (vm->vm_refcnt < 1) { + mtx_unlock(&Giant); return (EFAULT); + } ++vm->vm_refcnt; /* * The map we want... @@ -274,6 +277,7 @@ } while (error == 0 && uio->uio_resid > 0); vmspace_free(vm); + mtx_unlock(&Giant); return (error); } @@ -602,9 +606,7 @@ uio.uio_segflg = UIO_SYSSPACE; /* i.e.: the uap */ uio.uio_rw = write ? UIO_WRITE : UIO_READ; uio.uio_td = td; - mtx_lock(&Giant); error = proc_rwmem(p, &uio); - mtx_unlock(&Giant); if (uio.uio_resid != 0) { /* * XXX proc_rwmem() doesn't currently return ENOSPC, @@ -645,9 +647,7 @@ default: return (EINVAL); } - mtx_lock(&Giant); error = proc_rwmem(p, &uio); - mtx_unlock(&Giant); piod->piod_len -= uio.uio_resid; return (error); ==== //depot/projects/netperf_socket/sys/net/if_sl.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_sl.c 8.6 (Berkeley) 2/1/94 - * $FreeBSD: src/sys/net/if_sl.c,v 1.111 2003/10/31 18:32:08 brooks Exp $ + * $FreeBSD: src/sys/net/if_sl.c,v 1.113 2004/04/01 23:54:49 rwatson Exp $ */ /* @@ -224,6 +224,18 @@ static size_t st_unit_max = 0; static int +slisunitfree(int unit) +{ + struct sl_softc *nc; + + LIST_FOREACH(nc, &sl_list, sl_next) { + if (nc->sc_if.if_dunit == unit) + return (0); + } + return (1); +} + +static int slisstatic(unit) int unit; { @@ -260,7 +272,7 @@ static struct sl_softc * slcreate() { - struct sl_softc *sc, *nc; + struct sl_softc *sc; int unit; struct mbuf *m; @@ -310,10 +322,8 @@ for (unit=0; ; unit++) { if (slisstatic(unit)) continue; - LIST_FOREACH(nc, &sl_list, sl_next) { - if (nc->sc_if.if_dunit == unit) - continue; - } + if (!slisunitfree(unit)) + continue; break; } if_initname(&sc->sc_if, "sl", unit); @@ -443,7 +453,7 @@ int flag; struct thread *td; { - struct sl_softc *sc = (struct sl_softc *)tp->t_sc, *nc; + struct sl_softc *sc = (struct sl_softc *)tp->t_sc; int s, unit, wasup; s = splimp(); @@ -459,11 +469,9 @@ return (ENXIO); } if (sc->sc_if.if_dunit != unit) { - LIST_FOREACH(nc, &sl_list, sl_next) { - if (nc->sc_if.if_dunit == *(u_int *)data) { - splx(s); - return (ENXIO); - } + if (!slisunitfree(unit)) { + splx(s); + return (ENXIO); } wasup = sc->sc_if.if_flags & IFF_UP; ==== //depot/projects/netperf_socket/sys/netinet6/udp6_usrreq.c#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/udp6_usrreq.c,v 1.46 2004/03/27 21:05:46 pjd Exp $ */ +/* $FreeBSD: src/sys/netinet6/udp6_usrreq.c,v 1.47 2004/04/01 13:48:23 suz Exp $ */ /* $KAME: udp6_usrreq.c,v 1.27 2001/05/21 05:45:10 jinmei Exp $ */ /* @@ -168,9 +168,11 @@ /* * Checksum extended UDP header and data. */ - if (uh->uh_sum == 0) + if (uh->uh_sum == 0) { udpstat.udps_nosum++; - else if (in6_cksum(m, IPPROTO_UDP, off, ulen) != 0) { + goto bad; + } + if (in6_cksum(m, IPPROTO_UDP, off, ulen) != 0) { udpstat.udps_badsum++; goto bad; } ==== //depot/projects/netperf_socket/sys/pc98/conf/NOTES#6 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/pc98/conf/NOTES,v 1.30 2004/03/28 12:06:29 nyan Exp $ +# $FreeBSD: src/sys/pc98/conf/NOTES,v 1.31 2004/04/01 14:23:41 nyan Exp $ # # @@ -775,6 +775,7 @@ nodevice mlx # Mylex DAC960 nodevice amr # AMI MegaRAID nodevice twe # 3ware ATA RAID +nodevice twa # 3ware 9000 series PATA/SATA RAID nodevice ataraid nodevice cm nodevice cs @@ -808,6 +809,8 @@ nooption DPT_LOST_IRQ nooption DPT_RESET_HBA nooption DPT_TIMEOUT_FACTOR +nooption TWA_DEBUG +nooption TWA_FLASH_FIRMWARE nooption AAC_DEBUG nooption ACPI_MAX_THREADS ==== //depot/projects/netperf_socket/sys/pci/if_ste.c#8 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/if_ste.c,v 1.66 2004/03/31 21:10:01 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/if_ste.c,v 1.67 2004/04/01 12:55:38 ru Exp $"); #include #include @@ -163,8 +163,10 @@ DRIVER_MODULE(ste, pci, ste_driver, ste_devclass, 0, 0); DRIVER_MODULE(miibus, ste, miibus_driver, miibus_devclass, 0, 0); +SYSCTL_NODE(_hw, OID_AUTO, ste, CTLFLAG_RD, 0, "if_ste parameters"); + static int ste_rxsyncs; -SYSCTL_INT(_hw, OID_AUTO, ste_rxsyncs, CTLFLAG_RW, &ste_rxsyncs, 0, ""); +SYSCTL_INT(_hw_ste, OID_AUTO, rxsyncs, CTLFLAG_RW, &ste_rxsyncs, 0, ""); #define STE_SETBIT4(sc, reg, x) \ CSR_WRITE_4(sc, reg, CSR_READ_4(sc, reg) | (x)) ==== //depot/projects/netperf_socket/sys/powerpc/powermac/grackle.c#3 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Apr 1 18:08:01 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C373516A4D0; Thu, 1 Apr 2004 18:08:00 -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 9F6E116A4CE for ; Thu, 1 Apr 2004 18:08:00 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 826C343D2F for ; Thu, 1 Apr 2004 18:08:00 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i32280Ge022466 for ; Thu, 1 Apr 2004 18:08:00 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i32280TI022458 for perforce@freebsd.org; Thu, 1 Apr 2004 18:08:00 -0800 (PST) (envelope-from peter@freebsd.org) Date: Thu, 1 Apr 2004 18:08:00 -0800 (PST) Message-Id: <200404020208.i32280TI022458@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 50157 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: Fri, 02 Apr 2004 02:08:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=50157 Change 50157 by peter@peter_hammer on 2004/04/01 18:07:00 symbols can have a legitimate value of zero. Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#18 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#18 (text+ko) ==== @@ -875,7 +875,7 @@ */ if (ELF_ST_BIND(sym->st_info) == STB_LOCAL) { /* Force lookup failure when we have an insanity. */ - if (sym->st_shndx == SHN_UNDEF || sym->st_value == 0) + if (sym->st_shndx == SHN_UNDEF) return (0); return ((Elf_Addr)ef->address + sym->st_value); } From owner-p4-projects@FreeBSD.ORG Thu Apr 1 18:44:46 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 60D2516A4D0; Thu, 1 Apr 2004 18:44:46 -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 347FC16A4CE for ; Thu, 1 Apr 2004 18:44:46 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1630043D45 for ; Thu, 1 Apr 2004 18:44:46 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i322ijGe030321 for ; Thu, 1 Apr 2004 18:44:45 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i322ij0p030318 for perforce@freebsd.org; Thu, 1 Apr 2004 18:44:45 -0800 (PST) (envelope-from peter@freebsd.org) Date: Thu, 1 Apr 2004 18:44:45 -0800 (PST) Message-Id: <200404020244.i322ij0p030318@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 50159 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: Fri, 02 Apr 2004 02:44:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=50159 Change 50159 by peter@peter_hammer on 2004/04/01 18:44:07 ok, we need the sparse_mapping code from link_elf.c to control the final address. Otherwise we end up with the module out in the direct map region, which is out of PC32 reach of the kernel. Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#19 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#19 (text+ko) ==== @@ -48,6 +48,9 @@ #include #include +#include +#include +#include #include #include @@ -86,6 +89,7 @@ typedef struct elf_file { struct linker_file lf; /* Common fields */ caddr_t address; /* Relocation address */ + vm_object_t object; /* VM object to hold file pages */ Elf_progent *progtab; int nprogtab; @@ -458,11 +462,21 @@ * This stuff needs to be in a single chunk so that profiling etc * can get the bounds and gdb can associate offsets with modules */ - mapbase = malloc(mapsize, M_LINKER, M_WAITOK | M_ZERO); - if (mapbase == NULL) { + ef->object = vm_object_allocate(OBJT_DEFAULT, round_page(mapsize) >> PAGE_SHIFT); + if (ef->object == NULL) { error = ENOMEM; goto out; } + vm_object_reference(ef->object); + ef->address = (caddr_t) vm_map_min(kernel_map); + error = vm_map_find(kernel_map, ef->object, 0, + (vm_offset_t *) &ef->address, mapsize, 1, VM_PROT_ALL, VM_PROT_ALL, 0); + if (error) { + vm_object_deallocate(ef->object); + ef->object = 0; + goto out; + } + mapbase = ef->address; printf("final mapbase %p, final mapsize %ld\n", mapbase, mapsize); /* Add the base address to the previously calculated/aligned offsets */ @@ -504,6 +518,10 @@ &resid, td); if (error) goto out; + /* Wire the pages */ + vm_map_wire(kernel_map, (vm_offset_t)ef->progtab[i].addr, + (vm_offset_t)ef->progtab[i].addr + ef->progtab[i].filesz, + VM_MAP_WIRE_SYSTEM|VM_MAP_WIRE_NOHOLES); } /* @@ -586,6 +604,11 @@ /* Notify MD code that a module is being unloaded. */ elf_cpu_unload_file(file); + if (ef->object) { + vm_map_remove(kernel_map, (vm_offset_t) ef->address, + (vm_offset_t) ef->address + (ef->object->size << PAGE_SHIFT)); + vm_object_deallocate(ef->object); + } if (ef->address) free(ef->address, M_LINKER); if (ef->ddbsymtab) From owner-p4-projects@FreeBSD.ORG Thu Apr 1 18:44:47 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 17D4316A4D8; Thu, 1 Apr 2004 18:44:47 -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 836DB16A4CF for ; Thu, 1 Apr 2004 18:44:46 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7B5A043D45 for ; Thu, 1 Apr 2004 18:44:46 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i322ikGe030328 for ; Thu, 1 Apr 2004 18:44:46 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i322iknq030324 for perforce@freebsd.org; Thu, 1 Apr 2004 18:44:46 -0800 (PST) (envelope-from peter@freebsd.org) Date: Thu, 1 Apr 2004 18:44:46 -0800 (PST) Message-Id: <200404020244.i322iknq030324@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 50160 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: Fri, 02 Apr 2004 02:44:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=50160 Change 50160 by peter@peter_hammer on 2004/04/01 18:44:32 implement another relocation type. try and fix PC32 while here. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#16 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#16 (text+ko) ==== @@ -107,8 +107,8 @@ elf_reloc_internal(linker_file_t lf, const void *data, int type, int local, elf_lookup_fn lu) { Elf_Addr relocbase = (Elf_Addr) lf->address; - Elf_Addr *where; - int32_t *where32; + Elf64_Addr *where; + Elf32_Addr *where32, val32; Elf_Addr addr; Elf_Addr addend; Elf_Word rtype, symidx; @@ -173,11 +173,23 @@ printf("addr 0x%lx, addend 0x%lx\n", addr, addend); if (addr == 0) return -1; - addr += addend - (Elf_Addr)where; - /* XXX needs to be 32 bit *where, not 64 bit */ + val32 = (Elf32_Addr)(addr + addend - (Elf_Addr)where); where32 = (int32_t *)where; - if (*where32 != addr) - *where32 = addr; + if (*where32 != val32) + *where32 = val32; +printf("*where32 = 0x%x\n", *where32); + break; + + case R_X86_64_32S: /* S + A sign extend */ +printf("R_X86_64_32\n"); + addr = lu(lf, symidx, 1); +printf("addr 0x%lx, addend 0x%lx\n", addr, addend); + if (addr == 0) + return -1; + val32 = (Elf32_Addr)(addr + addend); + where32 = (Elf32_Addr *)where; + if (*where32 != val32) + *where32 = val32; printf("*where32 = 0x%x\n", *where32); break; From owner-p4-projects@FreeBSD.ORG Thu Apr 1 19:12:20 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A28F716A4D0; Thu, 1 Apr 2004 19:12:20 -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 77C3F16A4CE for ; Thu, 1 Apr 2004 19:12:20 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5827A43D54 for ; Thu, 1 Apr 2004 19:12:20 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i323CKGe037057 for ; Thu, 1 Apr 2004 19:12:20 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i323CJXR037048 for perforce@freebsd.org; Thu, 1 Apr 2004 19:12:19 -0800 (PST) (envelope-from peter@freebsd.org) Date: Thu, 1 Apr 2004 19:12:19 -0800 (PST) Message-Id: <200404020312.i323CJXR037048@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 50161 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: Fri, 02 Apr 2004 03:12:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=50161 Change 50161 by peter@peter_hammer on 2004/04/01 19:12:15 checkpoint. beginnings of actually implementing real elf object linkage. oops. ld -shared made things easy for us and a bunch of relocation modes are missing. Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#20 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#20 (text+ko) ==== @@ -881,7 +881,7 @@ elf_file_t ef = (elf_file_t)lf; const Elf_Sym *sym; const char *symbol; - int error; + Elf_addr ret; printf("elf_obj_lookup: symidx %ld (< %ld?)\n", symidx, ef->ddbsymcnt); @@ -892,36 +892,35 @@ sym = ef->ddbsymtab + symidx; printf("sym: %p (base %p)\n", sym, ef->ddbsymtab); - /* - * Don't do a full lookup when the symbol is local. It may even - * fail because it may not be found through the hash table. - */ - if (ELF_ST_BIND(sym->st_info) == STB_LOCAL) { - /* Force lookup failure when we have an insanity. */ - if (sym->st_shndx == SHN_UNDEF) - return (0); - return ((Elf_Addr)ef->address + sym->st_value); +#if 0 + /* Theoretically we can avoid a lookup for some locals */ + switch (ELF64_ST_BIND(sym->st_info)) { + case STB_LOCAL: + case STB_GLOBAL: + case STB_WEAK: } - - /* - * XXX we can avoid doing a hash table based lookup for global - * symbols as well. This however is not always valid, so we'll - * just do it the hard way for now. Performance tweaks can - * always be added. - */ - - symbol = ef->ddbstrtab + sym->st_name; +#endif + switch (ELF64_ST_TYPE(sym->st_info)) { + case STT_OBJECT: + case STT_FUNC: + /* Relative to Data or Function name */ + symbol = ef->ddbstrtab + sym->st_name; printf("strtab %p, st_name %d\n", ef->ddbstrtab, sym->st_name); printf("symbol = %p (%s)\n", symbol, symbol); - /* Force a lookup failure if the symbol name is bogus. */ - if (*symbol == 0) - return (0); + /* Force a lookup failure if the symbol name is bogus. */ + if (*symbol == 0) + return (0); printf("calling linker_file_lookup_symbol, deps %d\n", deps); - error = ((Elf_Addr)linker_file_lookup_symbol(lf, symbol, deps)); -printf("linker_file_lookup_symbol returns %d\n", error); - return error; + ret = ((Elf_Addr)linker_file_lookup_symbol(lf, symbol, deps)); +printf("linker_file_lookup_symbol returns %p\n", ret); + return ret; + + case STT_SECTION: + /* Relative to section number */ + XXX + } } static void From owner-p4-projects@FreeBSD.ORG Thu Apr 1 19:58:16 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9D6DD16A4D0; Thu, 1 Apr 2004 19:58:16 -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 6F21F16A4CE for ; Thu, 1 Apr 2004 19:58:16 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 656F443D49 for ; Thu, 1 Apr 2004 19:58:16 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i323wGGe045755 for ; Thu, 1 Apr 2004 19:58:16 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i323wFBo045752 for perforce@freebsd.org; Thu, 1 Apr 2004 19:58:15 -0800 (PST) (envelope-from peter@freebsd.org) Date: Thu, 1 Apr 2004 19:58:15 -0800 (PST) Message-Id: <200404020358.i323wFBo045752@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 50162 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: Fri, 02 Apr 2004 03:58:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=50162 Change 50162 by peter@peter_hammer on 2004/04/01 19:57:17 checkpoint. close, but still no cigar. The STT_* types are only relevant for STB_LOCAL binding, it seems. STB_GLOBAL would always be a fallthrough. Or something. Hmmm. Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#21 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#21 (text+ko) ==== @@ -64,6 +64,8 @@ Elf_Off filesz; int align; int flags; + int sec; /* Original section */ + char *name; } Elf_progent; typedef struct { @@ -71,6 +73,8 @@ Elf_Off memsz; int align; int flags; + int sec; /* Original section */ + char *name; } Elf_nobitent; typedef struct { @@ -90,6 +94,7 @@ struct linker_file lf; /* Common fields */ caddr_t address; /* Relocation address */ vm_object_t object; /* VM object to hold file pages */ + Elf_Shdr *e_shdr; Elf_progent *progtab; int nprogtab; @@ -108,6 +113,9 @@ caddr_t ddbstrtab; /* String table */ long ddbstrcnt; /* number of bytes in string table */ + caddr_t shstrtab; /* Section name string table */ + long shstrcnt; /* number of bytes in string table */ + #if 0 caddr_t symbase; /* malloc'ed symbol base */ caddr_t strbase; /* malloc'ed string base */ @@ -195,6 +203,7 @@ struct nameidata nd; struct thread *td = curthread; /* XXX */ Elf_Ehdr *hdr; + Elf_Shdr *shdr; int nbytes, i; caddr_t mapbase; size_t mapsize; @@ -202,9 +211,9 @@ int resid, flags; elf_file_t ef; linker_file_t lf; - Elf_Shdr *shdr; int symtabindex; int symstrindex; + int shstrindex; int nsym; int pb, nb, rl, ra; int alignmask; @@ -281,6 +290,19 @@ printf("elf_load_obj: initial checks look ok!\n"); +printf("section table read in ok\n"); + lf = linker_make_file(filename, &link_elf_class); + if (!lf) { + error = ENOMEM; + goto out; + } + ef = (elf_file_t) lf; + ef->nprogtab = 0; + ef->nnobittab = 0; + ef->e_shdr = 0; + ef->nrel = 0; + ef->nrela = 0; + /* Allocate and read in the section header */ nbytes = hdr->e_shnum * hdr->e_shentsize; if (nbytes == 0 || hdr->e_shoff == 0 || @@ -294,6 +316,7 @@ error = ENOMEM; goto out; } + ef->e_shdr = shdr; error = vn_rdwr(UIO_READ, nd.ni_vp, (caddr_t)shdr, nbytes, hdr->e_shoff, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); if (error) @@ -303,21 +326,9 @@ goto out; } -printf("section table read in ok\n"); - lf = linker_make_file(filename, &link_elf_class); - if (!lf) { - error = ENOMEM; - goto out; - } - ef = (elf_file_t) lf; - printf("scan header1\n"); /* Scan the section header for information and table sizing. */ - ef->nprogtab = 0; - ef->nnobittab = 0; nsym = 0; - ef->nrel = 0; - ef->nrela = 0; symtabindex = -1; symstrindex = -1; for (i = 0; i < hdr->e_shnum; i++) { @@ -395,6 +406,18 @@ goto out; } + /* Do we have a string table for the section names? */ + shstrindex = -1; + if (hdr->e_shstrndx != 0 && shdr[hdr->e_shstrndx].sh_type == SHT_STRTAB) { + shstrindex = hdr->e_shstrndx; + ef->shstrcnt = shdr[shstrindex].sh_size; + ef->shstrtab = malloc(shdr[shstrindex].sh_size, M_LINKER, M_WAITOK); + if (ef->shstrtab == NULL) { + error = ENOMEM; + goto out; + } + } + /* Size code/data(progbits) and bss(nobits). allocate space for relocs */ pb = 0; nb = 0; @@ -420,7 +443,12 @@ ef->progtab[pb].fileoff = shdr[i].sh_offset; ef->progtab[pb].filesz = shdr[i].sh_size; ef->progtab[pb].align = shdr[i].sh_addralign; -printf("progbits at %ld\n", mapsize); + ef->progtab[pb].sec = i; + if (ef->shstrtab && shdr[i].sh_name != 0) + ef->progtab[pb].name = ef->shstrtab + shdr[i].sh_name; + else + ef->progtab[pb].name = "<>"; +printf("progbits at %ld, sec %d, name %s\n", mapsize, ef->progtab[pb].sec, ef->progtab[pb].name); mapsize += shdr[i].sh_size; pb++; break; @@ -428,7 +456,12 @@ ef->nobittab[nb].addr = (void *)(uintptr_t)mapsize; ef->nobittab[nb].memsz = shdr[i].sh_size; ef->nobittab[nb].align = shdr[i].sh_addralign; -printf("nobits at %ld\n", mapsize); + ef->nobittab[nb].sec = i; + if (ef->shstrtab && shdr[i].sh_name != 0) + ef->nobittab[nb].name = ef->shstrtab + shdr[i].sh_name; + else + ef->nobittab[nb].name = "<>"; +printf("nobits at %ld, sec %d name %s\n", mapsize, ef->nobittab[nb].sec, ef->nobittab[nb].name); mapsize += shdr[i].sh_size; nb++; break; @@ -505,6 +538,15 @@ &resid, td); if (error) goto out; + if (ef->shstrtab) { +printf("reading shstrtab\n"); + error = vn_rdwr(UIO_READ, nd.ni_vp, + ef->shstrtab, shdr[shstrindex].sh_size, shdr[shstrindex].sh_offset, + UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, + &resid, td); + if (error) + goto out; + } printf("reading progbits\n"); /* Read in the text/data/set/etc sections */ @@ -586,8 +628,6 @@ printf("link_elf_obj: finishing up! error = %d\n", error); if (error && lf) linker_file_unload(lf); - if (shdr) - free(shdr, M_LINKER); if (hdr) free(hdr, M_LINKER); VOP_UNLOCK(nd.ni_vp, 0, td); @@ -611,6 +651,8 @@ } if (ef->address) free(ef->address, M_LINKER); + if (ef->e_shdr) + free(ef->e_shdr, M_LINKER); if (ef->ddbsymtab) free(ef->ddbsymtab, M_LINKER); if (ef->ddbstrtab) @@ -881,7 +923,8 @@ elf_file_t ef = (elf_file_t)lf; const Elf_Sym *sym; const char *symbol; - Elf_addr ret; + Elf_Addr ret; + int i; printf("elf_obj_lookup: symidx %ld (< %ld?)\n", symidx, ef->ddbsymcnt); @@ -914,12 +957,32 @@ printf("calling linker_file_lookup_symbol, deps %d\n", deps); ret = ((Elf_Addr)linker_file_lookup_symbol(lf, symbol, deps)); -printf("linker_file_lookup_symbol returns %p\n", ret); +printf("linker_file_lookup_symbol returns 0x%lx\n", ret); return ret; case STT_SECTION: /* Relative to section number */ - XXX + for (i = 0; i < ef->nprogtab; i++) { + if (sym->st_shndx == ef->progtab[i].sec) { +printf("FOUND PROGBITS SECTION RELOC, name %s\n", ef->progtab[i].name); + ret = (Elf_Addr)ef->progtab[i].addr; +printf("returning base 0x%lx\n", ret); + return ret; + } + } + for (i = 0; i < ef->nnobittab; i++) { + if (sym->st_shndx == ef->nobittab[i].sec) { +printf("FOUND NOBITS SECTION RELOC, name %s\n", ef->nobittab[i].name); + ret = (Elf_Addr)ef->nobittab[i].addr; +printf("returning base 0x%lx\n", ret); + return ret; + } + } +printf("STT_SECTION index %d not found!\n", sym->st_shndx); + return (0); + default: +printf("Unknown symbol type! %d\n", ELF64_ST_TYPE(sym->st_info)); + return (0); } } From owner-p4-projects@FreeBSD.ORG Thu Apr 1 21:20:12 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EE0ED16A4D0; Thu, 1 Apr 2004 21:20:11 -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 B3D3B16A4CE for ; Thu, 1 Apr 2004 21:20:11 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A6E2643D3F for ; Thu, 1 Apr 2004 21:20:11 -0800 (PST) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i325KBGe069814 for ; Thu, 1 Apr 2004 21:20:11 -0800 (PST) (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i325KA8H069802 for perforce@freebsd.org; Thu, 1 Apr 2004 21:20:10 -0800 (PST) (envelope-from scottl@freebsd.org) Date: Thu, 1 Apr 2004 21:20:10 -0800 (PST) Message-Id: <200404020520.i325KA8H069802@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Subject: PERFORCE change 50164 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: Fri, 02 Apr 2004 05:20:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=50164 Change 50164 by scottl@scottl-esp-sparc64 on 2004/04/01 21:19:17 Start ESP driver tree. This will be a port of the NetBSD driver. Affected files ... .. //depot/projects/scottl-esp/src/sys/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/alpha-gdbstub.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/api_up1000.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/atomic.s#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/autoconf.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/busdma_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/busspace.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/clock.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/clock_if.m#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/cpuconf.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/critical.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/db_disasm.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/db_instruction.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/db_interface.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/db_trace.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/dec_1000a.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/dec_2100_a50.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/dec_2100_a500.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/dec_3000_300.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/dec_3000_500.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/dec_axppci_33.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/dec_eb164.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/dec_eb64plus.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/dec_kn20aa.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/dec_kn300.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/dec_kn8ae.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/dec_st550.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/dec_st6600.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/divrem.m4#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/dump_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/elf_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/exception.s#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/fp_emulate.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/genassym.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/ieee_float.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/ieee_float.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/in_cksum.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/interrupt.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/locore.s#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/mem.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/mp_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/pal.s#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/pmap.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/prom.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/prom_disp.s#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/promcons.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/sgmap.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/support.s#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/swtch.s#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/sys_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/timerreg.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/trap.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/uio_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/alpha/vm_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/compile/.cvsignore#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/conf/GENERIC#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/conf/GENERIC.hints#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/conf/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/conf/NOTES#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/conf/gethints.awk#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/_inttypes.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/_limits.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/_stdint.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/_types.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/alpha_cpu.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/asm.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/atomic.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/bootinfo.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/bus.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/bus_memio.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/bus_pio.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/bwx.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/chipset.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/clock.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/clockvar.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/cpu.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/cpuconf.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/cpufunc.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/critical.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/db_machdep.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/elf.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/endian.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/exec.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/float.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/floatingpoint.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/fpu.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/frame.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/ieee.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/ieeefp.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/in_cksum.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/inst.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/intr.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/intrcnt.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/ioctl_bt848.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/ioctl_meteor.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/limits.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/md_var.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/mutex.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/pal.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/param.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/pc/bios.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/pc/display.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/pc/msdos.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/pc/vesa.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/pcb.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/pcpu.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/pmap.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/proc.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/profile.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/prom.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/pte.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/ptrace.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/reg.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/reloc.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/resource.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/rpb.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/runq.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/setjmp.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/sf_buf.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/sgmap.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/sigframe.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/signal.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/smp.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/stdarg.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/swiz.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/sysarch.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/ucontext.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/varargs.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/include/vmparam.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/isa/isa.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/isa/isa_dma.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/isa/isavar.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/isa/mcclock_isa.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/linux/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/linux/linux.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/linux/linux_dummy.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/linux/linux_genassym.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/linux/linux_ipc64.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/linux/linux_locore.s#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/linux/linux_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/linux/linux_proto.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/linux/linux_syscall.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/linux/linux_sysent.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/linux/linux_sysvec.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/linux/syscalls.conf#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/linux/syscalls.master#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/mcbus/mcbus.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/mcbus/mcbusreg.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/mcbus/mcbusvar.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/mcbus/mcmem.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/mcbus/mcpcia.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/mcbus/mcpciareg.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/mcbus/mcpciavar.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/README.mach-traps#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/exec_ecoff.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/imgact_osf1.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/osf1.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/osf1_ioctl.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/osf1_misc.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/osf1_mount.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/osf1_proto.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/osf1_signal.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/osf1_signal.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/osf1_syscall.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/osf1_sysent.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/osf1_sysvec.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/osf1_util.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/syscalls.conf#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/osf1/syscalls.master#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/alphapci_if.m#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/apecs.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/apecs_pci.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/apecsreg.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/apecsvar.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/bwx.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/cia.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/cia_pci.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/ciareg.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/ciavar.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/irongate.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/irongate_pci.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/irongatereg.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/irongatevar.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/lca.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/lca_pci.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/lcareg.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/lcavar.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/pci_eb164_intr.s#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/pci_eb64plus_intr.s#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/pcibus.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/pcibus.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/swiz.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/t2.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/t2_pci.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/t2reg.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/t2var.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/tsunami.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/tsunami_pci.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/tsunamireg.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/pci/tsunamivar.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/dwlpx.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/dwlpxreg.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/dwlpxvar.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/gbus.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/gbusreg.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/gbusvar.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/kftxx.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/kftxxreg.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/kftxxvar.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/mcclock_tlsb.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/tlsb.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/tlsbcpu.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/tlsbmem.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/tlsbreg.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/tlsbvar.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/zs_tlsb.c#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/zsreg.h#1 branch .. //depot/projects/scottl-esp/src/sys/alpha/tlsb/zsvar.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/acpica/OsdEnvironment.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/acpica/acpi_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/acpica/acpi_wakeup.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/acpica/madt.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/amd64-gdbstub.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/amd64_mem.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/apic_vector.S#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/atomic.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/autoconf.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/busdma_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/cpu_switch.S#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/critical.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/db_disasm.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/db_interface.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/db_trace.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/dump_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/elf_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/exception.S#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/fpu.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/genassym.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/identcpu.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/in_cksum.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/initcpu.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/intr_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/io_apic.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/legacy.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/local_apic.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/locore.S#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/mem.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/mp_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/mpboot.S#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/mptable.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/mptable_pci.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/nexus.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/pmap.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/sigtramp.S#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/support.S#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/sys_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/trap.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/tsc.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/uio_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/uma_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/amd64/vm_machdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/compile/.cvsignore#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/conf/GENERIC#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/conf/GENERIC.hints#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/conf/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/conf/NOTES#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/conf/gethints.awk#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/ia32/ia32_exception.S#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/ia32/ia32_signal.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/ia32/ia32_sigtramp.S#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/ia32/ia32_syscall.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/_inttypes.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/_limits.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/_stdint.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/_types.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/acpica_machdep.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/apicreg.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/apicvar.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/asm.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/asmacros.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/atomic.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/bus.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/bus_amd64.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/bus_dma.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/bus_memio.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/bus_pio.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/clock.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/cpu.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/cpufunc.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/cputypes.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/critical.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/db_machdep.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/elf.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/endian.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/exec.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/float.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/floatingpoint.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/fpu.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/frame.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/ieeefp.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/in_cksum.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/intr_machdep.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/legacyvar.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/limits.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/md_var.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/metadata.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/mptable.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/mutex.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/param.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/pc/display.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/pcb.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/pcb_ext.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/pci_cfgreg.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/pcpu.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/pmap.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/proc.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/profile.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/psl.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/ptrace.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/reg.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/reloc.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/resource.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/runq.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/segments.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/setjmp.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/sf_buf.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/sigframe.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/signal.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/smp.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/specialreg.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/stdarg.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/sysarch.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/trap.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/tss.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/ucontext.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/varargs.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/include/vmparam.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/isa/atpic.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/isa/atpic_vector.S#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/isa/clock.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/isa/icu.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/isa/isa.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/isa/isa.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/isa/isa_dma.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/isa/isa_dma.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/isa/nmi.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/isa/timerreg.h#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/pci/pci_bus.c#1 branch .. //depot/projects/scottl-esp/src/sys/amd64/pci/pci_cfgreg.c#1 branch .. //depot/projects/scottl-esp/src/sys/arm/compile/.cvsignore#1 branch .. //depot/projects/scottl-esp/src/sys/arm/include/_limits.h#1 branch .. //depot/projects/scottl-esp/src/sys/arm/include/_stdint.h#1 branch .. //depot/projects/scottl-esp/src/sys/arm/include/_types.h#1 branch .. //depot/projects/scottl-esp/src/sys/arm/include/elf.h#1 branch .. //depot/projects/scottl-esp/src/sys/arm/include/endian.h#1 branch .. //depot/projects/scottl-esp/src/sys/arm/include/exec.h#1 branch .. //depot/projects/scottl-esp/src/sys/arm/include/limits.h#1 branch .. //depot/projects/scottl-esp/src/sys/arm/include/param.h#1 branch .. //depot/projects/scottl-esp/src/sys/arm/include/signal.h#1 branch .. //depot/projects/scottl-esp/src/sys/arm/include/ucontext.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/README#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/Makefile.inc#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/boot1/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/boot1/boot1.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/cdboot/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/cdboot/version#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/common/Makefile.common#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/common/conf.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/common/help.alpha#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/common/main.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/OSFpal.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/alpha_copy.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/alpha_module.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/bbinfo.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/bootinfo.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/common.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/delay.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/devicename.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/elf_freebsd.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/getsecs.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/libalpha.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/pal.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/prom.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/prom_disp.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/prom_swpal.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/reboot.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/srmdisk.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/srmnet.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/start.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/libalpha/time.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/loader/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/loader/version#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/netboot/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/alpha/netboot/version#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/Makefile.inc#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/include/arcfuncs.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/include/arctypes.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/include/libarc.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/lib/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/lib/abort.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/lib/arcconsole.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/lib/arcdisk.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/lib/arch/alpha/copy.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/lib/arch/alpha/rpb.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/lib/arch/alpha/setjmp.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/lib/arch/alpha/start.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/lib/bootinfo.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/lib/delay.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/lib/devicename.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/lib/elf_freebsd.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/lib/module.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/lib/prom.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/lib/setjmperr.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/lib/time.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/loader/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/loader/conf.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/loader/help.alpha#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/loader/main.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/arc/loader/version#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/Makefile.inc#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/bcache.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/boot.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/bootstrap.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/commands.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/console.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/dev_net.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/dev_net.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/devopen.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/help.common#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/interp.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/interp_backslash.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/interp_forth.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/interp_parse.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/isapnp.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/isapnp.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/load.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/load_elf.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/load_elf32.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/load_elf64.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/loader.8#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/ls.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/merge_help.awk#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/misc.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/module.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/newvers.sh#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/panic.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/pnp.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/pnpdata#1 branch .. //depot/projects/scottl-esp/src/sys/boot/common/ufsread.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/Makefile.inc#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/README#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/efi.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/efi_nii.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/efiapi.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/eficon.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/efidebug.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/efidef.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/efidevp.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/efierr.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/efifpswa.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/efifs.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/efilib.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/efinet.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/efipart.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/efiprot.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/efipxebc.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/efiser.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/efistdarg.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/i386/efibind.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/i386/pe.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/ia64/efibind.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/include/ia64/pe.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/libefi/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/libefi/arch/ia64/ldscript.ia64#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/libefi/arch/ia64/start.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/libefi/bootinfo.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/libefi/copy.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/libefi/delay.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/libefi/devicename.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/libefi/efi_console.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/libefi/efiboot.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/libefi/efifpswa.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/libefi/efifs.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/libefi/efinet.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/libefi/elf_freebsd.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/libefi/libefi.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/libefi/module.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/libefi/time.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/loader/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/loader/conf.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/loader/main.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/efi/loader/version#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/alpha/sysdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/alpha/sysdep.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/dict.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/ficl.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/ficl.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/fileaccess.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/float.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/i386/sysdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/i386/sysdep.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/ia64/sysdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/ia64/sysdep.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/loader.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/math64.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/math64.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/powerpc/sysdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/powerpc/sysdep.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/prefix.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/search.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/softwords/classes.fr#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/softwords/ficlclass.fr#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/softwords/ficllocal.fr#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/softwords/fileaccess.fr#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/softwords/forml.fr#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/softwords/freebsd.fr#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/softwords/ifbrack.fr#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/softwords/jhlocal.fr#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/softwords/marker.fr#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/softwords/oo.fr#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/softwords/prefix.fr#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/softwords/softcore.awk#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/softwords/softcore.fr#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/softwords/string.fr#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/sparc64/sysdep.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/sparc64/sysdep.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/stack.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/testmain.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/tools.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/unix.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/vm.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ficl/words.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/forth/beastie.4th#1 branch .. //depot/projects/scottl-esp/src/sys/boot/forth/frames.4th#1 branch .. //depot/projects/scottl-esp/src/sys/boot/forth/loader.4th#1 branch .. //depot/projects/scottl-esp/src/sys/boot/forth/loader.4th.8#1 branch .. //depot/projects/scottl-esp/src/sys/boot/forth/loader.conf#1 branch .. //depot/projects/scottl-esp/src/sys/boot/forth/loader.conf.5#1 branch .. //depot/projects/scottl-esp/src/sys/boot/forth/loader.rc#1 branch .. //depot/projects/scottl-esp/src/sys/boot/forth/pnp.4th#1 branch .. //depot/projects/scottl-esp/src/sys/boot/forth/screen.4th#1 branch .. //depot/projects/scottl-esp/src/sys/boot/forth/support.4th#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/Makefile.inc#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/boot0/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/boot0/boot0.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/boot0/boot0ext.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/boot0/boot0sio.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/boot0ext/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/boot0sio/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/boot2/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/boot2/boot1.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/boot2/boot2.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/boot2/lib.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/boot2/sio.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/btx/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/btx/Makefile.inc#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/btx/btx/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/btx/btx/btx.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/btx/btxldr/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/btx/btxldr/btxldr.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/btx/lib/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/btx/lib/btxcsu.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/btx/lib/btxsys.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/btx/lib/btxv86.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/btx/lib/btxv86.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/cdboot/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/cdboot/cdboot.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/kgzldr/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/kgzldr/boot.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/kgzldr/crt.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/kgzldr/kgzldr.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/kgzldr/lib.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/kgzldr/sio.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/kgzldr/start.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/amd64_tramp.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/biosacpi.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/bioscd.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/biosdisk.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/biosmem.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/biospci.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/biospnp.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/biossmap.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/bootinfo.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/bootinfo32.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/bootinfo64.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/comconsole.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/devicename.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/elf32_freebsd.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/elf64_freebsd.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/gatea20.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/i386_copy.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/i386_module.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/libi386.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/nullconsole.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/pread.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/pxe.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/pxe.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/pxetramp.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/time.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/libi386/vidconsole.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/loader/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/loader/conf.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/loader/help.i386#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/loader/loader.rc#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/loader/main.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/loader/version#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/mbr/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/mbr/mbr.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/pxeldr/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/pxeldr/pxeboot.8#1 branch .. //depot/projects/scottl-esp/src/sys/boot/i386/pxeldr/pxeldr.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/Makefile.inc#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/acpi_stub.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/bootinfo.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/copy.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/delay.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/devicename.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/efi_stub.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/elf_freebsd.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/exit.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/libski.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/module.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/pal_stub.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/sal_stub.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/skiconsole.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/skifs.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/ssc.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/libski/time.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/skiload/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/skiload/conf.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/skiload/ldscript.ia64#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/skiload/main.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/skiload/skiload.cmd#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/skiload/start.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ia64/skiload/version#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/common/Makefile.inc#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/common/main.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/libofw/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/libofw/devicename.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/libofw/elf_freebsd.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/libofw/libofw.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/libofw/ofw_console.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/libofw/ofw_copy.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/libofw/ofw_disk.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/libofw/ofw_memory.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/libofw/ofw_module.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/libofw/ofw_net.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/libofw/ofw_reboot.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/libofw/ofw_time.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/libofw/openfirm.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/ofw/libofw/openfirm.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/Makefile.inc#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot0.5/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot0.5/boot.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot0.5/boot0.5.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot0.5/disk.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot0.5/selector.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot0.5/start.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot0.5/support.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot0.5/syscons.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot0/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot0/boot0.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/README.serial.98#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/asm.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/asm.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/bios.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/boot.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/boot.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/boot2.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/dinode.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/disk.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/fs.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/inode.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/io.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/probe_keyboard.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/quota.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/serial.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/serial_16550.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/serial_8251.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/start.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/sys.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/boot2/table.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/btx/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/btx/Makefile.inc#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/btx/btx/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/btx/btx/btx.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/btx/btxldr/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/btx/btxldr/btxldr.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/btx/lib/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/btx/lib/btxcsu.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/btx/lib/btxsys.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/btx/lib/btxv86.h#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/btx/lib/btxv86.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/kgzldr/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/kgzldr/crt.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/libpc98/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/libpc98/biosdisk.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/libpc98/biosmem.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/libpc98/comconsole.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/libpc98/gatea20.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/libpc98/i386_module.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/libpc98/time.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/libpc98/vidconsole.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/loader/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/loader/conf.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/loader/help.pc98#1 branch .. //depot/projects/scottl-esp/src/sys/boot/pc98/loader/main.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/powerpc/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/powerpc/loader/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/powerpc/loader/conf.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/powerpc/loader/help.ofw#1 branch .. //depot/projects/scottl-esp/src/sys/boot/powerpc/loader/metadata.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/powerpc/loader/start.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/powerpc/loader/version#1 branch .. //depot/projects/scottl-esp/src/sys/boot/sparc64/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/sparc64/Makefile.inc#1 branch .. //depot/projects/scottl-esp/src/sys/boot/sparc64/boot1/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/sparc64/boot1/_start.s#1 branch .. //depot/projects/scottl-esp/src/sys/boot/sparc64/boot1/boot1.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/sparc64/loader/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/boot/sparc64/loader/help.sparc64#1 branch .. //depot/projects/scottl-esp/src/sys/boot/sparc64/loader/locore.S#1 branch .. //depot/projects/scottl-esp/src/sys/boot/sparc64/loader/main.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/sparc64/loader/metadata.c#1 branch .. //depot/projects/scottl-esp/src/sys/boot/sparc64/loader/version#1 branch .. //depot/projects/scottl-esp/src/sys/cam/cam.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/cam.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/cam_ccb.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/cam_debug.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/cam_periph.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/cam_periph.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/cam_queue.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/cam_queue.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/cam_sim.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/cam_sim.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/cam_xpt.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/cam_xpt.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/cam_xpt_periph.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/cam_xpt_sim.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_all.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_all.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_cd.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_cd.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_ch.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_ch.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_da.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_da.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_dvcfg.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_iu.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_low.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_low.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_low_pisa.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_low_pisa.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_message.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_pass.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_pass.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_pt.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_pt.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_sa.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_sa.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_ses.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_ses.h#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_targ_bh.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_target.c#1 branch .. //depot/projects/scottl-esp/src/sys/cam/scsi/scsi_targetio.h#1 branch .. //depot/projects/scottl-esp/src/sys/coda/00READ#1 branch .. //depot/projects/scottl-esp/src/sys/coda/README#1 branch .. //depot/projects/scottl-esp/src/sys/coda/TODO#1 branch .. //depot/projects/scottl-esp/src/sys/coda/cnode.h#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda.h#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_fbsd.c#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_io.h#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_kernel.h#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_namecache.c#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_namecache.h#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_opstats.h#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_pioctl.h#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_psdev.c#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_psdev.h#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_subr.c#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_subr.h#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_venus.c#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_venus.h#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_vfsops.c#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_vfsops.h#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_vnops.c#1 branch .. //depot/projects/scottl-esp/src/sys/coda/coda_vnops.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/freebsd32/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/compat/freebsd32/freebsd32.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/freebsd32/freebsd32_misc.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/freebsd32/freebsd32_proto.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/freebsd32/freebsd32_syscall.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/freebsd32/freebsd32_syscalls.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/freebsd32/freebsd32_sysent.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/freebsd32/freebsd32_util.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/freebsd32/syscalls.conf#1 branch .. //depot/projects/scottl-esp/src/sys/compat/freebsd32/syscalls.master#1 branch .. //depot/projects/scottl-esp/src/sys/compat/ia32/ia32_genassym.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/ia32/ia32_signal.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/ia32/ia32_sysvec.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/ia32/ia32_util.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linprocfs/linprocfs.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_file.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_getcwd.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_ioctl.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_ioctl.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_ipc.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_ipc.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_mib.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_mib.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_misc.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_signal.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_signal.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_socket.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_socket.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_stats.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_sysctl.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_uid16.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_util.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/linux/linux_util.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/ndis/cfg_var.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/ndis/hal_var.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/ndis/kern_ndis.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/ndis/ndis_var.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/ndis/ntoskrnl_var.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/ndis/pe_var.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/ndis/resource_var.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/ndis/subr_hal.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/ndis/subr_ndis.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/ndis/subr_ntoskrnl.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/ndis/subr_pe.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/netbsd/dvcfg.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/netbsd/physio_proc.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/pecoff/imgact_pecoff.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/pecoff/imgact_pecoff.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/Makefile#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/imgact_svr4.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_acl.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_dirent.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_errno.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_exec.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_fcntl.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_fcntl.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_filio.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_filio.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_fuser.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_hrt.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_ioctl.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_ioctl.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_ipc.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_ipc.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_misc.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_mman.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_proto.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_resource.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_resource.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_siginfo.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_signal.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_signal.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_socket.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_socket.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_sockio.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_sockio.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_sockmod.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_stat.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_stat.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_statvfs.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_stream.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_stropts.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_syscall.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_syscallnames.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_sysconfig.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_sysent.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_systeminfo.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_sysvec.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_termios.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_termios.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_time.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_timod.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_ttold.c#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_ttold.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_types.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_ucontext.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_ulimit.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_ustat.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_util.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_utsname.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/svr4_wait.h#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/syscalls.conf#1 branch .. //depot/projects/scottl-esp/src/sys/compat/svr4/syscalls.master#1 branch .. //depot/projects/scottl-esp/src/sys/conf/Makefile.alpha#1 branch .. //depot/projects/scottl-esp/src/sys/conf/Makefile.amd64#1 branch .. //depot/projects/scottl-esp/src/sys/conf/Makefile.i386#1 branch .. //depot/projects/scottl-esp/src/sys/conf/Makefile.ia64#1 branch .. //depot/projects/scottl-esp/src/sys/conf/Makefile.pc98#1 branch .. //depot/projects/scottl-esp/src/sys/conf/Makefile.powerpc#1 branch .. //depot/projects/scottl-esp/src/sys/conf/Makefile.sparc64#1 branch .. //depot/projects/scottl-esp/src/sys/conf/NOTES#1 branch .. //depot/projects/scottl-esp/src/sys/conf/defines#1 branch .. //depot/projects/scottl-esp/src/sys/conf/files#1 branch .. //depot/projects/scottl-esp/src/sys/conf/files.alpha#1 branch .. //depot/projects/scottl-esp/src/sys/conf/files.amd64#1 branch .. //depot/projects/scottl-esp/src/sys/conf/files.i386#1 branch .. //depot/projects/scottl-esp/src/sys/conf/files.ia64#1 branch .. //depot/projects/scottl-esp/src/sys/conf/files.pc98#1 branch .. //depot/projects/scottl-esp/src/sys/conf/files.powerpc#1 branch .. //depot/projects/scottl-esp/src/sys/conf/files.sparc64#1 branch .. //depot/projects/scottl-esp/src/sys/conf/kern.mk#1 branch .. //depot/projects/scottl-esp/src/sys/conf/kern.post.mk#1 branch .. //depot/projects/scottl-esp/src/sys/conf/kern.pre.mk#1 branch .. //depot/projects/scottl-esp/src/sys/conf/kmod.mk#1 branch .. //depot/projects/scottl-esp/src/sys/conf/kmod_syms.awk#1 branch .. //depot/projects/scottl-esp/src/sys/conf/ldscript.alpha#1 branch .. //depot/projects/scottl-esp/src/sys/conf/ldscript.amd64#1 branch .. //depot/projects/scottl-esp/src/sys/conf/ldscript.i386#1 branch .. //depot/projects/scottl-esp/src/sys/conf/ldscript.ia64#1 branch .. //depot/projects/scottl-esp/src/sys/conf/ldscript.powerpc#1 branch .. //depot/projects/scottl-esp/src/sys/conf/ldscript.sparc64#1 branch .. //depot/projects/scottl-esp/src/sys/conf/majors#1 branch .. //depot/projects/scottl-esp/src/sys/conf/majors.awk#1 branch .. //depot/projects/scottl-esp/src/sys/conf/makeLINT.mk#1 branch .. //depot/projects/scottl-esp/src/sys/conf/makeLINT.sed#1 branch .. //depot/projects/scottl-esp/src/sys/conf/newvers.sh#1 branch .. //depot/projects/scottl-esp/src/sys/conf/options#1 branch .. //depot/projects/scottl-esp/src/sys/conf/options.alpha#1 branch .. //depot/projects/scottl-esp/src/sys/conf/options.amd64#1 branch .. //depot/projects/scottl-esp/src/sys/conf/options.i386#1 branch .. //depot/projects/scottl-esp/src/sys/conf/options.ia64#1 branch .. //depot/projects/scottl-esp/src/sys/conf/options.pc98#1 branch .. //depot/projects/scottl-esp/src/sys/conf/options.powerpc#1 branch .. //depot/projects/scottl-esp/src/sys/conf/options.sparc64#1 branch .. //depot/projects/scottl-esp/src/sys/conf/systags.sh#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/CHANGES.txt#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acapps.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acconfig.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acdebug.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acdisasm.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acdispat.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acefi.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acenv.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acevents.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acexcep.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acfreebsd.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acgcc.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acglobal.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/achware.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acinterp.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/aclocal.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acmacros.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acnamesp.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acobject.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acoutput.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acparser.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acpi.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acpica_prep.sh#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acpiosxf.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acpixf.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acresrc.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acstruct.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/actables.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/actbl.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/actbl1.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/actbl2.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/actypes.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/acutils.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/amlcode.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/amlresrc.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/common/adisasm.c#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/common/getopt.c#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/compiler/aslanalyze.c#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/compiler/aslcodegen.c#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/compiler/aslcompile.c#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/compiler/aslcompiler.h#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/compiler/aslcompiler.l#1 branch .. //depot/projects/scottl-esp/src/sys/contrib/dev/acpica/compiler/aslcompiler.y#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Apr 1 21:28:22 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9E6DD16A4D0; Thu, 1 Apr 2004 21:28:22 -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 5D6EC16A4CE for ; Thu, 1 Apr 2004 21:28:22 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 414D943D2D for ; Thu, 1 Apr 2004 21:28:22 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i325SMGe071735 for ; Thu, 1 Apr 2004 21:28:22 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i325SLQG071732 for perforce@freebsd.org; Thu, 1 Apr 2004 21:28:21 -0800 (PST) (envelope-from peter@freebsd.org) Date: Thu, 1 Apr 2004 21:28:21 -0800 (PST) Message-Id: <200404020528.i325SLQG071732@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 50165 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: Fri, 02 Apr 2004 05:28:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=50165 Change 50165 by peter@peter_hammer on 2004/04/01 21:27:27 read shstrtab earlier so we can use it for debug output really fix the local symbol relocator (I hope) Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#22 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#22 (text+ko) ==== @@ -416,6 +416,13 @@ error = ENOMEM; goto out; } +printf("reading shstrtab\n"); + error = vn_rdwr(UIO_READ, nd.ni_vp, + ef->shstrtab, shdr[shstrindex].sh_size, shdr[shstrindex].sh_offset, + UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, + &resid, td); + if (error) + goto out; } /* Size code/data(progbits) and bss(nobits). allocate space for relocs */ @@ -510,6 +517,10 @@ goto out; } mapbase = ef->address; + /* Wire the pages */ + vm_map_wire(kernel_map, (vm_offset_t)mapbase, + (vm_offset_t)mapbase + round_page(mapsize), + VM_MAP_WIRE_SYSTEM|VM_MAP_WIRE_NOHOLES); printf("final mapbase %p, final mapsize %ld\n", mapbase, mapsize); /* Add the base address to the previously calculated/aligned offsets */ @@ -538,15 +549,6 @@ &resid, td); if (error) goto out; - if (ef->shstrtab) { -printf("reading shstrtab\n"); - error = vn_rdwr(UIO_READ, nd.ni_vp, - ef->shstrtab, shdr[shstrindex].sh_size, shdr[shstrindex].sh_offset, - UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, - &resid, td); - if (error) - goto out; - } printf("reading progbits\n"); /* Read in the text/data/set/etc sections */ @@ -560,10 +562,6 @@ &resid, td); if (error) goto out; - /* Wire the pages */ - vm_map_wire(kernel_map, (vm_offset_t)ef->progtab[i].addr, - (vm_offset_t)ef->progtab[i].addr + ef->progtab[i].filesz, - VM_MAP_WIRE_SYSTEM|VM_MAP_WIRE_NOHOLES); } /* @@ -935,53 +933,47 @@ sym = ef->ddbsymtab + symidx; printf("sym: %p (base %p)\n", sym, ef->ddbsymtab); -#if 0 /* Theoretically we can avoid a lookup for some locals */ switch (ELF64_ST_BIND(sym->st_info)) { case STB_LOCAL: - case STB_GLOBAL: - case STB_WEAK: - } -#endif - switch (ELF64_ST_TYPE(sym->st_info)) { - case STT_OBJECT: - case STT_FUNC: - /* Relative to Data or Function name */ - symbol = ef->ddbstrtab + sym->st_name; -printf("strtab %p, st_name %d\n", ef->ddbstrtab, sym->st_name); -printf("symbol = %p (%s)\n", symbol, symbol); - - /* Force a lookup failure if the symbol name is bogus. */ - if (*symbol == 0) + /* Local, but undefined? huh? */ + if (sym->st_shndx == SHN_UNDEF) return (0); - -printf("calling linker_file_lookup_symbol, deps %d\n", deps); - ret = ((Elf_Addr)linker_file_lookup_symbol(lf, symbol, deps)); -printf("linker_file_lookup_symbol returns 0x%lx\n", ret); - return ret; - - case STT_SECTION: + ret = 0; /* Relative to section number */ for (i = 0; i < ef->nprogtab; i++) { if (sym->st_shndx == ef->progtab[i].sec) { printf("FOUND PROGBITS SECTION RELOC, name %s\n", ef->progtab[i].name); ret = (Elf_Addr)ef->progtab[i].addr; printf("returning base 0x%lx\n", ret); - return ret; + break; } } - for (i = 0; i < ef->nnobittab; i++) { - if (sym->st_shndx == ef->nobittab[i].sec) { + if (ret == 0) { + for (i = 0; i < ef->nnobittab; i++) { + if (sym->st_shndx == ef->nobittab[i].sec) { printf("FOUND NOBITS SECTION RELOC, name %s\n", ef->nobittab[i].name); - ret = (Elf_Addr)ef->nobittab[i].addr; + ret = (Elf_Addr)ef->nobittab[i].addr; printf("returning base 0x%lx\n", ret); - return ret; + break; + } } } -printf("STT_SECTION index %d not found!\n", sym->st_shndx); - return (0); + return ret + sym->st_value; + + case STB_GLOBAL: + /* Relative to Data or Function name */ + symbol = ef->ddbstrtab + sym->st_name; + + /* Force a lookup failure if the symbol name is bogus. */ + if (*symbol == 0) + return (0); +printf("calling linker_file_lookup_symbol, deps %d\n", deps); + ret = ((Elf_Addr)linker_file_lookup_symbol(lf, symbol, deps)); +printf("linker_file_lookup_symbol returns 0x%lx\n", ret); + return ret; default: -printf("Unknown symbol type! %d\n", ELF64_ST_TYPE(sym->st_info)); +printf("UNKNOWN BINDING %d\n", ELF64_ST_BIND(sym->st_info)); return (0); } } From owner-p4-projects@FreeBSD.ORG Thu Apr 1 22:06:10 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C091116A4D0; Thu, 1 Apr 2004 22:06:09 -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 93A4016A4CE for ; Thu, 1 Apr 2004 22:06:09 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7412243D3F for ; Thu, 1 Apr 2004 22:06:09 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i32669Ge080964 for ; Thu, 1 Apr 2004 22:06:09 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i32668W4080961 for perforce@freebsd.org; Thu, 1 Apr 2004 22:06:08 -0800 (PST) (envelope-from peter@freebsd.org) Date: Thu, 1 Apr 2004 22:06:08 -0800 (PST) Message-Id: <200404020606.i32668W4080961@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 50167 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: Fri, 02 Apr 2004 06:06:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=50167 Change 50167 by peter@peter_hammer on 2004/04/01 22:05:31 implement *_lookup_set(). Whew, its nice to see things get smaller sometimes. Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#23 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#23 (text+ko) ==== @@ -806,62 +806,30 @@ link_elf_lookup_set(linker_file_t lf, const char *name, void ***startp, void ***stopp, int *countp) { - c_linker_sym_t sym; - linker_symval_t symval; - char *setsym; + elf_file_t ef = (elf_file_t)lf; void **start, **stop; - int len, error = 0, count; + int i, count; printf("lookup_set: name %s\n", name); - len = strlen(name) + sizeof("__start_set_"); /* sizeof includes \0 */ - setsym = malloc(len, M_LINKER, M_WAITOK); - if (setsym == NULL) - return ENOMEM; - - /* get address of first entry */ - snprintf(setsym, len, "%s%s", "__start_set_", name); - error = link_elf_lookup_symbol(lf, setsym, &sym); -printf("symbol %s result %d\n", setsym, error); - if (error) - goto out; - link_elf_symbol_values(lf, sym, &symval); -printf("value %p\n", symval.value); - if (symval.value == 0) { - error = ESRCH; - goto out; + /* Relative to section number */ + for (i = 0; i < ef->nprogtab; i++) { + if ((strncmp(ef->progtab[i].name, "set_", 4) == 0) && + strcmp(ef->progtab[i].name + 4, name) == 0) { + start = (void **)ef->progtab[i].addr; + stop = (void **)((char *)ef->progtab[i].addr + ef->progtab[i].filesz); + count = stop - start; +printf("FOUND: section %d start %p stop %p count %d\n", i, start, stop, count); + if (startp) + *startp = start; + if (stopp) + *stopp = stop; + if (countp) + *countp = count; + return (0); + } } - start = (void **)symval.value; - - /* get address of last entry */ - snprintf(setsym, len, "%s%s", "__stop_set_", name); - error = link_elf_lookup_symbol(lf, setsym, &sym); -printf("symbol %s result %d\n", setsym, error); - if (error) - goto out; - link_elf_symbol_values(lf, sym, &symval); -printf("value %p\n", symval.value); - if (symval.value == 0) { - error = ESRCH; - goto out; - } - stop = (void **)symval.value; - - /* and the number of entries */ - count = stop - start; - - /* and copy out */ - if (startp) - *startp = start; - if (stopp) - *stopp = stop; - if (countp) - *countp = count; - -printf("lookup_set: success\n"); - out: - free(setsym, M_LINKER); - return error; + return (ESRCH); } static int From owner-p4-projects@FreeBSD.ORG Thu Apr 1 22:08:12 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AE78716A4D0; Thu, 1 Apr 2004 22:08:12 -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 8AA1316A4CE for ; Thu, 1 Apr 2004 22:08:12 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8312B43D39 for ; Thu, 1 Apr 2004 22:08:12 -0800 (PST) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i3268CGe081050 for ; Thu, 1 Apr 2004 22:08:12 -0800 (PST) (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i3268CjE081047 for perforce@freebsd.org; Thu, 1 Apr 2004 22:08:12 -0800 (PST) (envelope-from scottl@freebsd.org) Date: Thu, 1 Apr 2004 22:08:12 -0800 (PST) Message-Id: <200404020608.i3268CjE081047@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Subject: PERFORCE change 50168 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: Fri, 02 Apr 2004 06:08:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=50168 Change 50168 by scottl@scottl-esp-sparc64 on 2004/04/01 22:07:50 Import the ESP driver core (ncr53c9x), dma engine (lsi64854), and sbus attachment from NetBSD. A couple of these files are a few months more, but not significant bug fixes have been missed. Affected files ... .. //depot/projects/scottl-esp/src/sys/dev/esp/esp_sbus.c#1 add .. //depot/projects/scottl-esp/src/sys/dev/esp/lsi64854.c#1 add .. //depot/projects/scottl-esp/src/sys/dev/esp/lsi64854reg.h#1 add .. //depot/projects/scottl-esp/src/sys/dev/esp/lsi64854var.h#1 add .. //depot/projects/scottl-esp/src/sys/dev/esp/ncr53c9x.c#1 add .. //depot/projects/scottl-esp/src/sys/dev/esp/ncr53c9xreg.h#1 add .. //depot/projects/scottl-esp/src/sys/dev/esp/ncr53c9xvar.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Apr 1 22:17:24 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A516B16A4D1; Thu, 1 Apr 2004 22:17:24 -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 4E45016A4CF for ; Thu, 1 Apr 2004 22:17:24 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4229C43D45 for ; Thu, 1 Apr 2004 22:17:24 -0800 (PST) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i326HOGe083227 for ; Thu, 1 Apr 2004 22:17:24 -0800 (PST) (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i326HNfC083224 for perforce@freebsd.org; Thu, 1 Apr 2004 22:17:23 -0800 (PST) (envelope-from scottl@freebsd.org) Date: Thu, 1 Apr 2004 22:17:23 -0800 (PST) Message-Id: <200404020617.i326HNfC083224@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Subject: PERFORCE change 50169 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: Fri, 02 Apr 2004 06:17:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=50169 Change 50169 by scottl@scottl-esp-sparc64 on 2004/04/01 22:16:27 Start out with some mechanical changes. Remove __P, reference headers in the right spot, remove the need for the dma engine to have it's own attachment, block out some code that likely need to go away. Affected files ... .. //depot/projects/scottl-esp/src/sys/dev/esp/esp_sbus.c#2 edit .. //depot/projects/scottl-esp/src/sys/dev/esp/lsi64854.c#2 edit .. //depot/projects/scottl-esp/src/sys/dev/esp/lsi64854var.h#2 edit .. //depot/projects/scottl-esp/src/sys/dev/esp/ncr53c9xvar.h#2 edit Differences ... ==== //depot/projects/scottl-esp/src/sys/dev/esp/esp_sbus.c#2 (text+ko) ==== @@ -46,28 +46,28 @@ #include #include -#include -#include -#include -#include +#include +#include +#include #include -#include -#include +#include -#include -#include +#include +#include -#include -#include +#include +#include -#include +#include /* #define ESP_SBUS_DEBUG */ struct esp_softc { struct ncr53c9x_softc sc_ncr53c9x; /* glue to MI code */ +#if 0 struct sbusdev sc_sd; /* sbus device */ +#endif bus_space_tag_t sc_bustag; bus_dma_tag_t sc_dmatag; @@ -78,9 +78,9 @@ int sc_pri; /* SBUS priority */ }; -void espattach_sbus __P((struct device *, struct device *, void *)); -void espattach_dma __P((struct device *, struct device *, void *)); -int espmatch_sbus __P((struct device *, struct cfdata *, void *)); +void espattach_sbus(struct device *, struct device *, void *); +void espattach_dma(struct device *, struct device *, void *); +int espmatch_sbus(struct device *, struct cfdata *, void *); CFATTACH_DECL(esp_sbus, sizeof(struct esp_softc), @@ -92,18 +92,18 @@ /* * Functions and the switch for the MI code. */ -static u_char esp_read_reg __P((struct ncr53c9x_softc *, int)); -static void esp_write_reg __P((struct ncr53c9x_softc *, int, u_char)); -static u_char esp_rdreg1 __P((struct ncr53c9x_softc *, int)); -static void esp_wrreg1 __P((struct ncr53c9x_softc *, int, u_char)); -static int esp_dma_isintr __P((struct ncr53c9x_softc *)); -static void esp_dma_reset __P((struct ncr53c9x_softc *)); -static int esp_dma_intr __P((struct ncr53c9x_softc *)); -static int esp_dma_setup __P((struct ncr53c9x_softc *, caddr_t *, - size_t *, int, size_t *)); -static void esp_dma_go __P((struct ncr53c9x_softc *)); -static void esp_dma_stop __P((struct ncr53c9x_softc *)); -static int esp_dma_isactive __P((struct ncr53c9x_softc *)); +static u_char esp_read_reg(struct ncr53c9x_softc *, int); +static void esp_write_reg(struct ncr53c9x_softc *, int, u_char); +static u_char esp_rdreg1(struct ncr53c9x_softc *, int); +static void esp_wrreg1(struct ncr53c9x_softc *, int, u_char); +static int esp_dma_isintr(struct ncr53c9x_softc *); +static void esp_dma_reset(struct ncr53c9x_softc *); +static int esp_dma_intr(struct ncr53c9x_softc *); +static int esp_dma_setup(struct ncr53c9x_softc *, caddr_t *, size_t *, + int, size_t *); +static void esp_dma_go(struct ncr53c9x_softc *); +static void esp_dma_stop(struct ncr53c9x_softc *); +static int esp_dma_isactive(struct ncr53c9x_softc *); static struct ncr53c9x_glue esp_sbus_glue = { esp_read_reg, @@ -131,7 +131,7 @@ NULL, /* gl_clear_latched_intr */ }; -static void espattach __P((struct esp_softc *, struct ncr53c9x_glue *)); +static void espattach(struct esp_softc *, struct ncr53c9x_glue *); int espmatch_sbus(parent, cf, aux) @@ -278,9 +278,11 @@ esc->sc_pri = sa->sa_pri; +#if 0 /* add me to the sbus structures */ esc->sc_sd.sd_reset = (void *) ncr53c9x_reset; sbus_establish(&esc->sc_sd, &sc->sc_dev); +#endif espattach(esc, &esp_sbus_glue); @@ -344,9 +346,11 @@ esc->sc_pri = sa->sa_pri; +#if 0 /* add me to the sbus structures */ esc->sc_sd.sd_reset = (void *) ncr53c9x_reset; sbus_establish(&esc->sc_sd, &sc->sc_dev); +#endif if (strcmp("ptscII", sa->sa_name) == 0) { espattach(esc, &esp_sbus_glue1); @@ -405,9 +409,11 @@ esc->sc_pri = sa->sa_pri; +#if 0 /* Assume SBus is grandparent */ esc->sc_sd.sd_reset = (void *) ncr53c9x_reset; sbus_establish(&esc->sc_sd, parent); +#endif espattach(esc, &esp_sbus_glue); } @@ -721,7 +727,7 @@ #include #include -void db_esp __P((db_expr_t, int, db_expr_t, char*)); +void db_esp(db_expr_t, int, db_expr_t, char*); void db_esp(addr, have_addr, count, modif) ==== //depot/projects/scottl-esp/src/sys/dev/esp/lsi64854.c#2 (text+ko) ==== @@ -62,11 +62,11 @@ #include #include -void lsi64854_reset __P((struct lsi64854_softc *)); -int lsi64854_setup __P((struct lsi64854_softc *, caddr_t *, size_t *, - int, size_t *)); -int lsi64854_setup_pp __P((struct lsi64854_softc *, caddr_t *, size_t *, - int, size_t *)); +void lsi64854_reset(struct lsi64854_softc *); +int lsi64854_setup(struct lsi64854_softc *, caddr_t *, size_t *, + int, size_t *); +int lsi64854_setup_pp(struct lsi64854_softc *, caddr_t *, size_t *, + int, size_t *); #ifdef DEBUG #define LDB_SCSI 1 @@ -97,6 +97,8 @@ { u_int32_t csr; + sc->dv_name = device_get_nameunit(sc->sc_client); + /* Indirect functions */ switch (sc->sc_channel) { case L64854_CHANNEL_SCSI: @@ -110,14 +112,14 @@ sc->setup = lsi64854_setup_pp; break; default: - printf("%s: unknown channel\n", sc->sc_dev.dv_xname); + printf("%s: unknown channel\n", sc->dv_name); } sc->reset = lsi64854_reset; /* Allocate a dmamap */ if (bus_dmamap_create(sc->sc_dmatag, MAX_DMA_SZ, 1, MAX_DMA_SZ, 0, BUS_DMA_WAITOK, &sc->sc_dmamap) != 0) { - printf("%s: DMA map create failed\n", sc->sc_dev.dv_xname); + printf("%s: DMA map create failed\n", sc->dv_name); return; } @@ -336,8 +338,7 @@ *sc->sc_dmaaddr, sc->sc_dmasize, NULL /* kernel address */, BUS_DMA_NOWAIT | BUS_DMA_STREAMING)) - panic("%s: cannot allocate DVMA address", - sc->sc_dev.dv_xname); + panic("%s: cannot allocate DVMA address", sc->dv_name); bus_dmamap_sync(sc->sc_dmatag, sc->sc_dmamap, 0, sc->sc_dmasize, datain ? BUS_DMASYNC_PREREAD @@ -393,12 +394,12 @@ csr = L64854_GCSR(sc); - DPRINTF(LDB_SCSI, ("%s: dmaintr: addr 0x%x, csr %s\n", sc->sc_dev.dv_xname, + DPRINTF(LDB_SCSI, ("%s: dmaintr: addr 0x%x, csr %s\n", sc->dv_name, bus_space_read_4(sc->sc_bustag, sc->sc_regs, L64854_REG_ADDR), bitmask_snprintf(csr, DDMACSR_BITS, bits, sizeof(bits)))); if (csr & (D_ERR_PEND|D_SLAVE_ERR)) { - printf("%s: error: csr=%s\n", sc->sc_dev.dv_xname, + printf("%s: error: csr=%s\n", sc->dv_name, bitmask_snprintf(csr, DDMACSR_BITS, bits,sizeof(bits))); csr &= ~D_EN_DMA; /* Stop DMA */ /* Invalidate the queue; SLAVE_ERR bit is write-to-clear */ @@ -468,8 +469,8 @@ * if the ESP is reselected while using DMA to select * another target. As such, don't print the warning. */ - printf("%s: xfer (%d) > req (%d)\n", - sc->sc_dev.dv_xname, trans, sc->sc_dmasize); + printf("%s: xfer (%d) > req (%d)\n", sc->dv_name, trans, + sc->sc_dmasize); #endif trans = sc->sc_dmasize; } @@ -523,7 +524,7 @@ rv = ((csr & E_INT_PEND) != 0) ? 1 : 0; if (csr & (E_ERR_PEND|E_SLAVE_ERR)) { - printf("%s: error: csr=%s\n", sc->sc_dev.dv_xname, + printf("%s: error: csr=%s\n", sc->dv_name, bitmask_snprintf(csr, EDMACSR_BITS, bits,sizeof(bits))); csr &= ~L64854_EN_DMA; /* Stop DMA */ /* Invalidate the queue; SLAVE_ERR bit is write-to-clear */ @@ -563,7 +564,7 @@ sc->sc_dmaaddr = addr; sc->sc_dmalen = len; - DPRINTF(LDB_PP, ("%s: pp start %ld@%p,%d\n", sc->sc_dev.dv_xname, + DPRINTF(LDB_PP, ("%s: pp start %ld@%p,%d\n", sc->dv_name, (long)*sc->sc_dmalen, *sc->sc_dmaaddr, datain ? 1 : 0)); /* @@ -584,7 +585,7 @@ NULL /* kernel address */, BUS_DMA_NOWAIT/*|BUS_DMA_COHERENT*/)) panic("%s: pp cannot allocate DVMA address", - sc->sc_dev.dv_xname); + sc->dv_name); bus_dmamap_sync(sc->sc_dmatag, sc->sc_dmamap, 0, sc->sc_dmasize, datain ? BUS_DMASYNC_PREREAD @@ -632,15 +633,14 @@ csr = L64854_GCSR(sc); - DPRINTF(LDB_PP, ("%s: pp intr: addr 0x%x, csr %s\n", sc->sc_dev.dv_xname, + DPRINTF(LDB_PP, ("%s: pp intr: addr 0x%x, csr %s\n", sc->dv_name, bus_space_read_4(sc->sc_bustag, sc->sc_regs, L64854_REG_ADDR), bitmask_snprintf(csr, PDMACSR_BITS, bits, sizeof(bits)))); if (csr & (P_ERR_PEND|P_SLAVE_ERR)) { resid = bus_space_read_4(sc->sc_bustag, sc->sc_regs, L64854_REG_CNT); - printf("%s: pp error: resid %d csr=%s\n", sc->sc_dev.dv_xname, - resid, + printf("%s: pp error: resid %d csr=%s\n", sc->dv_name, resid, bitmask_snprintf(csr, PDMACSR_BITS, bits,sizeof(bits))); csr &= ~P_EN_DMA; /* Stop DMA */ /* Invalidate the queue; SLAVE_ERR bit is write-to-clear */ ==== //depot/projects/scottl-esp/src/sys/dev/esp/lsi64854var.h#2 (text+ko) ==== @@ -37,7 +37,7 @@ */ struct lsi64854_softc { - struct device sc_dev; /* base device */ + char *dv_name; bus_space_tag_t sc_bustag; /* bus tags */ bus_dma_tag_t sc_dmatag; @@ -53,17 +53,19 @@ int sc_active; /* DMA active ? */ bus_dmamap_t sc_dmamap; /* DMA map for bus_dma_* */ +#ifdef NOT_NEEDED caddr_t sc_dvmaaddr; /* DVMA cookie */ +#endif size_t sc_dmasize; caddr_t *sc_dmaaddr; size_t *sc_dmalen; - void (*reset) __P((struct lsi64854_softc *));/* reset routine */ - int (*setup) __P((struct lsi64854_softc *, caddr_t *, size_t *, - int, size_t *)); /* DMA setup */ - int (*intr) __P((void *)); /* interrupt handler */ + void (*reset)(struct lsi64854_softc *);/* reset routine */ + int (*setup)(struct lsi64854_softc *, caddr_t *, size_t *, + int, size_t *); /* DMA setup */ + int (*intr)(void *); /* interrupt handler */ - int (*sc_intrchain) __P((void *)); /* next handler in intr chain */ + int (*sc_intrchain)(void *); /* next handler in intr chain */ void *sc_intrchainarg; /* arg for next intr handler */ u_int sc_dmactl; @@ -101,7 +103,7 @@ } while (0) -void lsi64854_attach __P((struct lsi64854_softc *)); -int lsi64854_scsi_intr __P((void *)); -int lsi64854_enet_intr __P((void *)); -int lsi64854_pp_intr __P((void *)); +void lsi64854_attach(struct lsi64854_softc *); +int lsi64854_scsi_intr(void *); +int lsi64854_enet_intr(void *); +int lsi64854_pp_intr(void *); ==== //depot/projects/scottl-esp/src/sys/dev/esp/ncr53c9xvar.h#2 (text+ko) ==== @@ -109,7 +109,7 @@ */ struct ncr53c9x_ecb { TAILQ_ENTRY(ncr53c9x_ecb) chain; - struct scsipi_xfer *xs; /* SCSI xfer ctrl block from above */ + union ccb *ccb; /* SCSI xfer ctrl block from above */ int flags; #define ECB_ALLOC 0x01 #define ECB_READY 0x02 @@ -272,8 +272,8 @@ struct device sc_dev; /* us as a device */ struct evcnt sc_intrcnt; /* intr count */ - struct scsipi_adapter sc_adapter; /* out scsipi adapter */ - struct scsipi_channel sc_channel; /* our scsipi channel */ + struct cam_sim *sim; /* our scsi adapter */ + struct cam_path *path; /* our scsi channel */ struct device *sc_child; /* attached scsibus, if any */ struct callout sc_watchdog; /* periodic timer */ @@ -443,12 +443,11 @@ #define ncr53c9x_cpb2stp(sc, cpb) \ ((250 * (cpb)) / (sc)->sc_freq) -void ncr53c9x_attach __P((struct ncr53c9x_softc *)); -int ncr53c9x_detach __P((struct ncr53c9x_softc *, int)); -void ncr53c9x_scsipi_request __P((struct scsipi_channel *chan, - scsipi_adapter_req_t req, void *)); -void ncr53c9x_reset __P((struct ncr53c9x_softc *)); -int ncr53c9x_intr __P((void *)); -void ncr53c9x_init __P((struct ncr53c9x_softc *, int)); +void ncr53c9x_attach(struct ncr53c9x_softc *); +int ncr53c9x_detach(struct ncr53c9x_softc *, int); +void ncr53c9x_action(struct cam_sim *, union *); +void ncr53c9x_reset(struct ncr53c9x_softc *); +int ncr53c9x_intr(void *); +void ncr53c9x_init(struct ncr53c9x_softc *, int); #endif /* _DEV_IC_NCR53C9XVAR_H_ */ From owner-p4-projects@FreeBSD.ORG Thu Apr 1 23:23:45 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C242E16A4D0; Thu, 1 Apr 2004 23:23:44 -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 7DAAB16A4CE for ; Thu, 1 Apr 2004 23:23:44 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7614143D53 for ; Thu, 1 Apr 2004 23:23:44 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i327NiGe098534 for ; Thu, 1 Apr 2004 23:23:44 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i327Niak098531 for perforce@freebsd.org; Thu, 1 Apr 2004 23:23:44 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 1 Apr 2004 23:23:44 -0800 (PST) Message-Id: <200404020723.i327Niak098531@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50170 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: Fri, 02 Apr 2004 07:23:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=50170 Change 50170 by marcel@marcel_nfs on 2004/04/01 23:22:49 Don't check whether the debug port is also the console. Since we're comparing the package handle, we're getting false positives if the serial device has multiple channels. Affected files ... .. //depot/projects/gdb/sys/dev/uart/uart_cpu_sparc64.c#6 edit Differences ... ==== //depot/projects/gdb/sys/dev/uart/uart_cpu_sparc64.c#6 (text+ko) ==== @@ -121,11 +121,6 @@ return (-1); if (strcmp(buf, "serial") != 0) return (-1); - /* Rudimentary sanity check: the debug port cannot be the console. */ - if (OF_getprop(options, "input-device", buf, sizeof(buf)) == -1) - return (input); - if (OF_finddevice(buf) == input) - return (-1); return (input); } From owner-p4-projects@FreeBSD.ORG Thu Apr 1 23:40:06 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E2D9C16A4D0; Thu, 1 Apr 2004 23:40:05 -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 A47C416A4CE for ; Thu, 1 Apr 2004 23:40:05 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 982FD43D46 for ; Thu, 1 Apr 2004 23:40:05 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i327e5Ge003238 for ; Thu, 1 Apr 2004 23:40:05 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i327e5j1003235 for perforce@freebsd.org; Thu, 1 Apr 2004 23:40:05 -0800 (PST) (envelope-from peter@freebsd.org) Date: Thu, 1 Apr 2004 23:40:05 -0800 (PST) Message-Id: <200404020740.i327e5j1003235@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 50172 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: Fri, 02 Apr 2004 07:40:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=50172 Change 50172 by peter@peter_hammer on 2004/04/01 23:39:42 This commit brought to you by: link_elf_obj.c line 629: printf("HOLY SHIT! WE MADE IT!!!\n"); Translation: I just loaded a kernel module and it worked! Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#17 edit .. //depot/projects/hammer/sys/kern/kern_linker.c#10 edit .. //depot/projects/hammer/sys/kern/link_elf.c#16 edit .. //depot/projects/hammer/sys/kern/link_elf_obj.c#24 edit .. //depot/projects/hammer/sys/sys/linker.h#11 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#17 (text+ko) ==== @@ -104,9 +104,8 @@ /* Process one elf relocation with addend. */ static int -elf_reloc_internal(linker_file_t lf, const void *data, int type, int local, elf_lookup_fn lu) +elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, int local, elf_lookup_fn lu) { - Elf_Addr relocbase = (Elf_Addr) lf->address; Elf64_Addr *where; Elf32_Addr *where32, val32; Elf_Addr addr; @@ -115,7 +114,7 @@ const Elf_Rel *rel; const Elf_Rela *rela; -printf("elf_reloc_internal: data %p, local %d\n", data, local); +printf("elf_reloc_internal: relocbase 0x%lx, data %p, local %d\n", relocbase, data, local); switch (type) { case ELF_RELOC_REL: rel = (const Elf_Rel *)data; @@ -138,6 +137,7 @@ } printf("where %p, addend 0x%lx, rtype %ld, symindx %ld\n", where, addend, rtype, symidx); +#if 0 if (local) { if (rtype == R_X86_64_RELATIVE) { /* A + B */ addr = relocbase + addend; @@ -148,9 +148,17 @@ } return (0); } +#endif switch (rtype) { + case R_X86_64_RELATIVE: + addr = relocbase + addend; +printf("R_X86_64_RELATIVE: addr 0x%lx\n", addr); + if (*where != addr) + *where = addr; + break; + case R_X86_64_NONE: /* none */ printf("R_X86_64_NONE\n"); break; @@ -213,8 +221,10 @@ printf("*where = 0x%lx\n", *where); break; +#if 0 case R_X86_64_RELATIVE: /* B + A */ break; +#endif default: printf("kldload: unexpected relocation type %ld\n", @@ -225,17 +235,17 @@ } int -elf_reloc(linker_file_t lf, const void *data, int type, elf_lookup_fn lu) +elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, elf_lookup_fn lu) { - return (elf_reloc_internal(lf, data, type, 0, lu)); + return (elf_reloc_internal(lf, relocbase, data, type, 0, lu)); } int -elf_reloc_local(linker_file_t lf, const void *data, int type, elf_lookup_fn lu) +elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, elf_lookup_fn lu) { - return (elf_reloc_internal(lf, data, type, 1, lu)); + return (elf_reloc_internal(lf, relocbase, data, type, 1, lu)); } int ==== //depot/projects/hammer/sys/kern/kern_linker.c#10 (text+ko) ==== @@ -55,6 +55,8 @@ int kld_debug = 0; #endif +extern int biteme; + /* * static char *linker_search_path(const char *name, struct mod_depend * *verinfo); @@ -291,7 +293,14 @@ } else return (0); } +if (biteme) printf("linker_file_register_modules: start %p, stop %p\n", start, stop); for (mdp = start; mdp < stop; mdp++) { +if (biteme) printf("mdp = %p\n", mdp); +if (biteme) printf("*mdp = %p\n", *mdp); +if ((*mdp) == NULL) { +printf("bugging out! continue!\n"); +continue; +} if ((*mdp)->md_type != MDT_MODULE) continue; moddata = (*mdp)->md_data; @@ -1717,7 +1726,14 @@ if (linker_file_lookup_set(lf, MDT_SETNAME, &start, &stop, &count) != 0) return (0); +if (biteme) printf("linker_load_dependencies: start %p, stop %p\n", start, stop); for (mdp = start; mdp < stop; mdp++) { +if (biteme) printf("mdp = %p\n", mdp); +if (biteme) printf("*mdp = %p\n", *mdp); +if ((*mdp) == NULL) { +printf("bugging out! continue!\n"); +continue; +} mp = *mdp; if (mp->md_type != MDT_VERSION) continue; ==== //depot/projects/hammer/sys/kern/link_elf.c#16 (text+ko) ==== @@ -929,7 +929,7 @@ if (rel) { rellim = (const Elf_Rel *)((const char *)ef->rel + ef->relsize); while (rel < rellim) { - if (elf_reloc(&ef->lf, rel, ELF_RELOC_REL, elf_lookup)) { + if (elf_reloc(&ef->lf, (Elf_Addr)ef->address, rel, ELF_RELOC_REL, elf_lookup)) { symname = symbol_name(ef, rel->r_info); printf("link_elf: symbol %s undefined\n", symname); return ENOENT; @@ -943,7 +943,7 @@ if (rela) { relalim = (const Elf_Rela *)((const char *)ef->rela + ef->relasize); while (rela < relalim) { - if (elf_reloc(&ef->lf, rela, ELF_RELOC_RELA, elf_lookup)) { + if (elf_reloc(&ef->lf, (Elf_Addr)ef->address, rela, ELF_RELOC_RELA, elf_lookup)) { symname = symbol_name(ef, rela->r_info); printf("link_elf: symbol %s undefined\n", symname); return ENOENT; @@ -957,7 +957,7 @@ if (rel) { rellim = (const Elf_Rel *)((const char *)ef->pltrel + ef->pltrelsize); while (rel < rellim) { - if (elf_reloc(&ef->lf, rel, ELF_RELOC_REL, elf_lookup)) { + if (elf_reloc(&ef->lf, (Elf_Addr)ef->address, rel, ELF_RELOC_REL, elf_lookup)) { symname = symbol_name(ef, rel->r_info); printf("link_elf: symbol %s undefined\n", symname); return ENOENT; @@ -971,7 +971,7 @@ if (rela) { relalim = (const Elf_Rela *)((const char *)ef->pltrela + ef->pltrelasize); while (rela < relalim) { - if (elf_reloc(&ef->lf, rela, ELF_RELOC_RELA, elf_lookup)) { + if (elf_reloc(&ef->lf, (Elf_Addr)ef->address, rela, ELF_RELOC_RELA, elf_lookup)) { symname = symbol_name(ef, rela->r_info); printf("link_elf: symbol %s undefined\n", symname); return ENOENT; @@ -1298,7 +1298,7 @@ if ((rel = ef->rel) != NULL) { rellim = (const Elf_Rel *)((const char *)ef->rel + ef->relsize); while (rel < rellim) { - elf_reloc_local(lf, rel, ELF_RELOC_REL, elf_lookup); + elf_reloc_local(lf, (Elf_Addr)ef->address, rel, ELF_RELOC_REL, elf_lookup); rel++; } } @@ -1307,7 +1307,7 @@ if ((rela = ef->rela) != NULL) { relalim = (const Elf_Rela *)((const char *)ef->rela + ef->relasize); while (rela < relalim) { - elf_reloc_local(lf, rela, ELF_RELOC_RELA, elf_lookup); + elf_reloc_local(lf, (Elf_Addr)ef->address, rela, ELF_RELOC_RELA, elf_lookup); rela++; } } ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#24 (text+ko) ==== @@ -58,6 +58,8 @@ #include "linker_if.h" +int biteme = 0; + typedef struct { void *addr; Elf_Off fileoff; @@ -81,12 +83,14 @@ Elf_Rel *rel; Elf_Off fileoff; Elf_Off filesz; + int sec; } Elf_relent; typedef struct { Elf_Rela *rela; Elf_Off fileoff; Elf_Off filesz; + int sec; } Elf_relaent; @@ -290,6 +294,7 @@ printf("elf_load_obj: initial checks look ok!\n"); +biteme++; printf("section table read in ok\n"); lf = linker_make_file(filename, &link_elf_class); if (!lf) { @@ -477,6 +482,7 @@ printf("rel %ld allocated at %p\n", shdr[i].sh_size, ef->reltab[rl].rel); ef->reltab[rl].fileoff = shdr[i].sh_offset; ef->reltab[rl].filesz = shdr[i].sh_size; + ef->reltab[rl].sec = shdr[i].sh_info; rl++; break; case SHT_RELA: @@ -484,6 +490,7 @@ printf("rela %ld allocated at %p\n", shdr[i].sh_size, ef->relatab[ra].rela); ef->relatab[ra].fileoff = shdr[i].sh_offset; ef->relatab[ra].filesz = shdr[i].sh_size; + ef->relatab[ra].sec = shdr[i].sh_info; ra++; break; } @@ -631,6 +638,7 @@ VOP_UNLOCK(nd.ni_vp, 0, td); vn_close(nd.ni_vp, FREAD, td->td_ucred, td); +biteme--; return error; } @@ -669,6 +677,27 @@ return NULL; } +static Elf_Addr +findbase(elf_file_t ef, int sec) +{ + int i; + Elf_Addr base = 0; + + for (i = 0; i < ef->nprogtab; i++) { + if (sec == ef->progtab[i].sec) + base = (Elf_Addr)ef->progtab[i].addr; + } + if (base == 0) { + for (i = 0; i < ef->nnobittab; i++) { + if (sec == ef->nobittab[i].sec) + base = (Elf_Addr)ef->nobittab[i].addr; + } + } + if (base == 0) + base = (Elf_Addr)ef->address; + return base; +} + static int relocate_file(elf_file_t ef) { @@ -677,7 +706,10 @@ const Elf_Rela *relalim; const Elf_Rela *rela; const char *symname; + const Elf_Sym *sym; int i; + Elf_Word symidx; + Elf_Addr base; /* Perform relocations without addend if there are any: */ @@ -687,12 +719,19 @@ if (rel) { rellim = (const Elf_Rel *)((const char *)rel + ef->reltab[i].filesz); printf("rellim is %p\n", rellim); + base = findbase(ef, ef->reltab[i].sec); while (rel < rellim) { printf("rel doing: %p\n", rel); - if (elf_reloc(&ef->lf, rel, ELF_RELOC_REL, elf_obj_lookup)) { - symname = symbol_name(ef, rel->r_info); - printf("link_elf: symbol %s undefined\n", symname); - return ENOENT; + symidx = ELF_R_SYM(rel->r_info); + if (symidx < ef->ddbsymcnt) { + sym = ef->ddbsymtab + symidx; + if (ELF64_ST_BIND(sym->st_info) != STB_LOCAL) { + if (elf_reloc(&ef->lf, base, rel, ELF_RELOC_REL, elf_obj_lookup)) { + symname = symbol_name(ef, rel->r_info); + printf("link_elf: symbol %s undefined\n", symname); + return ENOENT; + } + } } rel++; } @@ -706,12 +745,19 @@ if (rela) { relalim = (const Elf_Rela *)((const char *)rela + ef->relatab[i].filesz); printf("relalim is %p\n", relalim); + base = findbase(ef, ef->relatab[i].sec); while (rela < relalim) { printf("rela doing: %p\n", rela); - if (elf_reloc(&ef->lf, rela, ELF_RELOC_RELA, elf_obj_lookup)) { - symname = symbol_name(ef, rela->r_info); - printf("link_elf: symbol %s undefined\n", symname); - return ENOENT; + symidx = ELF_R_SYM(rela->r_info); + if (symidx < ef->ddbsymcnt) { + sym = ef->ddbsymtab + symidx; + if (ELF64_ST_BIND(sym->st_info) != STB_LOCAL) { + if (elf_reloc(&ef->lf, base, rela, ELF_RELOC_RELA, elf_obj_lookup)) { + symname = symbol_name(ef, rela->r_info); + printf("link_elf: symbol %s undefined\n", symname); + return ENOENT; + } + } } rela++; } @@ -946,15 +992,21 @@ } } + + static void link_elf_reloc_local(linker_file_t lf) { + elf_file_t ef = (elf_file_t)lf; const Elf_Rel *rellim; const Elf_Rel *rel; const Elf_Rela *relalim; const Elf_Rela *rela; - elf_file_t ef = (elf_file_t)lf; + const Elf_Sym *sym; + Elf_Addr base; int i; + Elf_Word symidx; + /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nrel; i++) { @@ -963,9 +1015,15 @@ if (rel) { rellim = (const Elf_Rel *)((const char *)rel + ef->reltab[i].filesz); printf("rellim is %p\n", rellim); + base = findbase(ef, ef->reltab[i].sec); while (rel < rellim) { printf("rel doing: %p\n", rel); - elf_reloc_local(lf, rel, ELF_RELOC_REL, elf_obj_lookup); + symidx = ELF_R_SYM(rel->r_info); + if (symidx < ef->ddbsymcnt) { + sym = ef->ddbsymtab + symidx; + if (ELF64_ST_BIND(sym->st_info) == STB_LOCAL) + elf_reloc_local(lf, base, rel, ELF_RELOC_REL, elf_obj_lookup); + } rel++; } } @@ -978,9 +1036,15 @@ if (rela) { relalim = (const Elf_Rela *)((const char *)rela + ef->relatab[i].filesz); printf("relalim is %p\n", relalim); + base = findbase(ef, ef->relatab[i].sec); while (rela < relalim) { printf("rela doing: %p\n", rela); - elf_reloc_local(lf, rela, ELF_RELOC_RELA, elf_obj_lookup); + symidx = ELF_R_SYM(rela->r_info); + if (symidx < ef->ddbsymcnt) { + sym = ef->ddbsymtab + symidx; + if (ELF64_ST_BIND(sym->st_info) == STB_LOCAL) + elf_reloc_local(lf, base, rela, ELF_RELOC_RELA, elf_obj_lookup); + } rela++; } } ==== //depot/projects/hammer/sys/sys/linker.h#11 (text+ko) ==== @@ -244,8 +244,8 @@ typedef Elf_Addr elf_lookup_fn(linker_file_t, Elf_Word, int); /* Support functions */ -int elf_reloc(linker_file_t _lf, const void *_rel, int _type, elf_lookup_fn _lu); -int elf_reloc_local(linker_file_t _lf, const void *_rel, int _type, elf_lookup_fn _lu); +int elf_reloc(linker_file_t _lf, Elf_Addr base, const void *_rel, int _type, elf_lookup_fn _lu); +int elf_reloc_local(linker_file_t _lf, Elf_Addr base, const void *_rel, int _type, elf_lookup_fn _lu); const Elf_Sym *elf_get_sym(linker_file_t _lf, Elf_Word _symidx); const char *elf_get_symname(linker_file_t _lf, Elf_Word _symidx); From owner-p4-projects@FreeBSD.ORG Thu Apr 1 23:45:14 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AD91F16A4D0; Thu, 1 Apr 2004 23:45:13 -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 6EE7616A4CE for ; Thu, 1 Apr 2004 23:45:13 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 61D9943D1D for ; Thu, 1 Apr 2004 23:45:13 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i327jDGe005273 for ; Thu, 1 Apr 2004 23:45:13 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i327jC4x005270 for perforce@freebsd.org; Thu, 1 Apr 2004 23:45:12 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 1 Apr 2004 23:45:12 -0800 (PST) Message-Id: <200404020745.i327jC4x005270@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50174 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: Fri, 02 Apr 2004 07:45:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=50174 Change 50174 by marcel@marcel_nfs on 2004/04/01 23:45:11 IFC @50173 Affected files ... .. //depot/projects/gdb/MAINTAINERS#5 integrate .. //depot/projects/gdb/bin/ps/ps.1#7 integrate .. //depot/projects/gdb/etc/root/dot.cshrc#2 integrate .. //depot/projects/gdb/lib/libc/net/nsdispatch.c#4 integrate .. //depot/projects/gdb/lib/libc/stdlib/getopt_long.c#4 integrate .. //depot/projects/gdb/sbin/ffsinfo/Makefile#2 integrate .. //depot/projects/gdb/sbin/growfs/Makefile#2 integrate .. //depot/projects/gdb/share/man/man9/mbuf.9#4 integrate .. //depot/projects/gdb/sys/alpha/alpha/machdep.c#6 integrate .. //depot/projects/gdb/sys/conf/files#10 integrate .. //depot/projects/gdb/sys/conf/files.i386#9 integrate .. //depot/projects/gdb/sys/conf/majors#4 integrate .. //depot/projects/gdb/sys/dev/acpica/acpi.c#8 integrate .. //depot/projects/gdb/sys/dev/acpica/acpivar.h#6 integrate .. //depot/projects/gdb/sys/dev/uart/uart_cpu_sparc64.c#7 integrate .. //depot/projects/gdb/sys/dev/uart/uart_dev_ns8250.c#2 integrate .. //depot/projects/gdb/sys/dev/uart/uart_kbd_sun.c#2 integrate .. //depot/projects/gdb/sys/dev/usb/usb_subr.c#5 integrate .. //depot/projects/gdb/sys/i386/conf/GENERIC.hints#3 integrate .. //depot/projects/gdb/sys/kern/kern_thr.c#4 integrate .. //depot/projects/gdb/sys/kern/subr_bus.c#5 integrate .. //depot/projects/gdb/sys/kern/sys_process.c#5 integrate .. //depot/projects/gdb/sys/net/if_sl.c#3 integrate .. //depot/projects/gdb/sys/netinet6/udp6_usrreq.c#4 integrate .. //depot/projects/gdb/sys/pc98/conf/NOTES#6 integrate .. //depot/projects/gdb/sys/pci/if_ste.c#5 integrate .. //depot/projects/gdb/sys/powerpc/powermac/grackle.c#3 integrate .. //depot/projects/gdb/usr.sbin/cdcontrol/cdcontrol.c#2 integrate Differences ... ==== //depot/projects/gdb/MAINTAINERS#5 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.84 2004/03/25 20:02:17 scottl Exp $ +$FreeBSD: src/MAINTAINERS,v 1.85 2004/04/01 20:31:48 johan Exp $ subsystem login notes ----------------------------- @@ -114,8 +114,6 @@ lib/libusbhid/Makefile:MAINTAINER= n_hibma@FreeBSD.ORG lib/libz/Makefile:MAINTAINER= peter@FreeBSD.org sbin/dhclient/Makefile.inc:MAINTAINER= murray@FreeBSD.org -sbin/ffsinfo/Makefile:MAINTAINER= tomsoft@FreeBSD.ORG, chm@FreeBSD.ORG -sbin/growfs/Makefile:MAINTAINER= tomsoft@FreeBSD.ORG, chm@FreeBSD.ORG sbin/ipf/Makefile:MAINTAINER= darrenr@freebsd.org sbin/ipfs/Makefile:MAINTAINER= darrenr@freebsd.org sbin/ipfstat/Makefile:MAINTAINER= darrenr@freebsd.org ==== //depot/projects/gdb/bin/ps/ps.1#7 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/ps/ps.1,v 1.73 2004/03/31 23:51:12 gad Exp $ +.\" $FreeBSD: src/bin/ps/ps.1,v 1.74 2004/04/01 13:28:36 gad Exp $ .\" .Dd March 27, 2004 .Dt PS 1 @@ -73,7 +73,7 @@ .Pp A different set of processes can be selected for display by using any combination of the -.Fl a, G , p , T , t +.Fl a , G , p , T , t and .Fl U options. @@ -93,7 +93,7 @@ terminal, then by process .Tn ID . The -.Fl m, r, u, +.Fl m , r , u , and .Fl v options will change the sort order. ==== //depot/projects/gdb/etc/root/dot.cshrc#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/root/dot.cshrc,v 1.28 2001/01/10 02:37:16 archie Exp $ +# $FreeBSD: src/etc/root/dot.cshrc,v 1.29 2004/04/01 19:28:00 krion Exp $ # # .cshrc - csh resource script, read at beginning of execution by each shell # @@ -22,7 +22,7 @@ if ($?prompt) then # An interactive shell -- set some stuff up - set prompt = "`hostname -s`# " + set prompt = "`/bin/hostname -s`# " set filec set history = 100 set savehist = 100 ==== //depot/projects/gdb/lib/libc/net/nsdispatch.c#4 (text+ko) ==== @@ -68,7 +68,7 @@ * */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/nsdispatch.c,v 1.11 2004/03/30 15:56:15 nectar Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/nsdispatch.c,v 1.12 2004/04/01 19:12:45 nectar Exp $"); #include "namespace.h" #include @@ -343,10 +343,8 @@ goto fin2; } _nsyyin = fopen(path, "r"); - if (_nsyyin == NULL) { - result = errno; + if (_nsyyin == NULL) goto fin; - } VECTOR_FREE(_nsmap, &_nsmapsize, sizeof(*_nsmap), (vector_free_elem)ns_dbt_free); VECTOR_FREE(_nsmod, &_nsmodsize, sizeof(*_nsmod), ==== //depot/projects/gdb/lib/libc/stdlib/getopt_long.c#4 (text+ko) ==== @@ -62,7 +62,7 @@ #endif /* LIBC_SCCS and not lint */ #endif #include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/getopt_long.c,v 1.9 2004/03/06 14:24:10 ache Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/getopt_long.c,v 1.11 2004/04/01 22:32:28 ache Exp $"); #include #include @@ -107,7 +107,7 @@ static int getopt_internal(int, char * const *, const char *, const struct option *, int *, int); static int parse_long_options(char * const *, const char *, - const struct option *, int *, int); + const struct option *, int *, int, int); static int gcd(int, int); static void permute_args(int, int, int, char * const *); @@ -197,14 +197,14 @@ */ static int parse_long_options(char * const *nargv, const char *options, - const struct option *long_options, int *idx, int short_too) + const struct option *long_options, int *idx, int short_too, int flags) { char *current_argv, *has_equal; #ifdef GNU_COMPATIBLE char *current_dash; #endif size_t current_argv_len; - int i, match; + int i, match, exact_match, second_partial_match; current_argv = place; #ifdef GNU_COMPATIBLE @@ -224,6 +224,8 @@ } #endif match = -1; + exact_match = 0; + second_partial_match = 0; optind++; @@ -243,6 +245,7 @@ if (strlen(long_options[i].name) == current_argv_len) { /* exact match */ match = i; + exact_match = 1; break; } /* @@ -252,20 +255,26 @@ if (short_too && current_argv_len == 1) continue; - if (match == -1) /* partial match */ + if (match == -1) /* first partial match */ match = i; - else { - /* ambiguous abbreviation */ - if (PRINT_ERROR) - warnx(ambig, + else if ((flags & FLAG_LONGONLY) || + long_options[i].has_arg != + long_options[match].has_arg || + long_options[i].flag != long_options[match].flag || + long_options[i].val != long_options[match].val) + second_partial_match = 1; + } + if (!exact_match && second_partial_match) { + /* ambiguous abbreviation */ + if (PRINT_ERROR) + warnx(ambig, #ifdef GNU_COMPATIBLE - current_dash, + current_dash, #endif - (int)current_argv_len, - current_argv); - optopt = 0; - return (BADCH); - } + (int)current_argv_len, + current_argv); + optopt = 0; + return (BADCH); } if (match != -1) { /* option found */ if (long_options[match].has_arg == no_argument @@ -492,7 +501,7 @@ short_too = 1; /* could be short option too */ optchar = parse_long_options(nargv, options, long_options, - idx, short_too); + idx, short_too, flags); if (optchar != -1) { place = EMSG; return (optchar); @@ -538,7 +547,7 @@ dash_prefix = W_PREFIX; #endif optchar = parse_long_options(nargv, options, long_options, - idx, 0); + idx, 0, flags); place = EMSG; return (optchar); } ==== //depot/projects/gdb/sbin/ffsinfo/Makefile#2 (text+ko) ==== @@ -1,11 +1,9 @@ # @(#)Makefile 8.8 (Berkeley) 6/21/2000 # # $TSHeader: src/sbin/ffsinfo/Makefile,v 1.3 2000/12/05 19:45:10 tomsoft Exp $ -# $FreeBSD: src/sbin/ffsinfo/Makefile,v 1.6 2003/08/14 18:55:31 rwatson Exp $ +# $FreeBSD: src/sbin/ffsinfo/Makefile,v 1.7 2004/04/01 20:31:48 johan Exp $ # -MAINTAINER= tomsoft@FreeBSD.ORG, chm@FreeBSD.ORG - GROWFS= ${.CURDIR}/../growfs .PATH: ${GROWFS} ==== //depot/projects/gdb/sbin/growfs/Makefile#2 (text+ko) ==== @@ -1,11 +1,9 @@ # @(#)Makefile 8.8 (Berkeley) 6/21/2000 # # $TSHeader: src/sbin/growfs/Makefile,v 1.4 2000/12/05 19:45:24 tomsoft Exp $ -# $FreeBSD: src/sbin/growfs/Makefile,v 1.5 2003/06/11 23:24:31 obrien Exp $ +# $FreeBSD: src/sbin/growfs/Makefile,v 1.6 2004/04/01 20:31:49 johan Exp $ # -MAINTAINER= tomsoft@FreeBSD.ORG, chm@FreeBSD.ORG - #GFSDBG=YES PROG= growfs ==== //depot/projects/gdb/share/man/man9/mbuf.9#4 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/mbuf.9,v 1.42 2004/02/27 17:14:00 ru Exp $ +.\" $FreeBSD: src/share/man/man9/mbuf.9,v 1.45 2004/04/01 07:54:27 ru Exp $ .\" .Dd October 17, 2000 .Dt MBUF 9 @@ -126,6 +126,8 @@ .Fn m_apply "struct mbuf *mbuf" "int off" "int len" "int (*f)(void *arg, void *data, u_int len)" "void *arg" .Ft struct mbuf * .Fn m_getptr "struct mbuf *mbuf" "int loc" "int *off" +.Ft struct mbuf * +.Fn m_defrag "struct mbuf *m0" "int how" .\" .Sh DESCRIPTION An @@ -226,7 +228,7 @@ #define MT_FTABLE 11 /* fragment reassembly header */ #define MT_TAG 13 /* volatile metadata associated to pkts */ #define MT_CONTROL 14 /* extra-data protocol message */ -#define MT_OOBDATA 15 /* expedited data */ +#define MT_OOBDATA 15 /* expedited data */ .Ed .Pp If the @@ -775,7 +777,8 @@ at offset .Fa off , for length -.Fa len bytes . +.Fa len +bytes. Typically used to avoid calls to .Fn m_pullup which would otherwise be unnecessary or undesirable. @@ -806,6 +809,24 @@ .Vt mbuf chain . The corresponding offset into the mbuf will be stored in .Fa *off . +.It Fn m_defrag m0 how +Defragment an mbuf chain, returning the shortest possible +chain of mbufs and clusters. +If allocation fails and this can not be completed, +.Dv NULL +will be returned and the original chain will be unchanged. +Upon success, the original chain will be freed and the new +chain will be returned. +.Fa how +should be either +.Dv M_TRYWAIT +or +.Dv M_DONTWAIT , +depending on the caller's preference. +.Pp +This function is especially useful in network drivers, where +certain long mbuf chains must be shortened before being added +to TX descriptor lists. .El .Sh HARDWARE-ASSISTED CHECKSUM CALCULATION This section currently applies to TCP/IP only. @@ -844,7 +865,7 @@ computing checksums. The .Va csum_flags -field of the packet is set to indicate which actions the interface +field of the packet header is set to indicate which actions the interface is supposed to perform on it. The actions unsupported by the network interface are done in the software prior to passing the packet down to the interface driver; @@ -859,9 +880,11 @@ The hardware is expected to know the format of an IP header to determine the offset of the IP checksum field. .It Dv CSUM_TCP -The TCP checksum is to be computed. (See below.) +The TCP checksum is to be computed. +(See below.) .It Dv CSUM_UDP -The UDP checksum is to be computed. (See below.) +The UDP checksum is to be computed. +(See below.) .El .Pp Should a TCP or UDP checksum be offloaded to the hardware, @@ -953,7 +976,7 @@ to .Li 0xFFFF hexadecimal to indicate a valid checksum. -It's a peculiarity of the algorithm used that the Internet checksum +It is a peculiarity of the algorithm used that the Internet checksum calculated over any valid packet will be .Li 0xFFFF as long as the original checksum field is included. @@ -1005,7 +1028,7 @@ .Sh RETURN VALUES See above. .Sh SEE ALSO -.Xr ifnet 9 . +.Xr ifnet 9 .Sh HISTORY .\" Please correct me if I'm wrong .Vt Mbufs ==== //depot/projects/gdb/sys/alpha/alpha/machdep.c#6 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.218 2004/03/01 19:19:15 kensmith Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.219 2004/04/01 20:56:43 jhb Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -1909,10 +1909,9 @@ if (td->td_md.md_flags & (MDTD_STEP1|MDTD_STEP2)) panic("ptrace_single_step: step breakpoints not removed"); - PROC_UNLOCK(td->td_proc); error = ptrace_read_int(td, pc, &ins.bits); if (error) - goto err; + return (error); switch (ins.branch_format.opcode) { @@ -1952,20 +1951,18 @@ td->td_md.md_sstep[0].addr = addr[0]; error = ptrace_set_bpt(td, &td->td_md.md_sstep[0]); if (error) - goto err; + return (error); if (count == 2) { td->td_md.md_sstep[1].addr = addr[1]; error = ptrace_set_bpt(td, &td->td_md.md_sstep[1]); if (error) { ptrace_clear_bpt(td, &td->td_md.md_sstep[0]); - goto err; + return (error); } td->td_md.md_flags |= MDTD_STEP2; } else td->td_md.md_flags |= MDTD_STEP1; -err: - PROC_LOCK(td->td_proc); return (error); } ==== //depot/projects/gdb/sys/conf/files#10 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.877 2004/03/20 02:14:02 marcel Exp $ +# $FreeBSD: src/sys/conf/files,v 1.880 2004/04/01 17:55:50 des Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -665,6 +665,7 @@ dev/sound/midi/sequencer.c optional seq midi dev/sound/midi/timer.c optional seq midi dev/sound/pci/als4000.c optional pcm pci +#dev/sound/pci/au88x0.c optional pcm pci dev/sound/pci/cmi.c optional pcm pci dev/sound/pci/cs4281.c optional pcm pci dev/sound/pci/csa.c optional csa pci @@ -727,6 +728,11 @@ dev/syscons/warp/warp_saver.c optional warp_saver dev/tdfx/tdfx_pci.c optional tdfx pci dev/trm/trm.c optional trm +dev/twa/twa.c optional twa +dev/twa/twa_cam.c optional twa +dev/twa/twa_freebsd.c optional twa +dev/twa/twa_fwimg.c optional twa +dev/twa/twa_globals.c optional twa dev/twe/twe.c optional twe dev/twe/twe_freebsd.c optional twe dev/tx/if_tx.c optional tx ==== //depot/projects/gdb/sys/conf/files.i386#9 (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.i386,v 1.482 2004/03/30 03:45:59 vkashyap Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.483 2004/04/01 10:02:50 des Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -170,11 +170,6 @@ dev/syscons/scvtb.c optional sc dev/syscons/syscons.c optional sc dev/syscons/sysmouse.c optional sc -dev/twa/twa.c optional twa -dev/twa/twa_cam.c optional twa -dev/twa/twa_freebsd.c optional twa -dev/twa/twa_fwimg.c optional twa -dev/twa/twa_globals.c optional twa dev/uart/uart_cpu_i386.c optional uart geom/geom_bsd.c standard geom/geom_bsd_enc.c standard ==== //depot/projects/gdb/sys/conf/majors#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/majors,v 1.197 2004/02/23 08:55:12 phk Exp $ +# $FreeBSD: src/sys/conf/majors,v 1.198 2004/04/01 10:00:04 des Exp $ # # This list is semi-obsoleted by DEVFS, but for now it still contains # the current allocation of device major numbers. @@ -90,7 +90,6 @@ 183 *smapi SMAPI BIOS interface 185 ce Cronyx Tau-32 E1 adapter 186 sx Specialix I/O8+ driver -187 twa 3ware Apache ATA RAID (controller) 252 ?? entries from 200-252 are reserved for local use 254 internal Used internally by the kernel 255 bad_choice -1 is 255 which has magic meanings internally ==== //depot/projects/gdb/sys/dev/acpica/acpi.c#8 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.133 2004/03/31 17:35:28 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.134 2004/04/01 04:21:33 njl Exp $ */ #include "opt_acpi.h" @@ -809,82 +809,6 @@ return (0); } -ACPI_HANDLE -acpi_get_handle(device_t dev) -{ - uintptr_t up; - ACPI_HANDLE h; - - if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_HANDLE, &up)) - return(NULL); - h = (ACPI_HANDLE)up; - return (h); -} - -int -acpi_set_handle(device_t dev, ACPI_HANDLE h) -{ - uintptr_t up; - - up = (uintptr_t)h; - return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_HANDLE, up)); -} - -int -acpi_get_magic(device_t dev) -{ - uintptr_t up; - int m; - - if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_MAGIC, &up)) - return(0); - m = (int)up; - return (m); -} - -int -acpi_set_magic(device_t dev, int m) -{ - uintptr_t up; - - up = (uintptr_t)m; - return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_MAGIC, up)); -} - -void * -acpi_get_private(device_t dev) -{ - uintptr_t up; - void *p; - - if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_PRIVATE, &up)) - return (NULL); - p = (void *)up; - return (p); -} - -int -acpi_set_private(device_t dev, void *p) -{ - uintptr_t up; - - up = (uintptr_t)p; - return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_PRIVATE, up)); -} - -ACPI_OBJECT_TYPE -acpi_get_type(device_t dev) -{ - ACPI_HANDLE h; - ACPI_OBJECT_TYPE t; - - if ((h = acpi_get_handle(dev)) == NULL) - return (ACPI_TYPE_NOT_FOUND); - if (AcpiGetType(h, &t) != AE_OK) - return (ACPI_TYPE_NOT_FOUND); - return (t); -} - /* * Handle child resource allocation/removal */ ==== //depot/projects/gdb/sys/dev/acpica/acpivar.h#6 (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/dev/acpica/acpivar.h,v 1.58 2004/03/31 17:23:46 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.59 2004/04/01 04:21:33 njl Exp $ */ #include "bus_if.h" @@ -142,15 +142,75 @@ #define ACPI_IVAR_MAGIC 0x101 #define ACPI_IVAR_PRIVATE 0x102 -extern ACPI_HANDLE acpi_get_handle(device_t dev); -extern int acpi_set_handle(device_t dev, ACPI_HANDLE h); -extern int acpi_get_magic(device_t dev); -extern int acpi_set_magic(device_t dev, int m); -extern void * acpi_get_private(device_t dev); -extern int acpi_set_private(device_t dev, void *p); -extern ACPI_OBJECT_TYPE acpi_get_type(device_t dev); -struct resource * acpi_bus_alloc_gas(device_t dev, int *rid, - ACPI_GENERIC_ADDRESS *gas); +static __inline ACPI_HANDLE +acpi_get_handle(device_t dev) +{ + uintptr_t up; + + if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_HANDLE, &up)) + return (NULL); + return ((ACPI_HANDLE)up); +} + +static __inline int +acpi_set_handle(device_t dev, ACPI_HANDLE h) +{ + uintptr_t up; + + up = (uintptr_t)h; + return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_HANDLE, up)); +} + +static __inline int +acpi_get_magic(device_t dev) +{ + uintptr_t up; + + if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_MAGIC, &up)) + return(0); + return ((int)up); +} + +static __inline int +acpi_set_magic(device_t dev, int m) +{ + uintptr_t up; + + up = (uintptr_t)m; + return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_MAGIC, up)); +} + +static __inline void * +acpi_get_private(device_t dev) +{ + uintptr_t up; + + if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_PRIVATE, &up)) + return (NULL); + return ((void *)up); +} + +static __inline int +acpi_set_private(device_t dev, void *p) +{ + uintptr_t up; + + up = (uintptr_t)p; + return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_PRIVATE, up)); +} + +static __inline ACPI_OBJECT_TYPE +acpi_get_type(device_t dev) +{ + ACPI_HANDLE h; + ACPI_OBJECT_TYPE t; + + if ((h = acpi_get_handle(dev)) == NULL) + return (ACPI_TYPE_NOT_FOUND); + if (AcpiGetType(h, &t) != AE_OK) + return (ACPI_TYPE_NOT_FOUND); + return (t); +} #ifdef ACPI_DEBUGGER extern void acpi_EnterDebugger(void); @@ -196,6 +256,8 @@ extern ACPI_STATUS acpi_Disable(struct acpi_softc *sc); extern void acpi_UserNotify(const char *subsystem, ACPI_HANDLE h, uint8_t notify); +struct resource * acpi_bus_alloc_gas(device_t dev, int *rid, + ACPI_GENERIC_ADDRESS *gas); struct acpi_parse_resource_set { void (*set_init)(device_t dev, void *arg, void **context); ==== //depot/projects/gdb/sys/dev/uart/uart_cpu_sparc64.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_sparc64.c,v 1.8 2004/03/20 02:14:02 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_sparc64.c,v 1.9 2004/04/02 07:33:35 marcel Exp $"); #include #include ==== //depot/projects/gdb/sys/dev/uart/uart_dev_ns8250.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_ns8250.c,v 1.5 2003/09/17 03:11:32 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_ns8250.c,v 1.6 2004/04/02 07:37:28 marcel Exp $"); #include #include @@ -304,6 +304,7 @@ while ((uart_getreg(bas, REG_LSR) & LSR_THRE) == 0 && --limit) DELAY(delay); uart_setreg(bas, REG_DATA, c); + uart_barrier(bas); limit = 40; while ((uart_getreg(bas, REG_LSR) & LSR_TEMT) == 0 && --limit) DELAY(delay); ==== //depot/projects/gdb/sys/dev/uart/uart_kbd_sun.c#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/dev/uart/uart_kbd_sun.c,v 1.1 2003/11/11 07:33:24 jake Exp $ + * $FreeBSD: src/sys/dev/uart/uart_kbd_sun.c,v 1.2 2004/04/02 05:59:06 marcel Exp $ */ #include "opt_kbd.h" @@ -224,7 +224,9 @@ if (sc->sc_sysdev != NULL) { sunkbd_softc.sc_uart = sc; +#ifdef KBD_INSTALL_CDEV kbd_attach(&sunkbd_softc.sc_kbd); +#endif sunkbd_enable(&sunkbd_softc.sc_kbd); swi_add(&tty_ithd, uart_driver_name, sunkbd_uart_intr, ==== //depot/projects/gdb/sys/dev/usb/usb_subr.c#5 (text+ko) ==== @@ -7,7 +7,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/usb_subr.c,v 1.62 2004/03/20 07:31:11 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/usb_subr.c,v 1.63 2004/04/01 18:55:28 julian Exp $"); /* * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -1045,8 +1045,19 @@ up->device = dev; /* Set the address. Do this early; some devices need that. */ - err = usbd_set_address(dev, addr); + /* Try a few times in case the device is slow (i.e. outside specs.) */ DPRINTFN(5,("usbd_new_device: setting device address=%d\n", addr)); + for (i = 0; i < 15; i++) { + err = usbd_set_address(dev, addr); + if (!err) + break; + usbd_delay_ms(dev, 200); + if ((i & 3) == 3) { + DPRINTFN(-1,("usb_new_device: set address %d " + "failed - trying a port reset\n", addr)); + usbd_reset_port(up->parent, port, &ps); + } + } if (err) { DPRINTFN(-1,("usb_new_device: set address %d failed\n", addr)); err = USBD_SET_ADDR_FAILED; @@ -1059,16 +1070,8 @@ bus->devices[addr] = dev; dd = &dev->ddesc; - /* Try a few times in case the device is slow (i.e. outside specs.) */ - for (i = 0; i < 15; i++) { - /* Get the first 8 bytes of the device descriptor. */ - err = usbd_get_desc(dev, UDESC_DEVICE, 0, USB_MAX_IPACKET, dd); - if (!err) - break; - usbd_delay_ms(dev, 200); - if ((i & 3) == 3) - usbd_reset_port(up->parent, port, &ps); - } + /* Get the first 8 bytes of the device descriptor. */ + err = usbd_get_desc(dev, UDESC_DEVICE, 0, USB_MAX_IPACKET, dd); if (err) { DPRINTFN(-1, ("usbd_new_device: addr=%d, getting first desc " "failed\n", addr)); ==== //depot/projects/gdb/sys/i386/conf/GENERIC.hints#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/i386/conf/GENERIC.hints,v 1.12 2004/03/14 22:38:18 imp Exp $ +# $FreeBSD: src/sys/i386/conf/GENERIC.hints,v 1.13 2004/04/01 21:48:31 alfred Exp $ hint.fdc.0.at="isa" hint.fdc.0.port="0x3F0" hint.fdc.0.irq="6" @@ -25,7 +25,6 @@ hint.atkbdc.0.port="0x060" hint.atkbd.0.at="atkbdc" hint.atkbd.0.irq="1" -hint.atkbd.0.flags="0x1" hint.psm.0.at="atkbdc" hint.psm.0.irq="12" hint.vga.0.at="isa" ==== //depot/projects/gdb/sys/kern/kern_thr.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_thr.c,v 1.15 2004/03/27 14:30:43 mtm Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_thr.c,v 1.17 2004/04/02 04:57:40 kris Exp $"); #include #include @@ -81,11 +81,8 @@ /* Clean up cpu resources. */ cpu_thread_exit(td); - /* XXX make thread_unlink() */ - TAILQ_REMOVE(&p->p_threads, td, td_plist); - p->p_numthreads--; - TAILQ_REMOVE(&kg->kg_threads, td, td_kglist); - kg->kg_numthreads--; + /* Unlink the thread from the process and kseg. */ + thread_unlink(td); ke->ke_state = KES_UNQUEUED; ke->ke_thread = NULL; ==== //depot/projects/gdb/sys/kern/subr_bus.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_bus.c,v 1.143 2004/03/24 16:49:37 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_bus.c,v 1.144 2004/04/01 07:18:42 scottl Exp $"); #include "opt_bus.h" @@ -2148,7 +2148,7 @@ error = BUS_SETUP_INTR(dev->parent, dev, r, flags, handler, arg, cookiep); if (error == 0) { - if (!(flags & INTR_MPSAFE)) + if (!(flags & (INTR_MPSAFE | INTR_FAST))) device_printf(dev, "[GIANT-LOCKED]\n"); if (bootverbose && (flags & INTR_MPSAFE)) device_printf(dev, "[MPSAFE]\n"); ==== //depot/projects/gdb/sys/kern/sys_process.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sys_process.c,v 1.119 2004/03/24 23:35:04 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sys_process.c,v 1.120 2004/04/01 20:56:44 jhb Exp $"); #include #include @@ -154,18 +154,21 @@ vm_prot_t reqprot; int error, writing; - GIANT_REQUIRED; - + mtx_lock(&Giant); /* * if the vmspace is in the midst of being deallocated or the * process is exiting, don't try to grab anything. The page table * usage in that process can be messed up. */ vm = p->p_vmspace; - if ((p->p_flag & P_WEXIT)) + if ((p->p_flag & P_WEXIT)) { + mtx_unlock(&Giant); return (EFAULT); - if (vm->vm_refcnt < 1) + } + if (vm->vm_refcnt < 1) { + mtx_unlock(&Giant); return (EFAULT); + } ++vm->vm_refcnt; /* * The map we want... @@ -274,6 +277,7 @@ } while (error == 0 && uio->uio_resid > 0); vmspace_free(vm); + mtx_unlock(&Giant); return (error); } @@ -602,9 +606,7 @@ uio.uio_segflg = UIO_SYSSPACE; /* i.e.: the uap */ uio.uio_rw = write ? UIO_WRITE : UIO_READ; uio.uio_td = td; - mtx_lock(&Giant); error = proc_rwmem(p, &uio); - mtx_unlock(&Giant); if (uio.uio_resid != 0) { /* * XXX proc_rwmem() doesn't currently return ENOSPC, @@ -645,9 +647,7 @@ default: return (EINVAL); } - mtx_lock(&Giant); error = proc_rwmem(p, &uio); - mtx_unlock(&Giant); piod->piod_len -= uio.uio_resid; return (error); ==== //depot/projects/gdb/sys/net/if_sl.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_sl.c 8.6 (Berkeley) 2/1/94 - * $FreeBSD: src/sys/net/if_sl.c,v 1.112 2004/03/31 22:59:56 rwatson Exp $ + * $FreeBSD: src/sys/net/if_sl.c,v 1.113 2004/04/01 23:54:49 rwatson Exp $ */ /* @@ -469,8 +469,10 @@ return (ENXIO); } if (sc->sc_if.if_dunit != unit) { - if (!slisunitfree(unit)) + if (!slisunitfree(unit)) { + splx(s); return (ENXIO); + } wasup = sc->sc_if.if_flags & IFF_UP; bpfdetach(&sc->sc_if); ==== //depot/projects/gdb/sys/netinet6/udp6_usrreq.c#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/udp6_usrreq.c,v 1.46 2004/03/27 21:05:46 pjd Exp $ */ +/* $FreeBSD: src/sys/netinet6/udp6_usrreq.c,v 1.47 2004/04/01 13:48:23 suz Exp $ */ /* $KAME: udp6_usrreq.c,v 1.27 2001/05/21 05:45:10 jinmei Exp $ */ /* @@ -168,9 +168,11 @@ /* * Checksum extended UDP header and data. */ - if (uh->uh_sum == 0) + if (uh->uh_sum == 0) { udpstat.udps_nosum++; - else if (in6_cksum(m, IPPROTO_UDP, off, ulen) != 0) { + goto bad; + } + if (in6_cksum(m, IPPROTO_UDP, off, ulen) != 0) { udpstat.udps_badsum++; goto bad; } ==== //depot/projects/gdb/sys/pc98/conf/NOTES#6 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/pc98/conf/NOTES,v 1.30 2004/03/28 12:06:29 nyan Exp $ +# $FreeBSD: src/sys/pc98/conf/NOTES,v 1.31 2004/04/01 14:23:41 nyan Exp $ # # @@ -775,6 +775,7 @@ nodevice mlx # Mylex DAC960 nodevice amr # AMI MegaRAID nodevice twe # 3ware ATA RAID +nodevice twa # 3ware 9000 series PATA/SATA RAID nodevice ataraid nodevice cm nodevice cs @@ -808,6 +809,8 @@ nooption DPT_LOST_IRQ nooption DPT_RESET_HBA nooption DPT_TIMEOUT_FACTOR >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Apr 1 23:47:17 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 13DF716A4D0; Thu, 1 Apr 2004 23:47:17 -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 C8F5716A4CE for ; Thu, 1 Apr 2004 23:47:16 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id ABA1043D1D for ; Thu, 1 Apr 2004 23:47:16 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i327lGGe005336 for ; Thu, 1 Apr 2004 23:47:16 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i327lG98005333 for perforce@freebsd.org; Thu, 1 Apr 2004 23:47:16 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 1 Apr 2004 23:47:16 -0800 (PST) Message-Id: <200404020747.i327lG98005333@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50175 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: Fri, 02 Apr 2004 07:47:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=50175 Change 50175 by marcel@marcel_nfs on 2004/04/01 23:46:31 Make alpha and sparc64 build again. Need to implement gdb_cpu_getreg() and gdb_cpu_setreg() in both cases. Affected files ... .. //depot/projects/gdb/sys/alpha/alpha/gdb_machdep.c#3 edit .. //depot/projects/gdb/sys/alpha/include/gdb_machdep.h#2 edit .. //depot/projects/gdb/sys/sparc64/include/gdb_machdep.h#3 edit .. //depot/projects/gdb/sys/sparc64/sparc64/gdb_machdep.c#3 edit Differences ... ==== //depot/projects/gdb/sys/alpha/alpha/gdb_machdep.c#3 (text+ko) ==== @@ -38,44 +38,20 @@ #include -uintmax_t -gdb_cpu_getreg(int regnum, struct trapframe *tf) +void * +gdb_cpu_getreg(int regnum, size_t *regsz) { + + *regsz = gdb_cpu_regsz(regnum); switch (regnum) { - case GDB_REG_FP: - break; - case GDB_REG_PC: - break; - case GDB_REG_SP: - break; } - return (0); -} - -ssize_t -gdb_cpu_getregs(struct trapframe *tf, void *buf, size_t bufsz) -{ - struct reg *r = buf; - - if (sizeof(*r) > bufsz) - return (-1); - bzero(r, sizeof(*r)); - return (sizeof(*r)); -} - -int -gdb_cpu_regsz(int regnum) -{ - return (8); /* XXX not really. */ + return (NULL); } void -gdb_cpu_setreg(int regnum, struct trapframe *tf, uintmax_t val) +gdb_cpu_setreg(int regnum, register_t val) { switch (regnum) { - case GDB_REG_FP: break; - case GDB_REG_PC: break; - case GDB_REG_SP: break; } } @@ -113,13 +89,3 @@ } return (SIGILL); } - -void -gdb_cpu_singlestep(int on, struct trapframe *tf) -{ -} - -void -gdb_cpu_trap(int entry, int code, struct trapframe *tf) -{ -} ==== //depot/projects/gdb/sys/alpha/include/gdb_machdep.h#2 (text+ko) ==== @@ -30,9 +30,23 @@ #define _MACHINE_GDB_MACHDEP_H_ #define GDB_BUFSZ 600 +#define GDB_NREGS 67 +#define GDB_REG_PC 64 + +static __inline size_t +gdb_cpu_regsz(int regnum) +{ + return (sizeof(long)); +} + +static __inline int +gdb_cpu_query(void) +{ + return (0); +} -#define GDB_REG_FP 328 -#define GDB_REG_PC 331 -#define GDB_REG_SP 12 +void *gdb_cpu_getreg(int, size_t *); +void gdb_cpu_setreg(int, register_t); +int gdb_cpu_signal(int, int); #endif /* !_MACHINE_GDB_MACHDEP_H_ */ ==== //depot/projects/gdb/sys/sparc64/include/gdb_machdep.h#3 (text+ko) ==== @@ -30,9 +30,28 @@ #define _MACHINE_GDB_MACHDEP_H_ #define GDB_BUFSZ 600 +#define GDB_NREGS 462 +#define GDB_REG_PC 80 -#define GDB_REG_FP 30 -#define GDB_REG_PC 80 -#define GDB_REG_SP 14 +static __inline size_t +gdb_cpu_regsz(int regnum) +{ + return (sizeof(long)); /* XXX not really. */ +} + +static __inline int +gdb_cpu_query(void) +{ + return (0); +} + +static __inline int +gdb_cpu_signal(int vector, int _) +{ + return (vector); +} + +void *gdb_cpu_getreg(int, size_t *); +void gdb_cpu_setreg(int, register_t); #endif /* !_MACHINE_GDB_MACHDEP_H_ */ ==== //depot/projects/gdb/sys/sparc64/sparc64/gdb_machdep.c#3 (text+ko) ==== @@ -38,62 +38,19 @@ #include -uintmax_t -gdb_cpu_getreg(int regnum, struct trapframe *tf) +void * +gdb_cpu_getreg(int regnum, size_t *regsz) { + + *regsz = gdb_cpu_regsz(regnum); switch (regnum) { - case GDB_REG_FP: - break; - case GDB_REG_PC: - break; - case GDB_REG_SP: - break; } - return (0); + return (NULL); } -ssize_t -gdb_cpu_getregs(struct trapframe *tf, void *buf, size_t bufsz) -{ - struct reg *r = buf; - - if (sizeof(*r) > bufsz) - return (-1); - bzero(r, sizeof(*r)); - return (sizeof(*r)); -} - -int -gdb_cpu_regsz(int regnum) -{ - return (8); /* XXX not really. */ -} - void -gdb_cpu_setreg(int regnum, struct trapframe *tf, uintmax_t val) +gdb_cpu_setreg(int regnum, register_t val) { switch (regnum) { - case GDB_REG_FP: break; - case GDB_REG_PC: break; - case GDB_REG_SP: break; } } - -int -gdb_cpu_signal(int type, int dummy) -{ - return (type); -} - -void -gdb_cpu_singlestep(int on, struct trapframe *tf) -{ - /* XXX dunno. */ - TF_DONE(tf); -} - -void -gdb_cpu_trap(int type, int dummy, struct trapframe *tf) -{ - flushw(); -} From owner-p4-projects@FreeBSD.ORG Fri Apr 2 00:18:55 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7EFE416A4D0; Fri, 2 Apr 2004 00:18:55 -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 5136416A4CE for ; Fri, 2 Apr 2004 00:18:55 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4462843D31 for ; Fri, 2 Apr 2004 00:18:55 -0800 (PST) (envelope-from dfr@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i328ItGe012585 for ; Fri, 2 Apr 2004 00:18:55 -0800 (PST) (envelope-from dfr@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i328Isau012582 for perforce@freebsd.org; Fri, 2 Apr 2004 00:18:54 -0800 (PST) (envelope-from dfr@freebsd.org) Date: Fri, 2 Apr 2004 00:18:54 -0800 (PST) Message-Id: <200404020818.i328Isau012582@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dfr@freebsd.org using -f From: Doug Rabson To: Perforce Change Reviews Subject: PERFORCE change 50176 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: Fri, 02 Apr 2004 08:18:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=50176 Change 50176 by dfr@dfr_home on 2004/04/02 00:18:08 IFC, add tools/regression to branch. Affected files ... .. //depot/projects/kse/bin/ps/ps.1#13 integrate .. //depot/projects/kse/lib/libc/net/nsdispatch.c#3 integrate .. //depot/projects/kse/lib/libc/stdlib/getopt_long.c#3 integrate .. //depot/projects/kse/sys/alpha/alpha/machdep.c#46 integrate .. //depot/projects/kse/sys/conf/files#53 integrate .. //depot/projects/kse/sys/conf/files.i386#32 integrate .. //depot/projects/kse/sys/conf/majors#14 integrate .. //depot/projects/kse/sys/dev/uart/uart_cpu_sparc64.c#2 integrate .. //depot/projects/kse/sys/dev/uart/uart_dev_ns8250.c#2 integrate .. //depot/projects/kse/sys/dev/uart/uart_kbd_sun.c#2 integrate .. //depot/projects/kse/sys/dev/usb/usb_subr.c#11 integrate .. //depot/projects/kse/sys/i386/conf/GENERIC.hints#3 integrate .. //depot/projects/kse/sys/kern/kern_thr.c#3 integrate .. //depot/projects/kse/sys/kern/sys_process.c#34 integrate .. //depot/projects/kse/sys/net/if_sl.c#13 integrate .. //depot/projects/kse/sys/netinet6/udp6_usrreq.c#16 integrate .. //depot/projects/kse/sys/pc98/conf/NOTES#3 integrate .. //depot/projects/kse/sys/pci/if_ste.c#13 integrate .. //depot/projects/kse/tools/regression/README#1 branch .. //depot/projects/kse/tools/regression/atm/Funcs.sh#1 branch .. //depot/projects/kse/tools/regression/atm/README#1 branch .. //depot/projects/kse/tools/regression/atm/RunTest.sh#1 branch .. //depot/projects/kse/tools/regression/atm/harp/atm_udp.ng#1 branch .. //depot/projects/kse/tools/regression/atm/harp/memory_leak.sh#1 branch .. //depot/projects/kse/tools/regression/atm/proto_sscfu/RunTest.sh#1 branch .. //depot/projects/kse/tools/regression/atm/proto_sscop/RunTest.sh#1 branch .. //depot/projects/kse/tools/regression/atm/proto_uni/RunTest.sh#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/Makefile#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/a.c#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/b.c#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ccd.sh#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ccd0.sh#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.128k_128k_128k_128k_0_0#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.128k_128k_128k_128k_0_4#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.128k_128k_128k_128k_4_0#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.128k_128k_128k_128k_4_2#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.128k_128k_128k_128k_4_4#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.256k_128k_128k_128k_0_0#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.256k_128k_128k_128k_0_4#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.256k_128k_128k_128k_4_0#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.256k_128k_128k_128k_4_2#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.256k_128k_128k_128k_4_4#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.256k_128k_384k_128k_0_0#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.256k_128k_384k_128k_0_4#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.256k_128k_384k_128k_16_0#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.256k_128k_384k_128k_16_2#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.256k_128k_384k_128k_16_4#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.256k_128k_384k_128k_4_0#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.256k_128k_384k_128k_4_2#1 branch .. //depot/projects/kse/tools/regression/ccd/layout/ref.256k_128k_384k_128k_4_4#1 branch .. //depot/projects/kse/tools/regression/fsx/Makefile#1 branch .. //depot/projects/kse/tools/regression/fsx/fsx.c#1 branch .. //depot/projects/kse/tools/regression/gaithrstress/Makefile#1 branch .. //depot/projects/kse/tools/regression/gaithrstress/gaithrstress.c#1 branch .. //depot/projects/kse/tools/regression/geom/ConfCmp/ConfCmp.c#1 branch .. //depot/projects/kse/tools/regression/geom/ConfCmp/Makefile#1 branch .. //depot/projects/kse/tools/regression/geom/ConfCmp/a1.conf#1 branch .. //depot/projects/kse/tools/regression/geom/ConfCmp/a1a.conf#1 branch .. //depot/projects/kse/tools/regression/geom/ConfCmp/a1b.conf#1 branch .. //depot/projects/kse/tools/regression/geom/ConfCmp/a1c.conf#1 branch .. //depot/projects/kse/tools/regression/geom/ConfCmp/a1d.conf#1 branch .. //depot/projects/kse/tools/regression/geom/ConfCmp/a2.conf#1 branch .. //depot/projects/kse/tools/regression/geom/ConfCmp/a2a.conf#1 branch .. //depot/projects/kse/tools/regression/geom/ConfCmp/a2b.conf#1 branch .. //depot/projects/kse/tools/regression/geom/ConfCmp/a2c.conf#1 branch .. //depot/projects/kse/tools/regression/geom/ConfCmp/a2d.conf#1 branch .. //depot/projects/kse/tools/regression/geom/Data/disk.alpha.da0.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Data/disk.alpha2.da0.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Data/disk.apple.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Data/disk.beast.da0.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Data/disk.critter.ad0.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Data/disk.empty.flp.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Data/disk.far.ad0.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Data/disk.flat.da1.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Data/disk.kern.flp.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Data/disk.msdos.ext.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Data/disk.msdos.flp.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Data/disk.pc98.wdc0.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Data/disk.sun.da0.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Data/disk.sun.da1.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Data/disk.typo.ad0.xml#1 branch .. //depot/projects/kse/tools/regression/geom/MdLoad/Makefile#1 branch .. //depot/projects/kse/tools/regression/geom/MdLoad/MdLoad.c#1 branch .. //depot/projects/kse/tools/regression/geom/Ref/disk.alpha.da0.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Ref/disk.alpha2.da0.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Ref/disk.apple.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Ref/disk.beast.da0.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Ref/disk.critter.ad0.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Ref/disk.empty.flp.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Ref/disk.far.ad0.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Ref/disk.flat.da1.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Ref/disk.kern.flp.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Ref/disk.msdos.ext.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Ref/disk.msdos.flp.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Ref/disk.pc98.wdc0.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Ref/disk.sun.da0.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Ref/disk.sun.da1.xml#1 branch .. //depot/projects/kse/tools/regression/geom/Ref/disk.typo.ad0.xml#1 branch .. //depot/projects/kse/tools/regression/geom/RunTest.sh#1 branch .. //depot/projects/kse/tools/regression/geom_concat/Makefile#1 branch .. //depot/projects/kse/tools/regression/geom_concat/runtests.sh#1 branch .. //depot/projects/kse/tools/regression/geom_concat/test-1.sh#1 branch .. //depot/projects/kse/tools/regression/geom_concat/test-2.sh#1 branch .. //depot/projects/kse/tools/regression/ia64_unaligned/Makefile#1 branch .. //depot/projects/kse/tools/regression/ia64_unaligned/unaligned.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/gen/Makefile#1 branch .. //depot/projects/kse/tools/regression/lib/libc/gen/test-fpclassify.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/gen/test-wordexp.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/locale/Makefile#1 branch .. //depot/projects/kse/tools/regression/lib/libc/locale/test-btowc.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/locale/test-iswctype.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/locale/test-mblen.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/locale/test-mbrlen.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/locale/test-mbrtowc.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/locale/test-mbsrtowcs.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/locale/test-mbstowcs.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/locale/test-mbtowc.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/locale/test-sgetrune.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/locale/test-sputrune.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/locale/test-towctrans.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/locale/test-wcrtomb.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/locale/test-wcsrtombs.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/locale/test-wcstombs.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/locale/test-wctomb.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/stdio/Makefile#1 branch .. //depot/projects/kse/tools/regression/lib/libc/stdio/test-perror.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/stdio/test-printfloat.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/stdio/test-scanfloat.c#1 branch .. //depot/projects/kse/tools/regression/lib/libc/string/Makefile#1 branch .. //depot/projects/kse/tools/regression/lib/libc/string/test-strerror.c#1 branch .. //depot/projects/kse/tools/regression/nfsmmap/Makefile#1 branch .. //depot/projects/kse/tools/regression/nfsmmap/README#1 branch .. //depot/projects/kse/tools/regression/nfsmmap/test1/Makefile#1 branch .. //depot/projects/kse/tools/regression/nfsmmap/test1/test1.c#1 branch .. //depot/projects/kse/tools/regression/nfsmmap/test1/test1.good.uu#1 branch .. //depot/projects/kse/tools/regression/nfsmmap/test1/test1.zeros.uu#1 branch .. //depot/projects/kse/tools/regression/nfsmmap/test2/Makefile#1 branch .. //depot/projects/kse/tools/regression/nfsmmap/test2/test2.c#1 branch .. //depot/projects/kse/tools/regression/nfsmmap/test2/test2.good.uu#1 branch .. //depot/projects/kse/tools/regression/nfsmmap/test2/test2.zeros.uu#1 branch .. //depot/projects/kse/tools/regression/p1003_1b/Makefile#1 branch .. //depot/projects/kse/tools/regression/p1003_1b/README#1 branch .. //depot/projects/kse/tools/regression/p1003_1b/fifo.c#1 branch .. //depot/projects/kse/tools/regression/p1003_1b/main.c#1 branch .. //depot/projects/kse/tools/regression/p1003_1b/memlock.c#1 branch .. //depot/projects/kse/tools/regression/p1003_1b/p26.c#1 branch .. //depot/projects/kse/tools/regression/p1003_1b/prutil.c#1 branch .. //depot/projects/kse/tools/regression/p1003_1b/prutil.h#1 branch .. //depot/projects/kse/tools/regression/p1003_1b/sched.c#1 branch .. //depot/projects/kse/tools/regression/p1003_1b/yield.c#1 branch .. //depot/projects/kse/tools/regression/pipe/Makefile#1 branch .. //depot/projects/kse/tools/regression/pipe/bigpipetest.c#1 branch .. //depot/projects/kse/tools/regression/security/access/Makefile#1 branch .. //depot/projects/kse/tools/regression/security/access/testaccess.c#1 branch .. //depot/projects/kse/tools/regression/security/proc_to_proc/Makefile#1 branch .. //depot/projects/kse/tools/regression/security/proc_to_proc/README#1 branch .. //depot/projects/kse/tools/regression/security/proc_to_proc/scenario.c#1 branch .. //depot/projects/kse/tools/regression/security/proc_to_proc/scenario.h#1 branch .. //depot/projects/kse/tools/regression/security/proc_to_proc/testuid.c#1 branch .. //depot/projects/kse/tools/regression/sysvmsg/Makefile#1 branch .. //depot/projects/kse/tools/regression/sysvmsg/README#1 branch .. //depot/projects/kse/tools/regression/sysvmsg/msgtest.c#1 branch .. //depot/projects/kse/tools/regression/sysvsem/Makefile#1 branch .. //depot/projects/kse/tools/regression/sysvsem/README#1 branch .. //depot/projects/kse/tools/regression/sysvsem/semtest.c#1 branch .. //depot/projects/kse/tools/regression/sysvshm/Makefile#1 branch .. //depot/projects/kse/tools/regression/sysvshm/README#1 branch .. //depot/projects/kse/tools/regression/sysvshm/shmtest.c#1 branch .. //depot/projects/kse/tools/regression/usr.bin/Makefile#1 branch .. //depot/projects/kse/tools/regression/usr.bin/file2c/Makefile#1 branch .. //depot/projects/kse/tools/regression/usr.bin/file2c/regress.in#1 branch .. //depot/projects/kse/tools/regression/usr.bin/file2c/regress.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/file2c/regress.sh#1 branch .. //depot/projects/kse/tools/regression/usr.bin/join/Makefile#1 branch .. //depot/projects/kse/tools/regression/usr.bin/join/regress.1.in#1 branch .. //depot/projects/kse/tools/regression/usr.bin/join/regress.2.in#1 branch .. //depot/projects/kse/tools/regression/usr.bin/join/regress.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/join/regress.sh#1 branch .. //depot/projects/kse/tools/regression/usr.bin/jot/Makefile#1 branch .. //depot/projects/kse/tools/regression/usr.bin/jot/regress.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/jot/regress.sh#1 branch .. //depot/projects/kse/tools/regression/usr.bin/m4/Makefile#1 branch .. //depot/projects/kse/tools/regression/usr.bin/m4/regress.changecom.in#1 branch .. //depot/projects/kse/tools/regression/usr.bin/m4/regress.changecom.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/m4/regress.gchangecom.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/m4/regress.sh#1 branch .. //depot/projects/kse/tools/regression/usr.bin/make/Makefile#1 branch .. //depot/projects/kse/tools/regression/usr.bin/make/regress.sysvmatch.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/make/regress.variables.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/regress.m4#1 branch .. //depot/projects/kse/tools/regression/usr.bin/sed/Makefile#1 branch .. //depot/projects/kse/tools/regression/usr.bin/sed/regress.G.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/sed/regress.P.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/sed/regress.bcb.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/sed/regress.in#1 branch .. //depot/projects/kse/tools/regression/usr.bin/sed/regress.psl.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/sed/regress.s3.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/sed/regress.s4.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/sed/regress.s5.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/sed/regress.sg.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/sed/regress.sh#1 branch .. //depot/projects/kse/tools/regression/usr.bin/sed/regress.y.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/uudecode/Makefile#1 branch .. //depot/projects/kse/tools/regression/usr.bin/uudecode/regress.base64.in#1 branch .. //depot/projects/kse/tools/regression/usr.bin/uudecode/regress.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/uudecode/regress.sh#1 branch .. //depot/projects/kse/tools/regression/usr.bin/uudecode/regress.traditional.in#1 branch .. //depot/projects/kse/tools/regression/usr.bin/uuencode/Makefile#1 branch .. //depot/projects/kse/tools/regression/usr.bin/uuencode/regress.base64.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/uuencode/regress.in#1 branch .. //depot/projects/kse/tools/regression/usr.bin/uuencode/regress.sh#1 branch .. //depot/projects/kse/tools/regression/usr.bin/uuencode/regress.traditional.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/xargs/Makefile#1 branch .. //depot/projects/kse/tools/regression/usr.bin/xargs/regress.I.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/xargs/regress.J.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/xargs/regress.L.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/xargs/regress.R.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/xargs/regress.in#1 branch .. //depot/projects/kse/tools/regression/usr.bin/xargs/regress.normal.out#1 branch .. //depot/projects/kse/tools/regression/usr.bin/xargs/regress.sh#1 branch Differences ... ==== //depot/projects/kse/bin/ps/ps.1#13 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/ps/ps.1,v 1.73 2004/03/31 23:51:12 gad Exp $ +.\" $FreeBSD: src/bin/ps/ps.1,v 1.74 2004/04/01 13:28:36 gad Exp $ .\" .Dd March 27, 2004 .Dt PS 1 @@ -73,7 +73,7 @@ .Pp A different set of processes can be selected for display by using any combination of the -.Fl a, G , p , T , t +.Fl a , G , p , T , t and .Fl U options. @@ -93,7 +93,7 @@ terminal, then by process .Tn ID . The -.Fl m, r, u, +.Fl m , r , u , and .Fl v options will change the sort order. ==== //depot/projects/kse/lib/libc/net/nsdispatch.c#3 (text+ko) ==== @@ -68,7 +68,7 @@ * */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/nsdispatch.c,v 1.11 2004/03/30 15:56:15 nectar Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/nsdispatch.c,v 1.12 2004/04/01 19:12:45 nectar Exp $"); #include "namespace.h" #include @@ -343,10 +343,8 @@ goto fin2; } _nsyyin = fopen(path, "r"); - if (_nsyyin == NULL) { - result = errno; + if (_nsyyin == NULL) goto fin; - } VECTOR_FREE(_nsmap, &_nsmapsize, sizeof(*_nsmap), (vector_free_elem)ns_dbt_free); VECTOR_FREE(_nsmod, &_nsmodsize, sizeof(*_nsmod), ==== //depot/projects/kse/lib/libc/stdlib/getopt_long.c#3 (text+ko) ==== @@ -62,7 +62,7 @@ #endif /* LIBC_SCCS and not lint */ #endif #include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/getopt_long.c,v 1.9 2004/03/06 14:24:10 ache Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/getopt_long.c,v 1.11 2004/04/01 22:32:28 ache Exp $"); #include #include @@ -107,7 +107,7 @@ static int getopt_internal(int, char * const *, const char *, const struct option *, int *, int); static int parse_long_options(char * const *, const char *, - const struct option *, int *, int); + const struct option *, int *, int, int); static int gcd(int, int); static void permute_args(int, int, int, char * const *); @@ -197,14 +197,14 @@ */ static int parse_long_options(char * const *nargv, const char *options, - const struct option *long_options, int *idx, int short_too) + const struct option *long_options, int *idx, int short_too, int flags) { char *current_argv, *has_equal; #ifdef GNU_COMPATIBLE char *current_dash; #endif size_t current_argv_len; - int i, match; + int i, match, exact_match, second_partial_match; current_argv = place; #ifdef GNU_COMPATIBLE @@ -224,6 +224,8 @@ } #endif match = -1; + exact_match = 0; + second_partial_match = 0; optind++; @@ -243,6 +245,7 @@ if (strlen(long_options[i].name) == current_argv_len) { /* exact match */ match = i; + exact_match = 1; break; } /* @@ -252,20 +255,26 @@ if (short_too && current_argv_len == 1) continue; - if (match == -1) /* partial match */ + if (match == -1) /* first partial match */ match = i; - else { - /* ambiguous abbreviation */ - if (PRINT_ERROR) - warnx(ambig, + else if ((flags & FLAG_LONGONLY) || + long_options[i].has_arg != + long_options[match].has_arg || + long_options[i].flag != long_options[match].flag || + long_options[i].val != long_options[match].val) + second_partial_match = 1; + } + if (!exact_match && second_partial_match) { + /* ambiguous abbreviation */ + if (PRINT_ERROR) + warnx(ambig, #ifdef GNU_COMPATIBLE - current_dash, + current_dash, #endif - (int)current_argv_len, - current_argv); - optopt = 0; - return (BADCH); - } + (int)current_argv_len, + current_argv); + optopt = 0; + return (BADCH); } if (match != -1) { /* option found */ if (long_options[match].has_arg == no_argument @@ -492,7 +501,7 @@ short_too = 1; /* could be short option too */ optchar = parse_long_options(nargv, options, long_options, - idx, short_too); + idx, short_too, flags); if (optchar != -1) { place = EMSG; return (optchar); @@ -538,7 +547,7 @@ dash_prefix = W_PREFIX; #endif optchar = parse_long_options(nargv, options, long_options, - idx, 0); + idx, 0, flags); place = EMSG; return (optchar); } ==== //depot/projects/kse/sys/alpha/alpha/machdep.c#46 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.218 2004/03/01 19:19:15 kensmith Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.219 2004/04/01 20:56:43 jhb Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -1914,10 +1914,9 @@ if (td->td_md.md_flags & (MDTD_STEP1|MDTD_STEP2)) panic("ptrace_single_step: step breakpoints not removed"); - PROC_UNLOCK(td->td_proc); error = ptrace_read_int(td, pc, &ins.bits); if (error) - goto err; + return (error); switch (ins.branch_format.opcode) { @@ -1957,20 +1956,18 @@ td->td_md.md_sstep[0].addr = addr[0]; error = ptrace_set_bpt(td, &td->td_md.md_sstep[0]); if (error) - goto err; + return (error); if (count == 2) { td->td_md.md_sstep[1].addr = addr[1]; error = ptrace_set_bpt(td, &td->td_md.md_sstep[1]); if (error) { ptrace_clear_bpt(td, &td->td_md.md_sstep[0]); - goto err; + return (error); } td->td_md.md_flags |= MDTD_STEP2; } else td->td_md.md_flags |= MDTD_STEP1; -err: - PROC_LOCK(td->td_proc); return (error); } ==== //depot/projects/kse/sys/conf/files#53 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.877 2004/03/20 02:14:02 marcel Exp $ +# $FreeBSD: src/sys/conf/files,v 1.880 2004/04/01 17:55:50 des Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -668,6 +668,7 @@ dev/sound/midi/sequencer.c optional seq midi dev/sound/midi/timer.c optional seq midi dev/sound/pci/als4000.c optional pcm pci +#dev/sound/pci/au88x0.c optional pcm pci dev/sound/pci/cmi.c optional pcm pci dev/sound/pci/cs4281.c optional pcm pci dev/sound/pci/csa.c optional csa pci @@ -730,6 +731,11 @@ dev/syscons/warp/warp_saver.c optional warp_saver dev/tdfx/tdfx_pci.c optional tdfx pci dev/trm/trm.c optional trm +dev/twa/twa.c optional twa +dev/twa/twa_cam.c optional twa +dev/twa/twa_freebsd.c optional twa +dev/twa/twa_fwimg.c optional twa +dev/twa/twa_globals.c optional twa dev/twe/twe.c optional twe dev/twe/twe_freebsd.c optional twe dev/tx/if_tx.c optional tx ==== //depot/projects/kse/sys/conf/files.i386#32 (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.i386,v 1.482 2004/03/30 03:45:59 vkashyap Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.483 2004/04/01 10:02:50 des Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -170,11 +170,6 @@ dev/syscons/scvtb.c optional sc dev/syscons/syscons.c optional sc dev/syscons/sysmouse.c optional sc -dev/twa/twa.c optional twa -dev/twa/twa_cam.c optional twa -dev/twa/twa_freebsd.c optional twa -dev/twa/twa_fwimg.c optional twa -dev/twa/twa_globals.c optional twa dev/uart/uart_cpu_i386.c optional uart geom/geom_bsd.c standard geom/geom_bsd_enc.c standard ==== //depot/projects/kse/sys/conf/majors#14 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/majors,v 1.197 2004/02/23 08:55:12 phk Exp $ +# $FreeBSD: src/sys/conf/majors,v 1.198 2004/04/01 10:00:04 des Exp $ # # This list is semi-obsoleted by DEVFS, but for now it still contains # the current allocation of device major numbers. @@ -90,7 +90,6 @@ 183 *smapi SMAPI BIOS interface 185 ce Cronyx Tau-32 E1 adapter 186 sx Specialix I/O8+ driver -187 twa 3ware Apache ATA RAID (controller) 252 ?? entries from 200-252 are reserved for local use 254 internal Used internally by the kernel 255 bad_choice -1 is 255 which has magic meanings internally ==== //depot/projects/kse/sys/dev/uart/uart_cpu_sparc64.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_sparc64.c,v 1.8 2004/03/20 02:14:02 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_sparc64.c,v 1.9 2004/04/02 07:33:35 marcel Exp $"); #include #include @@ -42,8 +42,6 @@ bus_space_tag_t uart_bus_space_io; bus_space_tag_t uart_bus_space_mem; -static phandle_t uart_cpu_getdev_keyboard(phandle_t root); - static struct bus_space_tag bst_store[3]; static int @@ -70,21 +68,79 @@ return ((b1->bsh == b2->bsh) ? 1 : 0); } +/* + * Get the address of the UART that is selected as the console, if the + * console is an UART of course. Note that we enforce that both stdin and + * stdout are selected. For weird configurations, use ofw_console(4). + * Note that the currently active console (i.e. /chosen/stdout and + * /chosen/stdin) may not be the same as the device selected in the + * environment (ie /options/output-device and /options/input-device) because + * the user may have changed the environment. In that case I would assume + * that the user expects that FreeBSD uses the new console setting. There's + * no choice, really. + */ +static phandle_t +uart_cpu_getdev_console(phandle_t options, char *dev, size_t devsz) +{ + char buf[32]; + phandle_t input; + + if (OF_getprop(options, "input-device", dev, devsz) == -1) + return (-1); + if ((input = OF_finddevice(dev)) == -1) + return (-1); + if (OF_getprop(input, "device_type", buf, sizeof(buf)) == -1) + return (-1); + if (strcmp(buf, "serial") != 0) + return (-1); + if (OF_getprop(options, "output-device", buf, sizeof(buf)) == -1) + return (-1); + if (OF_finddevice(buf) != input) + return (-1); + return (input); +} + +/* + * Get the address of the UART that's selected as the debug port. Since + * there's no place for this in the OF, we use the kernel environment + * variable "hw.uart.dbgport". Note however that the variable is not a + * list of attributes. It's single device name or alias, as known by + * the OF. + */ static phandle_t -uart_cpu_getdev_keyboard(phandle_t root) +uart_cpu_getdev_dbgport(phandle_t options, char *dev, size_t devsz) +{ + char buf[32]; + phandle_t input; + + if (!getenv_string("hw.uart.dbgport", dev, devsz)) + return (-1); + if ((input = OF_finddevice(dev)) == -1) + return (-1); + if (OF_getprop(input, "device_type", buf, sizeof(buf)) == -1) + return (-1); + if (strcmp(buf, "serial") != 0) + return (-1); + return (input); +} + +static phandle_t +uart_cpu_getdev_keyboard(phandle_t root, char *dev, size_t devsz) { - phandle_t child; - phandle_t node; char buf[32]; + phandle_t child, node; - for (child = OF_child(root); child != 0 && child != -1; - child = OF_peer(child)) { + child = OF_child(root); + while (child != 0 && child != -1) { if (OF_getprop(child, "device_type", buf, sizeof(buf)) != -1 && !strcmp(buf, "serial") && - OF_getprop(child, "keyboard", buf, sizeof(buf)) != -1) + OF_getprop(child, "keyboard", buf, sizeof(buf)) != -1) { + OF_getprop(child, "name", dev, devsz); return (child); - if ((node = uart_cpu_getdev_keyboard(child)) != -1) + } + if ((node = uart_cpu_getdev_keyboard(child, dev, devsz)) != -1) return (node); + child = OF_peer(child); } return (-1); } @@ -93,47 +149,29 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di) { char buf[32], dev[32], compat[32]; - phandle_t input, options, output; + phandle_t input, options; bus_addr_t addr; int baud, bits, error, space, stop; char flag, par; - /* - * Get the address of the UART that is selected as the console, if - * the console is an UART of course. Note that we enforce that both - * stdin and stdout are selected. For weird configurations, use - * ofw_console(4). - * Note that the currently active console (ie /chosen/stdout and - * /chosen/stdin) may not be the same as the device selected in the - * environment (ie /options/output-device and /options/input-device) - * because the user may have changed the environment. In that case - * I would assume that the user expects that FreeBSD uses the new - * console setting. There's choice choice, really. - */ - if ((options = OF_finddevice("/options")) == -1) - return (ENXIO); - if (devtype == UART_DEV_CONSOLE) { - if (OF_getprop(options, "input-device", dev, sizeof(dev)) == -1) - return (ENXIO); - if ((input = OF_finddevice(dev)) == -1) - return (ENXIO); - if (OF_getprop(input, "device_type", buf, sizeof(buf)) == -1) - return (ENXIO); - if (strcmp(buf, "serial")) - return (ENODEV); - if (OF_getprop(options, "output-device", buf, sizeof(buf)) - == -1) - return (ENXIO); - if ((output = OF_finddevice(buf)) == -1) - return (ENXIO); - if (input != output) - return (ENXIO); - } else if (devtype == UART_DEV_KEYBOARD) { - if ((input = uart_cpu_getdev_keyboard(OF_peer(0))) == -1) - return (ENXIO); - } else - return (ENODEV); - + if ((options = OF_finddevice("/options")) == -1) + return (ENXIO); + switch (devtype) { + case UART_DEV_CONSOLE: + input = uart_cpu_getdev_console(options, dev, sizeof(dev)); + break; + case UART_DEV_DBGPORT: + input = uart_cpu_getdev_dbgport(options, dev, sizeof(dev)); + break; + case UART_DEV_KEYBOARD: + input = uart_cpu_getdev_keyboard(OF_peer(0), dev, sizeof(dev)); + break; + default: + input = -1; + break; + } + if (input == -1) + return (ENXIO); error = OF_decode_addr(input, &space, &addr); if (error) return (error); ==== //depot/projects/kse/sys/dev/uart/uart_dev_ns8250.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_ns8250.c,v 1.5 2003/09/17 03:11:32 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_ns8250.c,v 1.6 2004/04/02 07:37:28 marcel Exp $"); #include #include @@ -304,6 +304,7 @@ while ((uart_getreg(bas, REG_LSR) & LSR_THRE) == 0 && --limit) DELAY(delay); uart_setreg(bas, REG_DATA, c); + uart_barrier(bas); limit = 40; while ((uart_getreg(bas, REG_LSR) & LSR_TEMT) == 0 && --limit) DELAY(delay); ==== //depot/projects/kse/sys/dev/uart/uart_kbd_sun.c#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/dev/uart/uart_kbd_sun.c,v 1.1 2003/11/11 07:33:24 jake Exp $ + * $FreeBSD: src/sys/dev/uart/uart_kbd_sun.c,v 1.2 2004/04/02 05:59:06 marcel Exp $ */ #include "opt_kbd.h" @@ -224,7 +224,9 @@ if (sc->sc_sysdev != NULL) { sunkbd_softc.sc_uart = sc; +#ifdef KBD_INSTALL_CDEV kbd_attach(&sunkbd_softc.sc_kbd); +#endif sunkbd_enable(&sunkbd_softc.sc_kbd); swi_add(&tty_ithd, uart_driver_name, sunkbd_uart_intr, ==== //depot/projects/kse/sys/dev/usb/usb_subr.c#11 (text+ko) ==== @@ -7,7 +7,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/usb_subr.c,v 1.62 2004/03/20 07:31:11 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/usb_subr.c,v 1.63 2004/04/01 18:55:28 julian Exp $"); /* * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -1045,8 +1045,19 @@ up->device = dev; /* Set the address. Do this early; some devices need that. */ - err = usbd_set_address(dev, addr); + /* Try a few times in case the device is slow (i.e. outside specs.) */ DPRINTFN(5,("usbd_new_device: setting device address=%d\n", addr)); + for (i = 0; i < 15; i++) { + err = usbd_set_address(dev, addr); + if (!err) + break; + usbd_delay_ms(dev, 200); + if ((i & 3) == 3) { + DPRINTFN(-1,("usb_new_device: set address %d " + "failed - trying a port reset\n", addr)); + usbd_reset_port(up->parent, port, &ps); + } + } if (err) { DPRINTFN(-1,("usb_new_device: set address %d failed\n", addr)); err = USBD_SET_ADDR_FAILED; @@ -1059,16 +1070,8 @@ bus->devices[addr] = dev; dd = &dev->ddesc; - /* Try a few times in case the device is slow (i.e. outside specs.) */ - for (i = 0; i < 15; i++) { - /* Get the first 8 bytes of the device descriptor. */ - err = usbd_get_desc(dev, UDESC_DEVICE, 0, USB_MAX_IPACKET, dd); - if (!err) - break; - usbd_delay_ms(dev, 200); - if ((i & 3) == 3) - usbd_reset_port(up->parent, port, &ps); - } + /* Get the first 8 bytes of the device descriptor. */ + err = usbd_get_desc(dev, UDESC_DEVICE, 0, USB_MAX_IPACKET, dd); if (err) { DPRINTFN(-1, ("usbd_new_device: addr=%d, getting first desc " "failed\n", addr)); ==== //depot/projects/kse/sys/i386/conf/GENERIC.hints#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/i386/conf/GENERIC.hints,v 1.12 2004/03/14 22:38:18 imp Exp $ +# $FreeBSD: src/sys/i386/conf/GENERIC.hints,v 1.13 2004/04/01 21:48:31 alfred Exp $ hint.fdc.0.at="isa" hint.fdc.0.port="0x3F0" hint.fdc.0.irq="6" @@ -25,7 +25,6 @@ hint.atkbdc.0.port="0x060" hint.atkbd.0.at="atkbdc" hint.atkbd.0.irq="1" -hint.atkbd.0.flags="0x1" hint.psm.0.at="atkbdc" hint.psm.0.irq="12" hint.vga.0.at="isa" ==== //depot/projects/kse/sys/kern/kern_thr.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_thr.c,v 1.15 2004/03/27 14:30:43 mtm Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_thr.c,v 1.17 2004/04/02 04:57:40 kris Exp $"); #include #include @@ -81,11 +81,8 @@ /* Clean up cpu resources. */ cpu_thread_exit(td); - /* XXX make thread_unlink() */ - TAILQ_REMOVE(&p->p_threads, td, td_plist); - p->p_numthreads--; - TAILQ_REMOVE(&kg->kg_threads, td, td_kglist); - kg->kg_numthreads--; + /* Unlink the thread from the process and kseg. */ + thread_unlink(td); ke->ke_state = KES_UNQUEUED; ke->ke_thread = NULL; ==== //depot/projects/kse/sys/kern/sys_process.c#34 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sys_process.c,v 1.119 2004/03/24 23:35:04 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sys_process.c,v 1.120 2004/04/01 20:56:44 jhb Exp $"); #include #include @@ -154,18 +154,21 @@ vm_prot_t reqprot; int error, writing; - GIANT_REQUIRED; - + mtx_lock(&Giant); /* * if the vmspace is in the midst of being deallocated or the * process is exiting, don't try to grab anything. The page table * usage in that process can be messed up. */ vm = p->p_vmspace; - if ((p->p_flag & P_WEXIT)) + if ((p->p_flag & P_WEXIT)) { + mtx_unlock(&Giant); return (EFAULT); - if (vm->vm_refcnt < 1) + } + if (vm->vm_refcnt < 1) { + mtx_unlock(&Giant); return (EFAULT); + } ++vm->vm_refcnt; /* * The map we want... @@ -274,6 +277,7 @@ } while (error == 0 && uio->uio_resid > 0); vmspace_free(vm); + mtx_unlock(&Giant); return (error); } @@ -602,9 +606,7 @@ uio.uio_segflg = UIO_SYSSPACE; /* i.e.: the uap */ uio.uio_rw = write ? UIO_WRITE : UIO_READ; uio.uio_td = td; - mtx_lock(&Giant); error = proc_rwmem(p, &uio); - mtx_unlock(&Giant); if (uio.uio_resid != 0) { /* * XXX proc_rwmem() doesn't currently return ENOSPC, @@ -645,9 +647,7 @@ default: return (EINVAL); } - mtx_lock(&Giant); error = proc_rwmem(p, &uio); - mtx_unlock(&Giant); piod->piod_len -= uio.uio_resid; return (error); ==== //depot/projects/kse/sys/net/if_sl.c#13 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_sl.c 8.6 (Berkeley) 2/1/94 - * $FreeBSD: src/sys/net/if_sl.c,v 1.112 2004/03/31 22:59:56 rwatson Exp $ + * $FreeBSD: src/sys/net/if_sl.c,v 1.113 2004/04/01 23:54:49 rwatson Exp $ */ /* @@ -469,8 +469,10 @@ return (ENXIO); } if (sc->sc_if.if_dunit != unit) { - if (!slisunitfree(unit)) + if (!slisunitfree(unit)) { + splx(s); return (ENXIO); + } wasup = sc->sc_if.if_flags & IFF_UP; bpfdetach(&sc->sc_if); ==== //depot/projects/kse/sys/netinet6/udp6_usrreq.c#16 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/udp6_usrreq.c,v 1.46 2004/03/27 21:05:46 pjd Exp $ */ +/* $FreeBSD: src/sys/netinet6/udp6_usrreq.c,v 1.47 2004/04/01 13:48:23 suz Exp $ */ /* $KAME: udp6_usrreq.c,v 1.27 2001/05/21 05:45:10 jinmei Exp $ */ /* @@ -168,9 +168,11 @@ /* * Checksum extended UDP header and data. */ - if (uh->uh_sum == 0) + if (uh->uh_sum == 0) { udpstat.udps_nosum++; - else if (in6_cksum(m, IPPROTO_UDP, off, ulen) != 0) { + goto bad; + } + if (in6_cksum(m, IPPROTO_UDP, off, ulen) != 0) { udpstat.udps_badsum++; goto bad; } ==== //depot/projects/kse/sys/pc98/conf/NOTES#3 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/pc98/conf/NOTES,v 1.30 2004/03/28 12:06:29 nyan Exp $ +# $FreeBSD: src/sys/pc98/conf/NOTES,v 1.31 2004/04/01 14:23:41 nyan Exp $ # # @@ -775,6 +775,7 @@ nodevice mlx # Mylex DAC960 nodevice amr # AMI MegaRAID nodevice twe # 3ware ATA RAID +nodevice twa # 3ware 9000 series PATA/SATA RAID nodevice ataraid nodevice cm nodevice cs @@ -808,6 +809,8 @@ nooption DPT_LOST_IRQ nooption DPT_RESET_HBA nooption DPT_TIMEOUT_FACTOR +nooption TWA_DEBUG +nooption TWA_FLASH_FIRMWARE nooption AAC_DEBUG nooption ACPI_MAX_THREADS ==== //depot/projects/kse/sys/pci/if_ste.c#13 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/if_ste.c,v 1.66 2004/03/31 21:10:01 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/if_ste.c,v 1.67 2004/04/01 12:55:38 ru Exp $"); #include #include @@ -163,8 +163,10 @@ DRIVER_MODULE(ste, pci, ste_driver, ste_devclass, 0, 0); DRIVER_MODULE(miibus, ste, miibus_driver, miibus_devclass, 0, 0); +SYSCTL_NODE(_hw, OID_AUTO, ste, CTLFLAG_RD, 0, "if_ste parameters"); + static int ste_rxsyncs; -SYSCTL_INT(_hw, OID_AUTO, ste_rxsyncs, CTLFLAG_RW, &ste_rxsyncs, 0, ""); +SYSCTL_INT(_hw_ste, OID_AUTO, rxsyncs, CTLFLAG_RW, &ste_rxsyncs, 0, ""); #define STE_SETBIT4(sc, reg, x) \ CSR_WRITE_4(sc, reg, CSR_READ_4(sc, reg) | (x)) From owner-p4-projects@FreeBSD.ORG Fri Apr 2 00:43:44 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E80E216A4D0; Fri, 2 Apr 2004 00:43:43 -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 BBE2B16A4CE for ; Fri, 2 Apr 2004 00:43:43 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9BE6D43D48 for ; Fri, 2 Apr 2004 00:43:43 -0800 (PST) (envelope-from dfr@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i328hhGe018353 for ; Fri, 2 Apr 2004 00:43:43 -0800 (PST) (envelope-from dfr@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i328hg2u018341 for perforce@freebsd.org; Fri, 2 Apr 2004 00:43:42 -0800 (PST) (envelope-from dfr@freebsd.org) Date: Fri, 2 Apr 2004 00:43:42 -0800 (PST) Message-Id: <200404020843.i328hg2u018341@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dfr@freebsd.org using -f From: Doug Rabson To: Perforce Change Reviews Subject: PERFORCE change 50178 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: Fri, 02 Apr 2004 08:43:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=50178 Change 50178 by dfr@dfr_home on 2004/04/02 00:42:42 Fix integration botch. Affected files ... .. //depot/projects/kse/lib/libc/signalcontext.c#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Fri Apr 2 01:13:20 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 12AE316A4D0; Fri, 2 Apr 2004 01:13:20 -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 DD43116A4CE for ; Fri, 2 Apr 2004 01:13:19 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D3FD543D2F for ; Fri, 2 Apr 2004 01:13:19 -0800 (PST) (envelope-from dfr@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i329DJGe031759 for ; Fri, 2 Apr 2004 01:13:19 -0800 (PST) (envelope-from dfr@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i329DJUa031753 for perforce@freebsd.org; Fri, 2 Apr 2004 01:13:19 -0800 (PST) (envelope-from dfr@freebsd.org) Date: Fri, 2 Apr 2004 01:13:19 -0800 (PST) Message-Id: <200404020913.i329DJUa031753@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dfr@freebsd.org using -f From: Doug Rabson To: Perforce Change Reviews Subject: PERFORCE change 50179 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: Fri, 02 Apr 2004 09:13:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=50179 Change 50179 by dfr@dfr_home on 2004/04/02 01:12:47 Add contrib/gdtoa. Affected files ... .. //depot/projects/kse/contrib/gdtoa/README#1 branch .. //depot/projects/kse/contrib/gdtoa/arithchk.c#1 branch .. //depot/projects/kse/contrib/gdtoa/dmisc.c#1 branch .. //depot/projects/kse/contrib/gdtoa/dtoa.c#1 branch .. //depot/projects/kse/contrib/gdtoa/g_Qfmt.c#1 branch .. //depot/projects/kse/contrib/gdtoa/g__fmt.c#1 branch .. //depot/projects/kse/contrib/gdtoa/g_ddfmt.c#1 branch .. //depot/projects/kse/contrib/gdtoa/g_dfmt.c#1 branch .. //depot/projects/kse/contrib/gdtoa/g_ffmt.c#1 branch .. //depot/projects/kse/contrib/gdtoa/g_xLfmt.c#1 branch .. //depot/projects/kse/contrib/gdtoa/g_xfmt.c#1 branch .. //depot/projects/kse/contrib/gdtoa/gdtoa.c#1 branch .. //depot/projects/kse/contrib/gdtoa/gdtoa.h#1 branch .. //depot/projects/kse/contrib/gdtoa/gdtoaimp.h#1 branch .. //depot/projects/kse/contrib/gdtoa/gethex.c#1 branch .. //depot/projects/kse/contrib/gdtoa/gmisc.c#1 branch .. //depot/projects/kse/contrib/gdtoa/hd_init.c#1 branch .. //depot/projects/kse/contrib/gdtoa/hexnan.c#1 branch .. //depot/projects/kse/contrib/gdtoa/makefile#1 branch .. //depot/projects/kse/contrib/gdtoa/misc.c#1 branch .. //depot/projects/kse/contrib/gdtoa/smisc.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtoIQ.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtoId.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtoIdd.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtoIf.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtoIg.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtoIx.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtoIxL.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtod.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtodI.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtodg.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtof.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtopQ.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtopd.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtopdd.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtopf.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtopx.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtopxL.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtorQ.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtord.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtordd.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtorf.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtorx.c#1 branch .. //depot/projects/kse/contrib/gdtoa/strtorxL.c#1 branch .. //depot/projects/kse/contrib/gdtoa/sum.c#1 branch .. //depot/projects/kse/contrib/gdtoa/test/Q.ou0#1 branch .. //depot/projects/kse/contrib/gdtoa/test/Q.ou1#1 branch .. //depot/projects/kse/contrib/gdtoa/test/Qtest.c#1 branch .. //depot/projects/kse/contrib/gdtoa/test/README#1 branch .. //depot/projects/kse/contrib/gdtoa/test/d.out#1 branch .. //depot/projects/kse/contrib/gdtoa/test/dI.out#1 branch .. //depot/projects/kse/contrib/gdtoa/test/dIsi.out#1 branch .. //depot/projects/kse/contrib/gdtoa/test/dItest.c#1 branch .. //depot/projects/kse/contrib/gdtoa/test/dd.out#1 branch .. //depot/projects/kse/contrib/gdtoa/test/ddsi.out#1 branch .. //depot/projects/kse/contrib/gdtoa/test/ddtest.c#1 branch .. //depot/projects/kse/contrib/gdtoa/test/dt.c#1 branch .. //depot/projects/kse/contrib/gdtoa/test/dtest.c#1 branch .. //depot/projects/kse/contrib/gdtoa/test/dtst.out#1 branch .. //depot/projects/kse/contrib/gdtoa/test/f.out#1 branch .. //depot/projects/kse/contrib/gdtoa/test/ftest.c#1 branch .. //depot/projects/kse/contrib/gdtoa/test/getround.c#1 branch .. //depot/projects/kse/contrib/gdtoa/test/makefile#1 branch .. //depot/projects/kse/contrib/gdtoa/test/rtestnos#1 branch .. //depot/projects/kse/contrib/gdtoa/test/strtoIdSI.c#1 branch .. //depot/projects/kse/contrib/gdtoa/test/strtoIddSI.c#1 branch .. //depot/projects/kse/contrib/gdtoa/test/strtodISI.c#1 branch .. //depot/projects/kse/contrib/gdtoa/test/strtodt.c#1 branch .. //depot/projects/kse/contrib/gdtoa/test/strtopddSI.c#1 branch .. //depot/projects/kse/contrib/gdtoa/test/strtorddSI.c#1 branch .. //depot/projects/kse/contrib/gdtoa/test/testnos#1 branch .. //depot/projects/kse/contrib/gdtoa/test/testnos1#1 branch .. //depot/projects/kse/contrib/gdtoa/test/testnos3#1 branch .. //depot/projects/kse/contrib/gdtoa/test/x.ou0#1 branch .. //depot/projects/kse/contrib/gdtoa/test/x.ou1#1 branch .. //depot/projects/kse/contrib/gdtoa/test/xL.ou0#1 branch .. //depot/projects/kse/contrib/gdtoa/test/xL.ou1#1 branch .. //depot/projects/kse/contrib/gdtoa/test/xLtest.c#1 branch .. //depot/projects/kse/contrib/gdtoa/test/xQtest.c#1 branch .. //depot/projects/kse/contrib/gdtoa/test/xsum0.out#1 branch .. //depot/projects/kse/contrib/gdtoa/test/xtest.c#1 branch .. //depot/projects/kse/contrib/gdtoa/ulp.c#1 branch .. //depot/projects/kse/contrib/gdtoa/xsum0.out#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Fri Apr 2 06:43:10 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9FABD16A4D0; Fri, 2 Apr 2004 06:43:10 -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 70B5E16A4CE for ; Fri, 2 Apr 2004 06:43:10 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6BF7543D2D for ; Fri, 2 Apr 2004 06:43:10 -0800 (PST) (envelope-from dfr@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i32EhAGe009277 for ; Fri, 2 Apr 2004 06:43:10 -0800 (PST) (envelope-from dfr@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i32EhAP9009274 for perforce@freebsd.org; Fri, 2 Apr 2004 06:43:10 -0800 (PST) (envelope-from dfr@freebsd.org) Date: Fri, 2 Apr 2004 06:43:10 -0800 (PST) Message-Id: <200404021443.i32EhAP9009274@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dfr@freebsd.org using -f From: Doug Rabson To: Perforce Change Reviews Subject: PERFORCE change 50188 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: Fri, 02 Apr 2004 14:43:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=50188 Change 50188 by dfr@dfr_home on 2004/04/02 06:42:51 Add stubs for dynamic TLS calls. Real implementations provided by rtld-elf. Affected files ... .. //depot/projects/kse/lib/libc/gen/Makefile.inc#5 edit .. //depot/projects/kse/lib/libc/gen/tls.c#1 add Differences ... ==== //depot/projects/kse/lib/libc/gen/Makefile.inc#5 (text+ko) ==== @@ -28,9 +28,10 @@ siginterrupt.c siglist.c signal.c signbit.c \ sigsetops.c sleep.c srand48.c statvfs.c stringlist.c strtofflags.c \ sysconf.c sysctl.c sysctlbyname.c sysctlnametomib.c \ - syslog.c telldir.c termios.c time.c times.c timezone.c ttyname.c \ - ttyslot.c ualarm.c ulimit.c uname.c unvis.c usleep.c utime.c \ - valloc.c vis.c wait.c wait3.c waitpid.c wordexp.c + syslog.c telldir.c termios.c time.c times.c timezone.c tls.c \ + ttyname.c ttyslot.c ualarm.c ulimit.c uname.c unvis.c \ + usleep.c utime.c valloc.c vis.c wait.c wait3.c waitpid.c \ + wordexp.c # machine-dependent gen sources .if exists(${.CURDIR}/${MACHINE_ARCH}/gen/Makefile.inc) From owner-p4-projects@FreeBSD.ORG Fri Apr 2 06:44:12 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8EA9D16A4D0; Fri, 2 Apr 2004 06:44:12 -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 6A2B116A4CE for ; Fri, 2 Apr 2004 06:44:12 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4D53443D39 for ; Fri, 2 Apr 2004 06:44:12 -0800 (PST) (envelope-from dfr@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i32EiCGe009347 for ; Fri, 2 Apr 2004 06:44:12 -0800 (PST) (envelope-from dfr@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i32EiBja009344 for perforce@freebsd.org; Fri, 2 Apr 2004 06:44:11 -0800 (PST) (envelope-from dfr@freebsd.org) Date: Fri, 2 Apr 2004 06:44:11 -0800 (PST) Message-Id: <200404021444.i32EiBja009344@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dfr@freebsd.org using -f From: Doug Rabson To: Perforce Change Reviews Subject: PERFORCE change 50189 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: Fri, 02 Apr 2004 14:44:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=50189 Change 50189 by dfr@dfr_home on 2004/04/02 06:43:15 Very simple non-threaded testcase for TLS. Affected files ... .. //depot/projects/kse/tools/regression/tls/Makefile#1 add .. //depot/projects/kse/tools/regression/tls/libxx/Makefile#1 add .. //depot/projects/kse/tools/regression/tls/libxx/xx.c#1 add .. //depot/projects/kse/tools/regression/tls/libyy/Makefile#1 add .. //depot/projects/kse/tools/regression/tls/libyy/yy.c#1 add .. //depot/projects/kse/tools/regression/tls/ttls1/Makefile#1 add .. //depot/projects/kse/tools/regression/tls/ttls1/ttls1.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Apr 2 07:45:28 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9307116A4D1; Fri, 2 Apr 2004 07:45:28 -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 6858C16A4CF for ; Fri, 2 Apr 2004 07:45:28 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 636D043D41 for ; Fri, 2 Apr 2004 07:45:28 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i32FjSGe022863 for ; Fri, 2 Apr 2004 07:45:28 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i32FjRnf022860 for perforce@freebsd.org; Fri, 2 Apr 2004 07:45:27 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 2 Apr 2004 07:45:27 -0800 (PST) Message-Id: <200404021545.i32FjRnf022860@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 50192 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: Fri, 02 Apr 2004 15:45:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=50192 Change 50192 by peter@peter_hammer on 2004/04/02 07:44:36 There is no more need for this debug code Affected files ... .. //depot/projects/hammer/sys/kern/kern_linker.c#11 edit Differences ... ==== //depot/projects/hammer/sys/kern/kern_linker.c#11 (text+ko) ==== @@ -55,8 +55,6 @@ int kld_debug = 0; #endif -extern int biteme; - /* * static char *linker_search_path(const char *name, struct mod_depend * *verinfo); @@ -293,14 +291,7 @@ } else return (0); } -if (biteme) printf("linker_file_register_modules: start %p, stop %p\n", start, stop); for (mdp = start; mdp < stop; mdp++) { -if (biteme) printf("mdp = %p\n", mdp); -if (biteme) printf("*mdp = %p\n", *mdp); -if ((*mdp) == NULL) { -printf("bugging out! continue!\n"); -continue; -} if ((*mdp)->md_type != MDT_MODULE) continue; moddata = (*mdp)->md_data; @@ -1726,14 +1717,7 @@ if (linker_file_lookup_set(lf, MDT_SETNAME, &start, &stop, &count) != 0) return (0); -if (biteme) printf("linker_load_dependencies: start %p, stop %p\n", start, stop); for (mdp = start; mdp < stop; mdp++) { -if (biteme) printf("mdp = %p\n", mdp); -if (biteme) printf("*mdp = %p\n", *mdp); -if ((*mdp) == NULL) { -printf("bugging out! continue!\n"); -continue; -} mp = *mdp; if (mp->md_type != MDT_VERSION) continue; From owner-p4-projects@FreeBSD.ORG Fri Apr 2 09:46:00 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B1D7716A4D0; Fri, 2 Apr 2004 09:45:59 -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 619D316A4CE for ; Fri, 2 Apr 2004 09:45:59 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 589C443D1F for ; Fri, 2 Apr 2004 09:45:59 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i32HjxGe055585 for ; Fri, 2 Apr 2004 09:45:59 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i32Hjwre055582 for perforce@freebsd.org; Fri, 2 Apr 2004 09:45:58 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 2 Apr 2004 09:45:58 -0800 (PST) Message-Id: <200404021745.i32Hjwre055582@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 50199 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: Fri, 02 Apr 2004 17:46:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=50199 Change 50199 by peter@peter_hammer on 2004/04/02 09:45:28 put the printf's on a diet Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#18 edit .. //depot/projects/hammer/sys/kern/link_elf_obj.c#25 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#18 (text+ko) ==== @@ -106,7 +106,7 @@ static int elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, int local, elf_lookup_fn lu) { - Elf64_Addr *where; + Elf64_Addr *where, val; Elf32_Addr *where32, val32; Elf_Addr addr; Elf_Addr addend; @@ -114,7 +114,6 @@ const Elf_Rel *rel; const Elf_Rela *rela; -printf("elf_reloc_internal: relocbase 0x%lx, data %p, local %d\n", relocbase, data, local); switch (type) { case ELF_RELOC_REL: rel = (const Elf_Rel *)data; @@ -122,7 +121,6 @@ addend = *where; rtype = ELF_R_TYPE(rel->r_info); symidx = ELF_R_SYM(rel->r_info); -printf("rel %p\n", rel); break; case ELF_RELOC_RELA: rela = (const Elf_Rela *)data; @@ -130,75 +128,48 @@ addend = rela->r_addend; rtype = ELF_R_TYPE(rela->r_info); symidx = ELF_R_SYM(rela->r_info); -printf("rela %p\n", rela); break; default: panic("unknown reloc type %d\n", type); } -printf("where %p, addend 0x%lx, rtype %ld, symindx %ld\n", where, addend, rtype, symidx); -#if 0 - if (local) { - if (rtype == R_X86_64_RELATIVE) { /* A + B */ - addr = relocbase + addend; -printf("R_X86_64_RELATIVE: addr 0x%lx\n", addr); - if (*where != addr) - *where = addr; -printf("*where = 0x%lx\n", *where); - } - return (0); - } -#endif - switch (rtype) { - case R_X86_64_RELATIVE: - addr = relocbase + addend; -printf("R_X86_64_RELATIVE: addr 0x%lx\n", addr); - if (*where != addr) - *where = addr; - break; case R_X86_64_NONE: /* none */ printf("R_X86_64_NONE\n"); break; case R_X86_64_64: /* S + A */ -printf("R_X86_64_64\n"); addr = lu(lf, symidx, 1); -printf("addr 0x%lx, addend 0x%lx\n", addr, addend); + val = addr + addend; +printf("R_X86_64_64 %p -> (addr 0x%lx + addend 0x%lx) = 0x%lx\n", where, addr, addend, val); if (addr == 0) return -1; - addr += addend; - if (*where != addr) - *where = addr; -printf("*where = 0x%lx\n", *where); + if (*where != val) + *where = val; break; case R_X86_64_PC32: /* S + A - P */ -printf("R_X86_64_PC32\n"); addr = lu(lf, symidx, 1); -printf("addr 0x%lx, addend 0x%lx\n", addr, addend); + where32 = (Elf32_Addr *)where; + val32 = (Elf32_Addr)(addr + addend - (Elf_Addr)where); +printf("R_X86_64_PC32: %p -> (addr 0x%lx, addend 0x%lx - where) = 0x%x\n", where, addr, addend, val32); if (addr == 0) return -1; - val32 = (Elf32_Addr)(addr + addend - (Elf_Addr)where); - where32 = (int32_t *)where; if (*where32 != val32) *where32 = val32; -printf("*where32 = 0x%x\n", *where32); break; case R_X86_64_32S: /* S + A sign extend */ -printf("R_X86_64_32\n"); addr = lu(lf, symidx, 1); -printf("addr 0x%lx, addend 0x%lx\n", addr, addend); + val32 = (Elf32_Addr)(addr + addend); + where32 = (Elf32_Addr *)where; +printf("R_X86_64_32: %p -> (addr 0x%lx + addend 0x%lx) = 0x%x\n", where, addr, addend, val32); if (addr == 0) return -1; - val32 = (Elf32_Addr)(addr + addend); - where32 = (Elf32_Addr *)where; if (*where32 != val32) *where32 = val32; -printf("*where32 = 0x%x\n", *where32); break; case R_X86_64_COPY: /* none */ @@ -211,20 +182,21 @@ break; case R_X86_64_GLOB_DAT: /* S */ -printf("R_X86_64_GLOB_DAT\n"); addr = lu(lf, symidx, 1); -printf("addr 0x%lx\n", addr); +printf("R_X86_64_GLOB_DAT: %p -> addr 0x%lx\n", where, addr); if (addr == 0) return -1; if (*where != addr) *where = addr; -printf("*where = 0x%lx\n", *where); break; -#if 0 case R_X86_64_RELATIVE: /* B + A */ + addr = relocbase + addend; + val = addr; +printf("R_X86_64_RELATIVE: %p -> 0x%lx\n", where, val); + if (*where != val) + *where = val; break; -#endif default: printf("kldload: unexpected relocation type %ld\n", ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#25 (text+ko) ==== @@ -58,8 +58,6 @@ #include "linker_if.h" -int biteme = 0; - typedef struct { void *addr; Elf_Off fileoff; @@ -120,10 +118,6 @@ caddr_t shstrtab; /* Section name string table */ long shstrcnt; /* number of bytes in string table */ -#if 0 - caddr_t symbase; /* malloc'ed symbol base */ - caddr_t strbase; /* malloc'ed string base */ -#endif } *elf_file_t; static int link_elf_link_preload(linker_class_t cls, @@ -242,7 +236,7 @@ } #endif -printf("link_elf_obj: malloc header\n"); +printf("link_elf_obj: begin!\n"); /* Read the elf header from the file. */ hdr = malloc(sizeof(*hdr), M_LINKER, M_WAITOK); if (hdr == NULL) { @@ -259,33 +253,28 @@ goto out; } -printf("link_elf_obj: is_elf?\n"); if (!IS_ELF(*hdr)) { error = ENOEXEC; goto out; } -printf("link_elf_obj: right class?\n"); if (hdr->e_ident[EI_CLASS] != ELF_TARG_CLASS || hdr->e_ident[EI_DATA] != ELF_TARG_DATA) { link_elf_error("Unsupported file layout"); error = ENOEXEC; goto out; } -printf("link_elf_obj: right version?\n"); if (hdr->e_ident[EI_VERSION] != EV_CURRENT || hdr->e_version != EV_CURRENT) { link_elf_error("Unsupported file version"); error = ENOEXEC; goto out; } -printf("link_elf_obj: relocatable?\n"); if (hdr->e_type != ET_REL) { link_elf_error("Unsupported file type"); error = ENOEXEC; goto out; } -printf("link_elf_obj: right machine?\n"); if (hdr->e_machine != ELF_TARG_MACH) { link_elf_error("Unsupported machine"); error = ENOEXEC; @@ -294,8 +283,6 @@ printf("elf_load_obj: initial checks look ok!\n"); -biteme++; -printf("section table read in ok\n"); lf = linker_make_file(filename, &link_elf_class); if (!lf) { error = ENOMEM; @@ -330,8 +317,8 @@ error = ENOEXEC; goto out; } +printf("section table read in ok\n"); -printf("scan header1\n"); /* Scan the section header for information and table sizing. */ nsym = 0; symtabindex = -1; @@ -339,28 +326,25 @@ for (i = 0; i < hdr->e_shnum; i++) { switch (shdr[i].sh_type) { case SHT_PROGBITS: -printf("scan: progbits!\n"); ef->nprogtab++; break; case SHT_NOBITS: -printf("scan: nobits!\n"); ef->nnobittab++; break; case SHT_SYMTAB: -printf("scan: symtab!\n"); nsym++; symtabindex = i; symstrindex = shdr[i].sh_link; -printf("[symtab peer is %d]\n", symstrindex); +printf("[symtab %d peer is %d]\n", i, symstrindex); break; case SHT_REL: -printf("scan: rel!\n"); ef->nrel++; break; case SHT_RELA: -printf("scan: rela!\n"); ef->nrela++; break; + case SHT_STRTAB: + break; default: printf("scan: unknown section type %d\n", shdr[i].sh_type); break; @@ -436,7 +420,6 @@ rl = 0; ra = 0; alignmask = 0; -printf("scan pass 2\n"); for (i = 0; i < hdr->e_shnum; i++) { switch (shdr[i].sh_type) { case SHT_PROGBITS: @@ -557,7 +540,6 @@ if (error) goto out; -printf("reading progbits\n"); /* Read in the text/data/set/etc sections */ for (i = 0; i < ef->nprogtab; i++) { printf("reading progbits %d\n", i); @@ -598,8 +580,6 @@ goto out; } - -printf("now do post link stuff\n"); /* Inform the kld system about the situation */ lf->address = ef->address = mapbase; lf->size = mapsize; @@ -638,7 +618,6 @@ VOP_UNLOCK(nd.ni_vp, 0, td); vn_close(nd.ni_vp, FREAD, td->td_ucred, td); -biteme--; return error; } @@ -715,10 +694,10 @@ /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nrel; i++) { rel = ef->reltab[i].rel; +printf("==============================\n"); printf("doing rel relocation block %d: %p, size %ld\n", i, rel, ef->reltab[i].filesz); if (rel) { rellim = (const Elf_Rel *)((const char *)rel + ef->reltab[i].filesz); -printf("rellim is %p\n", rellim); base = findbase(ef, ef->reltab[i].sec); while (rel < rellim) { printf("rel doing: %p\n", rel); @@ -736,15 +715,16 @@ rel++; } } +printf("\n"); } /* Perform relocations with addend if there are any: */ for (i = 0; i < ef->nrela; i++) { rela = ef->relatab[i].rela; +printf("\n==============================\n"); printf("doing rela relocation block %d, %p, size %ld\n", i, rela, ef->relatab[i].filesz); if (rela) { relalim = (const Elf_Rela *)((const char *)rela + ef->relatab[i].filesz); -printf("relalim is %p\n", relalim); base = findbase(ef, ef->relatab[i].sec); while (rela < relalim) { printf("rela doing: %p\n", rela); @@ -762,9 +742,10 @@ rela++; } } +printf("\n"); } -printf("relocate_file done\n"); +printf("relocate_file finished\n"); return 0; } @@ -938,14 +919,11 @@ Elf_Addr ret; int i; -printf("elf_obj_lookup: symidx %ld (< %ld?)\n", symidx, ef->ddbsymcnt); - /* Don't even try to lookup the symbol if the index is bogus. */ if (symidx >= ef->ddbsymcnt) return (0); sym = ef->ddbsymtab + symidx; -printf("sym: %p (base %p)\n", sym, ef->ddbsymtab); /* Theoretically we can avoid a lookup for some locals */ switch (ELF64_ST_BIND(sym->st_info)) { @@ -957,18 +935,16 @@ /* Relative to section number */ for (i = 0; i < ef->nprogtab; i++) { if (sym->st_shndx == ef->progtab[i].sec) { -printf("FOUND PROGBITS SECTION RELOC, name %s\n", ef->progtab[i].name); ret = (Elf_Addr)ef->progtab[i].addr; -printf("returning base 0x%lx\n", ret); +printf("STB_LOCAL: sym %p idx %lx -> progbits section '%s', base 0x%lx\n", sym, symidx, ef->progtab[i].name, ret); break; } } if (ret == 0) { for (i = 0; i < ef->nnobittab; i++) { if (sym->st_shndx == ef->nobittab[i].sec) { -printf("FOUND NOBITS SECTION RELOC, name %s\n", ef->nobittab[i].name); ret = (Elf_Addr)ef->nobittab[i].addr; -printf("returning base 0x%lx\n", ret); +printf("STB_LOCAL: sym %p idx %lx -> nobits section '%s', base 0x%lx\n", sym, symidx, ef->nobittab[i].name, ret); break; } } @@ -982,9 +958,8 @@ /* Force a lookup failure if the symbol name is bogus. */ if (*symbol == 0) return (0); -printf("calling linker_file_lookup_symbol, deps %d\n", deps); ret = ((Elf_Addr)linker_file_lookup_symbol(lf, symbol, deps)); -printf("linker_file_lookup_symbol returns 0x%lx\n", ret); +printf("STB_GLOBAL: sym %p idx %lx name '%s' -> 0x%lx\n", sym, symidx, symbol, ret); return ret; default: printf("UNKNOWN BINDING %d\n", ELF64_ST_BIND(sym->st_info)); @@ -1011,10 +986,10 @@ /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nrel; i++) { rel = ef->reltab[i].rel; +printf("==============================\n"); printf("doing rel relocation block %d: %p, size %ld\n", i, rel, ef->relatab[i].filesz); if (rel) { rellim = (const Elf_Rel *)((const char *)rel + ef->reltab[i].filesz); -printf("rellim is %p\n", rellim); base = findbase(ef, ef->reltab[i].sec); while (rel < rellim) { printf("rel doing: %p\n", rel); @@ -1027,15 +1002,16 @@ rel++; } } +printf("\n"); } /* Perform relocations with addend if there are any: */ for (i = 0; i < ef->nrela; i++) { rela = ef->relatab[i].rela; +printf("==============================\n"); printf("doing rela relocation block %d: %p, size %ld\n", i, rela, ef->relatab[i].filesz); if (rela) { relalim = (const Elf_Rela *)((const char *)rela + ef->relatab[i].filesz); -printf("relalim is %p\n", relalim); base = findbase(ef, ef->relatab[i].sec); while (rela < relalim) { printf("rela doing: %p\n", rela); @@ -1048,5 +1024,6 @@ rela++; } } +printf("\n"); } } From owner-p4-projects@FreeBSD.ORG Fri Apr 2 11:54:41 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 196C416A4D0; Fri, 2 Apr 2004 11:54:41 -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 DE6E216A4CE for ; Fri, 2 Apr 2004 11:54:40 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C0DAF43D4C for ; Fri, 2 Apr 2004 11:54:40 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i32JseGe085189 for ; Fri, 2 Apr 2004 11:54:40 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i32JseCN085186 for perforce@freebsd.org; Fri, 2 Apr 2004 11:54:40 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 2 Apr 2004 11:54:40 -0800 (PST) Message-Id: <200404021954.i32JseCN085186@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 50206 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: Fri, 02 Apr 2004 19:54:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=50206 Change 50206 by peter@peter_hammer on 2004/04/02 11:54:02 cosmetic tidy up Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#26 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#26 (text+ko) ==== @@ -500,7 +500,7 @@ vm_object_reference(ef->object); ef->address = (caddr_t) vm_map_min(kernel_map); error = vm_map_find(kernel_map, ef->object, 0, - (vm_offset_t *) &ef->address, mapsize, 1, VM_PROT_ALL, VM_PROT_ALL, 0); + (vm_offset_t *) &ef->address, mapsize, TRUE, VM_PROT_ALL, VM_PROT_ALL, FALSE); if (error) { vm_object_deallocate(ef->object); ef->object = 0; @@ -511,6 +511,7 @@ vm_map_wire(kernel_map, (vm_offset_t)mapbase, (vm_offset_t)mapbase + round_page(mapsize), VM_MAP_WIRE_SYSTEM|VM_MAP_WIRE_NOHOLES); + printf("final mapbase %p, final mapsize %ld\n", mapbase, mapsize); /* Add the base address to the previously calculated/aligned offsets */ @@ -634,8 +635,6 @@ (vm_offset_t) ef->address + (ef->object->size << PAGE_SHIFT)); vm_object_deallocate(ef->object); } - if (ef->address) - free(ef->address, M_LINKER); if (ef->e_shdr) free(ef->e_shdr, M_LINKER); if (ef->ddbsymtab) @@ -879,30 +878,6 @@ return (0); } -#if 0 -const Elf_Sym * -elf_get_sym(linker_file_t lf, Elf_Word symidx) -{ - elf_file_t ef = (elf_file_t)lf; - - if (symidx >= ef->nchains) - return (NULL); - return (ef->symtab + symidx); -} - -const char * -elf_get_symname(linker_file_t lf, Elf_Word symidx) -{ - elf_file_t ef = (elf_file_t)lf; - const Elf_Sym *sym; - - if (symidx >= ef->nchains) - return (NULL); - sym = ef->symtab + symidx; - return (ef->strtab + sym->st_name); -} -#endif - /* * Symbol lookup function that can be used when the symbol index is known (ie * in relocations). It uses the symbol index instead of doing a fully fledged @@ -961,6 +936,11 @@ ret = ((Elf_Addr)linker_file_lookup_symbol(lf, symbol, deps)); printf("STB_GLOBAL: sym %p idx %lx name '%s' -> 0x%lx\n", sym, symidx, symbol, ret); return ret; + + case STB_WEAK: + printf("Weak symbols not supported\n"); + return (0); + default: printf("UNKNOWN BINDING %d\n", ELF64_ST_BIND(sym->st_info)); return (0); From owner-p4-projects@FreeBSD.ORG Fri Apr 2 12:35:34 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4EAB516A4D0; Fri, 2 Apr 2004 12:35: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 2331316A4CF for ; Fri, 2 Apr 2004 12:35:34 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 15CAC43D45 for ; Fri, 2 Apr 2004 12:35:34 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i32KZXGe094426 for ; Fri, 2 Apr 2004 12:35:33 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i32KZXOY094423 for perforce@freebsd.org; Fri, 2 Apr 2004 12:35:33 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 2 Apr 2004 12:35:33 -0800 (PST) Message-Id: <200404022035.i32KZXOY094423@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 50211 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: Fri, 02 Apr 2004 20:35:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=50211 Change 50211 by peter@peter_hammer on 2004/04/02 12:34:52 de-printf. I'm pretty sure my bugs are elsewhere now. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#19 edit .. //depot/projects/hammer/sys/kern/link_elf_obj.c#27 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#19 (text+ko) ==== @@ -137,13 +137,11 @@ case R_X86_64_NONE: /* none */ -printf("R_X86_64_NONE\n"); break; case R_X86_64_64: /* S + A */ addr = lu(lf, symidx, 1); val = addr + addend; -printf("R_X86_64_64 %p -> (addr 0x%lx + addend 0x%lx) = 0x%lx\n", where, addr, addend, val); if (addr == 0) return -1; if (*where != val) @@ -154,7 +152,6 @@ addr = lu(lf, symidx, 1); where32 = (Elf32_Addr *)where; val32 = (Elf32_Addr)(addr + addend - (Elf_Addr)where); -printf("R_X86_64_PC32: %p -> (addr 0x%lx, addend 0x%lx - where) = 0x%x\n", where, addr, addend, val32); if (addr == 0) return -1; if (*where32 != val32) @@ -165,7 +162,6 @@ addr = lu(lf, symidx, 1); val32 = (Elf32_Addr)(addr + addend); where32 = (Elf32_Addr *)where; -printf("R_X86_64_32: %p -> (addr 0x%lx + addend 0x%lx) = 0x%x\n", where, addr, addend, val32); if (addr == 0) return -1; if (*where32 != val32) @@ -183,7 +179,6 @@ case R_X86_64_GLOB_DAT: /* S */ addr = lu(lf, symidx, 1); -printf("R_X86_64_GLOB_DAT: %p -> addr 0x%lx\n", where, addr); if (addr == 0) return -1; if (*where != addr) @@ -193,7 +188,6 @@ case R_X86_64_RELATIVE: /* B + A */ addr = relocbase + addend; val = addr; -printf("R_X86_64_RELATIVE: %p -> 0x%lx\n", where, val); if (*where != val) *where = val; break; ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#27 (text+ko) ==== @@ -236,7 +236,6 @@ } #endif -printf("link_elf_obj: begin!\n"); /* Read the elf header from the file. */ hdr = malloc(sizeof(*hdr), M_LINKER, M_WAITOK); if (hdr == NULL) { @@ -281,8 +280,6 @@ goto out; } -printf("elf_load_obj: initial checks look ok!\n"); - lf = linker_make_file(filename, &link_elf_class); if (!lf) { error = ENOMEM; @@ -303,7 +300,6 @@ goto out; } shdr = malloc(nbytes, M_LINKER, M_WAITOK | M_ZERO); -printf("section table %d bytes allocated at %p\n", nbytes, shdr); if (shdr == NULL) { error = ENOMEM; goto out; @@ -317,7 +313,6 @@ error = ENOEXEC; goto out; } -printf("section table read in ok\n"); /* Scan the section header for information and table sizing. */ nsym = 0; @@ -335,7 +330,6 @@ nsym++; symtabindex = i; symstrindex = shdr[i].sh_link; -printf("[symtab %d peer is %d]\n", i, symstrindex); break; case SHT_REL: ef->nrel++; @@ -345,12 +339,8 @@ break; case SHT_STRTAB: break; - default: -printf("scan: unknown section type %d\n", shdr[i].sh_type); - break; } } -printf("finished scan 1\n"); if (ef->nprogtab == 0 && ef->nnobittab == 0) { link_elf_error("file has no contents"); error = ENOEXEC; @@ -384,11 +374,9 @@ /* Space for symbol table */ ef->ddbsymcnt = shdr[symtabindex].sh_size / sizeof(Elf_Sym); ef->ddbsymtab = malloc(shdr[symtabindex].sh_size, M_LINKER, M_WAITOK); -printf("symbol table at %p, size 0x%lx\n", ef->ddbsymtab, shdr[symtabindex].sh_size); ef->ddbstrcnt = shdr[symstrindex].sh_size; ef->ddbstrtab = malloc(shdr[symstrindex].sh_size, M_LINKER, M_WAITOK); -printf("string table at %p, size 0x%lx\n", ef->ddbstrtab, shdr[symstrindex].sh_size); if (ef->ddbsymtab == NULL || ef->ddbstrtab == NULL) { error = ENOMEM; @@ -405,7 +393,6 @@ error = ENOMEM; goto out; } -printf("reading shstrtab\n"); error = vn_rdwr(UIO_READ, nd.ni_vp, ef->shstrtab, shdr[shstrindex].sh_size, shdr[shstrindex].sh_offset, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, @@ -425,10 +412,8 @@ case SHT_PROGBITS: case SHT_NOBITS: alignmask = shdr[i].sh_addralign - 1; -printf("addralign %ld mask %d\n", shdr[i].sh_addralign, alignmask); mapsize += alignmask; mapsize &= ~alignmask; -printf("mapsize now at %ld\n", mapsize); break; } @@ -443,7 +428,6 @@ ef->progtab[pb].name = ef->shstrtab + shdr[i].sh_name; else ef->progtab[pb].name = "<>"; -printf("progbits at %ld, sec %d, name %s\n", mapsize, ef->progtab[pb].sec, ef->progtab[pb].name); mapsize += shdr[i].sh_size; pb++; break; @@ -456,13 +440,11 @@ ef->nobittab[nb].name = ef->shstrtab + shdr[i].sh_name; else ef->nobittab[nb].name = "<>"; -printf("nobits at %ld, sec %d name %s\n", mapsize, ef->nobittab[nb].sec, ef->nobittab[nb].name); mapsize += shdr[i].sh_size; nb++; break; case SHT_REL: ef->reltab[rl].rel = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); -printf("rel %ld allocated at %p\n", shdr[i].sh_size, ef->reltab[rl].rel); ef->reltab[rl].fileoff = shdr[i].sh_offset; ef->reltab[rl].filesz = shdr[i].sh_size; ef->reltab[rl].sec = shdr[i].sh_info; @@ -470,7 +452,6 @@ break; case SHT_RELA: ef->relatab[ra].rela = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); -printf("rela %ld allocated at %p\n", shdr[i].sh_size, ef->relatab[ra].rela); ef->relatab[ra].fileoff = shdr[i].sh_offset; ef->relatab[ra].filesz = shdr[i].sh_size; ef->relatab[ra].sec = shdr[i].sh_info; @@ -512,20 +493,14 @@ (vm_offset_t)mapbase + round_page(mapsize), VM_MAP_WIRE_SYSTEM|VM_MAP_WIRE_NOHOLES); -printf("final mapbase %p, final mapsize %ld\n", mapbase, mapsize); - /* Add the base address to the previously calculated/aligned offsets */ - for (i = 0; i < ef->nprogtab; i++) { + for (i = 0; i < ef->nprogtab; i++) ef->progtab[i].addr = mapbase + (uintptr_t)ef->progtab[i].addr; -printf("progtab[%d] at %p\n", i, ef->progtab[i].addr); - } - for (i = 0; i < ef->nnobittab; i++) { + + for (i = 0; i < ef->nnobittab; i++) ef->nobittab[i].addr = mapbase + (uintptr_t)ef->nobittab[i].addr; -printf("nobittab[%d] at %p\n", i, ef->nobittab[i].addr); - } -printf("reading symbols\n"); /* Load the symbol table. */ error = vn_rdwr(UIO_READ, nd.ni_vp, (void *)ef->ddbsymtab, shdr[symtabindex].sh_size, shdr[symtabindex].sh_offset, @@ -533,7 +508,6 @@ &resid, td); if (error) goto out; -printf("reading strings\n"); error = vn_rdwr(UIO_READ, nd.ni_vp, ef->ddbstrtab, shdr[symstrindex].sh_size, shdr[symstrindex].sh_offset, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, @@ -543,7 +517,6 @@ /* Read in the text/data/set/etc sections */ for (i = 0; i < ef->nprogtab; i++) { -printf("reading progbits %d\n", i); error = vn_rdwr(UIO_READ, nd.ni_vp, ef->progtab[i].addr, ef->progtab[i].filesz, @@ -559,7 +532,6 @@ * usually not both. */ for (i = 0; i < ef->nrel; i++) { -printf("reading rel segment %d\n", i); error = vn_rdwr(UIO_READ, nd.ni_vp, (void *)ef->reltab[i].rel, ef->reltab[i].filesz, @@ -570,7 +542,6 @@ goto out; } for (i = 0; i < ef->nrela; i++) { -printf("reading rela segment %d\n", i); error = vn_rdwr(UIO_READ, nd.ni_vp, (void *)ef->relatab[i].rela, ef->relatab[i].filesz, @@ -585,33 +556,27 @@ lf->address = ef->address = mapbase; lf->size = mapsize; -printf("do intra-module relocs\n"); /* Local intra-module relocations */ link_elf_reloc_local(lf); -printf("load dependencies\n"); /* Pull in dependencies */ error = linker_load_dependencies(lf); if (error) goto out; -printf("do external relocs\n"); /* External relocations */ error = relocate_file(ef); if (error) goto out; -printf("notify MD code\n"); /* Notify MD code that a module is being loaded. */ error = elf_cpu_load_file(lf); if (error) goto out; -printf("HOLY SHIT! WE MADE IT!!!\n"); *result = lf; out: -printf("link_elf_obj: finishing up! error = %d\n", error); if (error && lf) linker_file_unload(lf); if (hdr) @@ -693,13 +658,10 @@ /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nrel; i++) { rel = ef->reltab[i].rel; -printf("==============================\n"); -printf("doing rel relocation block %d: %p, size %ld\n", i, rel, ef->reltab[i].filesz); if (rel) { rellim = (const Elf_Rel *)((const char *)rel + ef->reltab[i].filesz); base = findbase(ef, ef->reltab[i].sec); while (rel < rellim) { -printf("rel doing: %p\n", rel); symidx = ELF_R_SYM(rel->r_info); if (symidx < ef->ddbsymcnt) { sym = ef->ddbsymtab + symidx; @@ -714,19 +676,15 @@ rel++; } } -printf("\n"); } /* Perform relocations with addend if there are any: */ for (i = 0; i < ef->nrela; i++) { rela = ef->relatab[i].rela; -printf("\n==============================\n"); -printf("doing rela relocation block %d, %p, size %ld\n", i, rela, ef->relatab[i].filesz); if (rela) { relalim = (const Elf_Rela *)((const char *)rela + ef->relatab[i].filesz); base = findbase(ef, ef->relatab[i].sec); while (rela < relalim) { -printf("rela doing: %p\n", rela); symidx = ELF_R_SYM(rela->r_info); if (symidx < ef->ddbsymcnt) { sym = ef->ddbsymtab + symidx; @@ -741,10 +699,8 @@ rela++; } } -printf("\n"); } -printf("relocate_file finished\n"); return 0; } @@ -836,8 +792,6 @@ void **start, **stop; int i, count; -printf("lookup_set: name %s\n", name); - /* Relative to section number */ for (i = 0; i < ef->nprogtab; i++) { if ((strncmp(ef->progtab[i].name, "set_", 4) == 0) && @@ -845,7 +799,6 @@ start = (void **)ef->progtab[i].addr; stop = (void **)((char *)ef->progtab[i].addr + ef->progtab[i].filesz); count = stop - start; -printf("FOUND: section %d start %p stop %p count %d\n", i, start, stop, count); if (startp) *startp = start; if (stopp) @@ -911,7 +864,6 @@ for (i = 0; i < ef->nprogtab; i++) { if (sym->st_shndx == ef->progtab[i].sec) { ret = (Elf_Addr)ef->progtab[i].addr; -printf("STB_LOCAL: sym %p idx %lx -> progbits section '%s', base 0x%lx\n", sym, symidx, ef->progtab[i].name, ret); break; } } @@ -919,7 +871,6 @@ for (i = 0; i < ef->nnobittab; i++) { if (sym->st_shndx == ef->nobittab[i].sec) { ret = (Elf_Addr)ef->nobittab[i].addr; -printf("STB_LOCAL: sym %p idx %lx -> nobits section '%s', base 0x%lx\n", sym, symidx, ef->nobittab[i].name, ret); break; } } @@ -934,7 +885,6 @@ if (*symbol == 0) return (0); ret = ((Elf_Addr)linker_file_lookup_symbol(lf, symbol, deps)); -printf("STB_GLOBAL: sym %p idx %lx name '%s' -> 0x%lx\n", sym, symidx, symbol, ret); return ret; case STB_WEAK: @@ -942,7 +892,6 @@ return (0); default: -printf("UNKNOWN BINDING %d\n", ELF64_ST_BIND(sym->st_info)); return (0); } } @@ -966,13 +915,10 @@ /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nrel; i++) { rel = ef->reltab[i].rel; -printf("==============================\n"); -printf("doing rel relocation block %d: %p, size %ld\n", i, rel, ef->relatab[i].filesz); if (rel) { rellim = (const Elf_Rel *)((const char *)rel + ef->reltab[i].filesz); base = findbase(ef, ef->reltab[i].sec); while (rel < rellim) { -printf("rel doing: %p\n", rel); symidx = ELF_R_SYM(rel->r_info); if (symidx < ef->ddbsymcnt) { sym = ef->ddbsymtab + symidx; @@ -982,19 +928,15 @@ rel++; } } -printf("\n"); } /* Perform relocations with addend if there are any: */ for (i = 0; i < ef->nrela; i++) { rela = ef->relatab[i].rela; -printf("==============================\n"); -printf("doing rela relocation block %d: %p, size %ld\n", i, rela, ef->relatab[i].filesz); if (rela) { relalim = (const Elf_Rela *)((const char *)rela + ef->relatab[i].filesz); base = findbase(ef, ef->relatab[i].sec); while (rela < relalim) { -printf("rela doing: %p\n", rela); symidx = ELF_R_SYM(rela->r_info); if (symidx < ef->ddbsymcnt) { sym = ef->ddbsymtab + symidx; @@ -1004,6 +946,5 @@ rela++; } } -printf("\n"); } } From owner-p4-projects@FreeBSD.ORG Fri Apr 2 14:16:54 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B6A3316A4E3; Fri, 2 Apr 2004 14:16:53 -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 7FB8316A4D8 for ; Fri, 2 Apr 2004 14:16:53 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 73E1B43D41 for ; Fri, 2 Apr 2004 14:16:53 -0800 (PST) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i32MGrGe023841 for ; Fri, 2 Apr 2004 14:16:53 -0800 (PST) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i32MGqTD023836 for perforce@freebsd.org; Fri, 2 Apr 2004 14:16:52 -0800 (PST) (envelope-from julian@freebsd.org) Date: Fri, 2 Apr 2004 14:16:52 -0800 (PST) Message-Id: <200404022216.i32MGqTD023836@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 50212 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: Fri, 02 Apr 2004 22:16:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=50212 Change 50212 by julian@julian_desk on 2004/04/02 14:15:53 nsched should now reflect -current /sys Affected files ... .. //depot/projects/nsched/sys/Makefile#1 branch .. //depot/projects/nsched/sys/alpha/Makefile#1 branch .. //depot/projects/nsched/sys/alpha/alpha/alpha-gdbstub.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/api_up1000.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/atomic.s#1 branch .. //depot/projects/nsched/sys/alpha/alpha/autoconf.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/busdma_machdep.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/busspace.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/clock.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/clock_if.m#1 branch .. //depot/projects/nsched/sys/alpha/alpha/cpuconf.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/critical.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/db_disasm.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/db_instruction.h#1 branch .. //depot/projects/nsched/sys/alpha/alpha/db_interface.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/db_trace.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/dec_1000a.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/dec_2100_a50.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/dec_2100_a500.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/dec_3000_300.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/dec_3000_500.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/dec_axppci_33.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/dec_eb164.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/dec_eb64plus.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/dec_kn20aa.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/dec_kn300.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/dec_kn8ae.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/dec_st550.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/dec_st6600.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/divrem.m4#1 branch .. //depot/projects/nsched/sys/alpha/alpha/dump_machdep.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/elf_machdep.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/exception.s#1 branch .. //depot/projects/nsched/sys/alpha/alpha/fp_emulate.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/genassym.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/ieee_float.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/ieee_float.h#1 branch .. //depot/projects/nsched/sys/alpha/alpha/in_cksum.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/interrupt.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/locore.s#1 branch .. //depot/projects/nsched/sys/alpha/alpha/machdep.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/mem.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/mp_machdep.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/pal.s#1 branch .. //depot/projects/nsched/sys/alpha/alpha/pmap.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/prom.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/prom_disp.s#1 branch .. //depot/projects/nsched/sys/alpha/alpha/promcons.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/sgmap.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/support.s#1 branch .. //depot/projects/nsched/sys/alpha/alpha/swtch.s#1 branch .. //depot/projects/nsched/sys/alpha/alpha/sys_machdep.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/timerreg.h#1 branch .. //depot/projects/nsched/sys/alpha/alpha/trap.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/uio_machdep.c#1 branch .. //depot/projects/nsched/sys/alpha/alpha/vm_machdep.c#1 branch .. //depot/projects/nsched/sys/alpha/compile/.cvsignore#1 branch .. //depot/projects/nsched/sys/alpha/conf/GENERIC#1 branch .. //depot/projects/nsched/sys/alpha/conf/GENERIC.hints#1 branch .. //depot/projects/nsched/sys/alpha/conf/Makefile#1 branch .. //depot/projects/nsched/sys/alpha/conf/NOTES#1 branch .. //depot/projects/nsched/sys/alpha/conf/gethints.awk#1 branch .. //depot/projects/nsched/sys/alpha/include/_inttypes.h#1 branch .. //depot/projects/nsched/sys/alpha/include/_limits.h#1 branch .. //depot/projects/nsched/sys/alpha/include/_stdint.h#1 branch .. //depot/projects/nsched/sys/alpha/include/_types.h#1 branch .. //depot/projects/nsched/sys/alpha/include/alpha_cpu.h#1 branch .. //depot/projects/nsched/sys/alpha/include/asm.h#1 branch .. //depot/projects/nsched/sys/alpha/include/atomic.h#1 branch .. //depot/projects/nsched/sys/alpha/include/bootinfo.h#1 branch .. //depot/projects/nsched/sys/alpha/include/bus.h#1 branch .. //depot/projects/nsched/sys/alpha/include/bus_memio.h#1 branch .. //depot/projects/nsched/sys/alpha/include/bus_pio.h#1 branch .. //depot/projects/nsched/sys/alpha/include/bwx.h#1 branch .. //depot/projects/nsched/sys/alpha/include/chipset.h#1 branch .. //depot/projects/nsched/sys/alpha/include/clock.h#1 branch .. //depot/projects/nsched/sys/alpha/include/clockvar.h#1 branch .. //depot/projects/nsched/sys/alpha/include/cpu.h#1 branch .. //depot/projects/nsched/sys/alpha/include/cpuconf.h#1 branch .. //depot/projects/nsched/sys/alpha/include/cpufunc.h#1 branch .. //depot/projects/nsched/sys/alpha/include/critical.h#1 branch .. //depot/projects/nsched/sys/alpha/include/db_machdep.h#1 branch .. //depot/projects/nsched/sys/alpha/include/elf.h#1 branch .. //depot/projects/nsched/sys/alpha/include/endian.h#1 branch .. //depot/projects/nsched/sys/alpha/include/exec.h#1 branch .. //depot/projects/nsched/sys/alpha/include/float.h#1 branch .. //depot/projects/nsched/sys/alpha/include/floatingpoint.h#1 branch .. //depot/projects/nsched/sys/alpha/include/fpu.h#1 branch .. //depot/projects/nsched/sys/alpha/include/frame.h#1 branch .. //depot/projects/nsched/sys/alpha/include/ieee.h#1 branch .. //depot/projects/nsched/sys/alpha/include/ieeefp.h#1 branch .. //depot/projects/nsched/sys/alpha/include/in_cksum.h#1 branch .. //depot/projects/nsched/sys/alpha/include/inst.h#1 branch .. //depot/projects/nsched/sys/alpha/include/intr.h#1 branch .. //depot/projects/nsched/sys/alpha/include/intrcnt.h#1 branch .. //depot/projects/nsched/sys/alpha/include/ioctl_bt848.h#1 branch .. //depot/projects/nsched/sys/alpha/include/ioctl_meteor.h#1 branch .. //depot/projects/nsched/sys/alpha/include/limits.h#1 branch .. //depot/projects/nsched/sys/alpha/include/md_var.h#1 branch .. //depot/projects/nsched/sys/alpha/include/mutex.h#1 branch .. //depot/projects/nsched/sys/alpha/include/pal.h#1 branch .. //depot/projects/nsched/sys/alpha/include/param.h#1 branch .. //depot/projects/nsched/sys/alpha/include/pc/bios.h#1 branch .. //depot/projects/nsched/sys/alpha/include/pc/display.h#1 branch .. //depot/projects/nsched/sys/alpha/include/pc/msdos.h#1 branch .. //depot/projects/nsched/sys/alpha/include/pc/vesa.h#1 branch .. //depot/projects/nsched/sys/alpha/include/pcb.h#1 branch .. //depot/projects/nsched/sys/alpha/include/pcpu.h#1 branch .. //depot/projects/nsched/sys/alpha/include/pmap.h#1 branch .. //depot/projects/nsched/sys/alpha/include/proc.h#1 branch .. //depot/projects/nsched/sys/alpha/include/profile.h#1 branch .. //depot/projects/nsched/sys/alpha/include/prom.h#1 branch .. //depot/projects/nsched/sys/alpha/include/pte.h#1 branch .. //depot/projects/nsched/sys/alpha/include/ptrace.h#1 branch .. //depot/projects/nsched/sys/alpha/include/reg.h#1 branch .. //depot/projects/nsched/sys/alpha/include/reloc.h#1 branch .. //depot/projects/nsched/sys/alpha/include/resource.h#1 branch .. //depot/projects/nsched/sys/alpha/include/rpb.h#1 branch .. //depot/projects/nsched/sys/alpha/include/runq.h#1 branch .. //depot/projects/nsched/sys/alpha/include/setjmp.h#1 branch .. //depot/projects/nsched/sys/alpha/include/sf_buf.h#1 branch .. //depot/projects/nsched/sys/alpha/include/sgmap.h#1 branch .. //depot/projects/nsched/sys/alpha/include/sigframe.h#1 branch .. //depot/projects/nsched/sys/alpha/include/signal.h#1 branch .. //depot/projects/nsched/sys/alpha/include/smp.h#1 branch .. //depot/projects/nsched/sys/alpha/include/stdarg.h#1 branch .. //depot/projects/nsched/sys/alpha/include/swiz.h#1 branch .. //depot/projects/nsched/sys/alpha/include/sysarch.h#1 branch .. //depot/projects/nsched/sys/alpha/include/ucontext.h#1 branch .. //depot/projects/nsched/sys/alpha/include/varargs.h#1 branch .. //depot/projects/nsched/sys/alpha/include/vmparam.h#1 branch .. //depot/projects/nsched/sys/alpha/isa/isa.c#1 branch .. //depot/projects/nsched/sys/alpha/isa/isa_dma.c#1 branch .. //depot/projects/nsched/sys/alpha/isa/isavar.h#1 branch .. //depot/projects/nsched/sys/alpha/isa/mcclock_isa.c#1 branch .. //depot/projects/nsched/sys/alpha/linux/Makefile#1 branch .. //depot/projects/nsched/sys/alpha/linux/linux.h#1 branch .. //depot/projects/nsched/sys/alpha/linux/linux_dummy.c#1 branch .. //depot/projects/nsched/sys/alpha/linux/linux_genassym.c#1 branch .. //depot/projects/nsched/sys/alpha/linux/linux_ipc64.h#1 branch .. //depot/projects/nsched/sys/alpha/linux/linux_locore.s#1 branch .. //depot/projects/nsched/sys/alpha/linux/linux_machdep.c#1 branch .. //depot/projects/nsched/sys/alpha/linux/linux_proto.h#1 branch .. //depot/projects/nsched/sys/alpha/linux/linux_syscall.h#1 branch .. //depot/projects/nsched/sys/alpha/linux/linux_sysent.c#1 branch .. //depot/projects/nsched/sys/alpha/linux/linux_sysvec.c#1 branch .. //depot/projects/nsched/sys/alpha/linux/syscalls.conf#1 branch .. //depot/projects/nsched/sys/alpha/linux/syscalls.master#1 branch .. //depot/projects/nsched/sys/alpha/mcbus/mcbus.c#1 branch .. //depot/projects/nsched/sys/alpha/mcbus/mcbusreg.h#1 branch .. //depot/projects/nsched/sys/alpha/mcbus/mcbusvar.h#1 branch .. //depot/projects/nsched/sys/alpha/mcbus/mcmem.c#1 branch .. //depot/projects/nsched/sys/alpha/mcbus/mcpcia.c#1 branch .. //depot/projects/nsched/sys/alpha/mcbus/mcpciareg.h#1 branch .. //depot/projects/nsched/sys/alpha/mcbus/mcpciavar.h#1 branch .. //depot/projects/nsched/sys/alpha/osf1/Makefile#1 branch .. //depot/projects/nsched/sys/alpha/osf1/README.mach-traps#1 branch .. //depot/projects/nsched/sys/alpha/osf1/exec_ecoff.h#1 branch .. //depot/projects/nsched/sys/alpha/osf1/imgact_osf1.c#1 branch .. //depot/projects/nsched/sys/alpha/osf1/osf1.h#1 branch .. //depot/projects/nsched/sys/alpha/osf1/osf1_ioctl.c#1 branch .. //depot/projects/nsched/sys/alpha/osf1/osf1_misc.c#1 branch .. //depot/projects/nsched/sys/alpha/osf1/osf1_mount.c#1 branch .. //depot/projects/nsched/sys/alpha/osf1/osf1_proto.h#1 branch .. //depot/projects/nsched/sys/alpha/osf1/osf1_signal.c#1 branch .. //depot/projects/nsched/sys/alpha/osf1/osf1_signal.h#1 branch .. //depot/projects/nsched/sys/alpha/osf1/osf1_syscall.h#1 branch .. //depot/projects/nsched/sys/alpha/osf1/osf1_sysent.c#1 branch .. //depot/projects/nsched/sys/alpha/osf1/osf1_sysvec.c#1 branch .. //depot/projects/nsched/sys/alpha/osf1/osf1_util.h#1 branch .. //depot/projects/nsched/sys/alpha/osf1/syscalls.conf#1 branch .. //depot/projects/nsched/sys/alpha/osf1/syscalls.master#1 branch .. //depot/projects/nsched/sys/alpha/pci/alphapci_if.m#1 branch .. //depot/projects/nsched/sys/alpha/pci/apecs.c#1 branch .. //depot/projects/nsched/sys/alpha/pci/apecs_pci.c#1 branch .. //depot/projects/nsched/sys/alpha/pci/apecsreg.h#1 branch .. //depot/projects/nsched/sys/alpha/pci/apecsvar.h#1 branch .. //depot/projects/nsched/sys/alpha/pci/bwx.c#1 branch .. //depot/projects/nsched/sys/alpha/pci/cia.c#1 branch .. //depot/projects/nsched/sys/alpha/pci/cia_pci.c#1 branch .. //depot/projects/nsched/sys/alpha/pci/ciareg.h#1 branch .. //depot/projects/nsched/sys/alpha/pci/ciavar.h#1 branch .. //depot/projects/nsched/sys/alpha/pci/irongate.c#1 branch .. //depot/projects/nsched/sys/alpha/pci/irongate_pci.c#1 branch .. //depot/projects/nsched/sys/alpha/pci/irongatereg.h#1 branch .. //depot/projects/nsched/sys/alpha/pci/irongatevar.h#1 branch .. //depot/projects/nsched/sys/alpha/pci/lca.c#1 branch .. //depot/projects/nsched/sys/alpha/pci/lca_pci.c#1 branch .. //depot/projects/nsched/sys/alpha/pci/lcareg.h#1 branch .. //depot/projects/nsched/sys/alpha/pci/lcavar.h#1 branch .. //depot/projects/nsched/sys/alpha/pci/pci_eb164_intr.s#1 branch .. //depot/projects/nsched/sys/alpha/pci/pci_eb64plus_intr.s#1 branch .. //depot/projects/nsched/sys/alpha/pci/pcibus.c#1 branch .. //depot/projects/nsched/sys/alpha/pci/pcibus.h#1 branch .. //depot/projects/nsched/sys/alpha/pci/swiz.c#1 branch .. //depot/projects/nsched/sys/alpha/pci/t2.c#1 branch .. //depot/projects/nsched/sys/alpha/pci/t2_pci.c#1 branch .. //depot/projects/nsched/sys/alpha/pci/t2reg.h#1 branch .. //depot/projects/nsched/sys/alpha/pci/t2var.h#1 branch .. //depot/projects/nsched/sys/alpha/pci/tsunami.c#1 branch .. //depot/projects/nsched/sys/alpha/pci/tsunami_pci.c#1 branch .. //depot/projects/nsched/sys/alpha/pci/tsunamireg.h#1 branch .. //depot/projects/nsched/sys/alpha/pci/tsunamivar.h#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/dwlpx.c#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/dwlpxreg.h#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/dwlpxvar.h#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/gbus.c#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/gbusreg.h#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/gbusvar.h#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/kftxx.c#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/kftxxreg.h#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/kftxxvar.h#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/mcclock_tlsb.c#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/tlsb.c#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/tlsbcpu.c#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/tlsbmem.c#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/tlsbreg.h#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/tlsbvar.h#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/zs_tlsb.c#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/zsreg.h#1 branch .. //depot/projects/nsched/sys/alpha/tlsb/zsvar.h#1 branch .. //depot/projects/nsched/sys/amd64/Makefile#1 branch .. //depot/projects/nsched/sys/amd64/acpica/OsdEnvironment.c#1 branch .. //depot/projects/nsched/sys/amd64/acpica/acpi_machdep.c#1 branch .. //depot/projects/nsched/sys/amd64/acpica/acpi_wakeup.c#1 branch .. //depot/projects/nsched/sys/amd64/acpica/madt.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/amd64-gdbstub.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/amd64_mem.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/apic_vector.S#1 branch .. //depot/projects/nsched/sys/amd64/amd64/atomic.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/autoconf.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/busdma_machdep.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/cpu_switch.S#1 branch .. //depot/projects/nsched/sys/amd64/amd64/critical.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/db_disasm.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/db_interface.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/db_trace.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/dump_machdep.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/elf_machdep.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/exception.S#1 branch .. //depot/projects/nsched/sys/amd64/amd64/fpu.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/genassym.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/identcpu.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/in_cksum.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/initcpu.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/intr_machdep.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/io_apic.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/legacy.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/local_apic.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/locore.S#1 branch .. //depot/projects/nsched/sys/amd64/amd64/machdep.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/mem.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/mp_machdep.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/mpboot.S#1 branch .. //depot/projects/nsched/sys/amd64/amd64/mptable.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/mptable_pci.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/nexus.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/pmap.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/sigtramp.S#1 branch .. //depot/projects/nsched/sys/amd64/amd64/support.S#1 branch .. //depot/projects/nsched/sys/amd64/amd64/sys_machdep.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/trap.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/tsc.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/uio_machdep.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/uma_machdep.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/vm_machdep.c#1 branch .. //depot/projects/nsched/sys/amd64/compile/.cvsignore#1 branch .. //depot/projects/nsched/sys/amd64/conf/GENERIC#1 branch .. //depot/projects/nsched/sys/amd64/conf/GENERIC.hints#1 branch .. //depot/projects/nsched/sys/amd64/conf/Makefile#1 branch .. //depot/projects/nsched/sys/amd64/conf/NOTES#1 branch .. //depot/projects/nsched/sys/amd64/conf/gethints.awk#1 branch .. //depot/projects/nsched/sys/amd64/ia32/ia32_exception.S#1 branch .. //depot/projects/nsched/sys/amd64/ia32/ia32_signal.c#1 branch .. //depot/projects/nsched/sys/amd64/ia32/ia32_sigtramp.S#1 branch .. //depot/projects/nsched/sys/amd64/ia32/ia32_syscall.c#1 branch .. //depot/projects/nsched/sys/amd64/include/_inttypes.h#1 branch .. //depot/projects/nsched/sys/amd64/include/_limits.h#1 branch .. //depot/projects/nsched/sys/amd64/include/_stdint.h#1 branch .. //depot/projects/nsched/sys/amd64/include/_types.h#1 branch .. //depot/projects/nsched/sys/amd64/include/acpica_machdep.h#1 branch .. //depot/projects/nsched/sys/amd64/include/apicreg.h#1 branch .. //depot/projects/nsched/sys/amd64/include/apicvar.h#1 branch .. //depot/projects/nsched/sys/amd64/include/asm.h#1 branch .. //depot/projects/nsched/sys/amd64/include/asmacros.h#1 branch .. //depot/projects/nsched/sys/amd64/include/atomic.h#1 branch .. //depot/projects/nsched/sys/amd64/include/bus.h#1 branch .. //depot/projects/nsched/sys/amd64/include/bus_amd64.h#1 branch .. //depot/projects/nsched/sys/amd64/include/bus_dma.h#1 branch .. //depot/projects/nsched/sys/amd64/include/bus_memio.h#1 branch .. //depot/projects/nsched/sys/amd64/include/bus_pio.h#1 branch .. //depot/projects/nsched/sys/amd64/include/clock.h#1 branch .. //depot/projects/nsched/sys/amd64/include/cpu.h#1 branch .. //depot/projects/nsched/sys/amd64/include/cpufunc.h#1 branch .. //depot/projects/nsched/sys/amd64/include/cputypes.h#1 branch .. //depot/projects/nsched/sys/amd64/include/critical.h#1 branch .. //depot/projects/nsched/sys/amd64/include/db_machdep.h#1 branch .. //depot/projects/nsched/sys/amd64/include/elf.h#1 branch .. //depot/projects/nsched/sys/amd64/include/endian.h#1 branch .. //depot/projects/nsched/sys/amd64/include/exec.h#1 branch .. //depot/projects/nsched/sys/amd64/include/float.h#1 branch .. //depot/projects/nsched/sys/amd64/include/floatingpoint.h#1 branch .. //depot/projects/nsched/sys/amd64/include/fpu.h#1 branch .. //depot/projects/nsched/sys/amd64/include/frame.h#1 branch .. //depot/projects/nsched/sys/amd64/include/ieeefp.h#1 branch .. //depot/projects/nsched/sys/amd64/include/in_cksum.h#1 branch .. //depot/projects/nsched/sys/amd64/include/intr_machdep.h#1 branch .. //depot/projects/nsched/sys/amd64/include/legacyvar.h#1 branch .. //depot/projects/nsched/sys/amd64/include/limits.h#1 branch .. //depot/projects/nsched/sys/amd64/include/md_var.h#1 branch .. //depot/projects/nsched/sys/amd64/include/metadata.h#1 branch .. //depot/projects/nsched/sys/amd64/include/mptable.h#1 branch .. //depot/projects/nsched/sys/amd64/include/mutex.h#1 branch .. //depot/projects/nsched/sys/amd64/include/param.h#1 branch .. //depot/projects/nsched/sys/amd64/include/pc/display.h#1 branch .. //depot/projects/nsched/sys/amd64/include/pcb.h#1 branch .. //depot/projects/nsched/sys/amd64/include/pcb_ext.h#1 branch .. //depot/projects/nsched/sys/amd64/include/pci_cfgreg.h#1 branch .. //depot/projects/nsched/sys/amd64/include/pcpu.h#1 branch .. //depot/projects/nsched/sys/amd64/include/pmap.h#1 branch .. //depot/projects/nsched/sys/amd64/include/proc.h#1 branch .. //depot/projects/nsched/sys/amd64/include/profile.h#1 branch .. //depot/projects/nsched/sys/amd64/include/psl.h#1 branch .. //depot/projects/nsched/sys/amd64/include/ptrace.h#1 branch .. //depot/projects/nsched/sys/amd64/include/reg.h#1 branch .. //depot/projects/nsched/sys/amd64/include/reloc.h#1 branch .. //depot/projects/nsched/sys/amd64/include/resource.h#1 branch .. //depot/projects/nsched/sys/amd64/include/runq.h#1 branch .. //depot/projects/nsched/sys/amd64/include/segments.h#1 branch .. //depot/projects/nsched/sys/amd64/include/setjmp.h#1 branch .. //depot/projects/nsched/sys/amd64/include/sf_buf.h#1 branch .. //depot/projects/nsched/sys/amd64/include/sigframe.h#1 branch .. //depot/projects/nsched/sys/amd64/include/signal.h#1 branch .. //depot/projects/nsched/sys/amd64/include/smp.h#1 branch .. //depot/projects/nsched/sys/amd64/include/specialreg.h#1 branch .. //depot/projects/nsched/sys/amd64/include/stdarg.h#1 branch .. //depot/projects/nsched/sys/amd64/include/sysarch.h#1 branch .. //depot/projects/nsched/sys/amd64/include/trap.h#1 branch .. //depot/projects/nsched/sys/amd64/include/tss.h#1 branch .. //depot/projects/nsched/sys/amd64/include/ucontext.h#1 branch .. //depot/projects/nsched/sys/amd64/include/varargs.h#1 branch .. //depot/projects/nsched/sys/amd64/include/vmparam.h#1 branch .. //depot/projects/nsched/sys/amd64/isa/atpic.c#1 branch .. //depot/projects/nsched/sys/amd64/isa/atpic_vector.S#1 branch .. //depot/projects/nsched/sys/amd64/isa/clock.c#1 branch .. //depot/projects/nsched/sys/amd64/isa/icu.h#1 branch .. //depot/projects/nsched/sys/amd64/isa/isa.c#1 branch .. //depot/projects/nsched/sys/amd64/isa/isa.h#1 branch .. //depot/projects/nsched/sys/amd64/isa/isa_dma.c#1 branch .. //depot/projects/nsched/sys/amd64/isa/isa_dma.h#1 branch .. //depot/projects/nsched/sys/amd64/isa/nmi.c#1 branch .. //depot/projects/nsched/sys/amd64/isa/timerreg.h#1 branch .. //depot/projects/nsched/sys/amd64/pci/pci_bus.c#1 branch .. //depot/projects/nsched/sys/amd64/pci/pci_cfgreg.c#1 branch .. //depot/projects/nsched/sys/arm/compile/.cvsignore#1 branch .. //depot/projects/nsched/sys/arm/include/_limits.h#1 branch .. //depot/projects/nsched/sys/arm/include/_stdint.h#1 branch .. //depot/projects/nsched/sys/arm/include/_types.h#1 branch .. //depot/projects/nsched/sys/arm/include/elf.h#1 branch .. //depot/projects/nsched/sys/arm/include/endian.h#1 branch .. //depot/projects/nsched/sys/arm/include/exec.h#1 branch .. //depot/projects/nsched/sys/arm/include/limits.h#1 branch .. //depot/projects/nsched/sys/arm/include/param.h#1 branch .. //depot/projects/nsched/sys/arm/include/signal.h#1 branch .. //depot/projects/nsched/sys/arm/include/ucontext.h#1 branch .. //depot/projects/nsched/sys/boot/Makefile#1 branch .. //depot/projects/nsched/sys/boot/README#1 branch .. //depot/projects/nsched/sys/boot/alpha/Makefile#1 branch .. //depot/projects/nsched/sys/boot/alpha/Makefile.inc#1 branch .. //depot/projects/nsched/sys/boot/alpha/boot1/Makefile#1 branch .. //depot/projects/nsched/sys/boot/alpha/boot1/boot1.c#1 branch .. //depot/projects/nsched/sys/boot/alpha/cdboot/Makefile#1 branch .. //depot/projects/nsched/sys/boot/alpha/cdboot/version#1 branch .. //depot/projects/nsched/sys/boot/alpha/common/Makefile.common#1 branch .. //depot/projects/nsched/sys/boot/alpha/common/conf.c#1 branch .. //depot/projects/nsched/sys/boot/alpha/common/help.alpha#1 branch .. //depot/projects/nsched/sys/boot/alpha/common/main.c#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/Makefile#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/OSFpal.c#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/alpha_copy.c#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/alpha_module.c#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/bbinfo.h#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/bootinfo.c#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/common.h#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/delay.c#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/devicename.c#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/elf_freebsd.c#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/getsecs.c#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/libalpha.h#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/pal.S#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/prom.c#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/prom_disp.S#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/prom_swpal.S#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/reboot.c#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/srmdisk.c#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/srmnet.c#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/start.S#1 branch .. //depot/projects/nsched/sys/boot/alpha/libalpha/time.c#1 branch .. //depot/projects/nsched/sys/boot/alpha/loader/Makefile#1 branch .. //depot/projects/nsched/sys/boot/alpha/loader/version#1 branch .. //depot/projects/nsched/sys/boot/alpha/netboot/Makefile#1 branch .. //depot/projects/nsched/sys/boot/alpha/netboot/version#1 branch .. //depot/projects/nsched/sys/boot/arc/Makefile#1 branch .. //depot/projects/nsched/sys/boot/arc/Makefile.inc#1 branch .. //depot/projects/nsched/sys/boot/arc/include/arcfuncs.h#1 branch .. //depot/projects/nsched/sys/boot/arc/include/arctypes.h#1 branch .. //depot/projects/nsched/sys/boot/arc/include/libarc.h#1 branch .. //depot/projects/nsched/sys/boot/arc/lib/Makefile#1 branch .. //depot/projects/nsched/sys/boot/arc/lib/abort.c#1 branch .. //depot/projects/nsched/sys/boot/arc/lib/arcconsole.c#1 branch .. //depot/projects/nsched/sys/boot/arc/lib/arcdisk.c#1 branch .. //depot/projects/nsched/sys/boot/arc/lib/arch/alpha/copy.c#1 branch .. //depot/projects/nsched/sys/boot/arc/lib/arch/alpha/rpb.c#1 branch .. //depot/projects/nsched/sys/boot/arc/lib/arch/alpha/setjmp.S#1 branch .. //depot/projects/nsched/sys/boot/arc/lib/arch/alpha/start.S#1 branch .. //depot/projects/nsched/sys/boot/arc/lib/bootinfo.c#1 branch .. //depot/projects/nsched/sys/boot/arc/lib/delay.c#1 branch .. //depot/projects/nsched/sys/boot/arc/lib/devicename.c#1 branch .. //depot/projects/nsched/sys/boot/arc/lib/elf_freebsd.c#1 branch .. //depot/projects/nsched/sys/boot/arc/lib/module.c#1 branch .. //depot/projects/nsched/sys/boot/arc/lib/prom.c#1 branch .. //depot/projects/nsched/sys/boot/arc/lib/setjmperr.c#1 branch .. //depot/projects/nsched/sys/boot/arc/lib/time.c#1 branch .. //depot/projects/nsched/sys/boot/arc/loader/Makefile#1 branch .. //depot/projects/nsched/sys/boot/arc/loader/conf.c#1 branch .. //depot/projects/nsched/sys/boot/arc/loader/help.alpha#1 branch .. //depot/projects/nsched/sys/boot/arc/loader/main.c#1 branch .. //depot/projects/nsched/sys/boot/arc/loader/version#1 branch .. //depot/projects/nsched/sys/boot/common/Makefile.inc#1 branch .. //depot/projects/nsched/sys/boot/common/bcache.c#1 branch .. //depot/projects/nsched/sys/boot/common/boot.c#1 branch .. //depot/projects/nsched/sys/boot/common/bootstrap.h#1 branch .. //depot/projects/nsched/sys/boot/common/commands.c#1 branch .. //depot/projects/nsched/sys/boot/common/console.c#1 branch .. //depot/projects/nsched/sys/boot/common/dev_net.c#1 branch .. //depot/projects/nsched/sys/boot/common/dev_net.h#1 branch .. //depot/projects/nsched/sys/boot/common/devopen.c#1 branch .. //depot/projects/nsched/sys/boot/common/help.common#1 branch .. //depot/projects/nsched/sys/boot/common/interp.c#1 branch .. //depot/projects/nsched/sys/boot/common/interp_backslash.c#1 branch .. //depot/projects/nsched/sys/boot/common/interp_forth.c#1 branch .. //depot/projects/nsched/sys/boot/common/interp_parse.c#1 branch .. //depot/projects/nsched/sys/boot/common/isapnp.c#1 branch .. //depot/projects/nsched/sys/boot/common/isapnp.h#1 branch .. //depot/projects/nsched/sys/boot/common/load.c#1 branch .. //depot/projects/nsched/sys/boot/common/load_elf.c#1 branch .. //depot/projects/nsched/sys/boot/common/load_elf32.c#1 branch .. //depot/projects/nsched/sys/boot/common/load_elf64.c#1 branch .. //depot/projects/nsched/sys/boot/common/loader.8#1 branch .. //depot/projects/nsched/sys/boot/common/ls.c#1 branch .. //depot/projects/nsched/sys/boot/common/merge_help.awk#1 branch .. //depot/projects/nsched/sys/boot/common/misc.c#1 branch .. //depot/projects/nsched/sys/boot/common/module.c#1 branch .. //depot/projects/nsched/sys/boot/common/newvers.sh#1 branch .. //depot/projects/nsched/sys/boot/common/panic.c#1 branch .. //depot/projects/nsched/sys/boot/common/pnp.c#1 branch .. //depot/projects/nsched/sys/boot/common/pnpdata#1 branch .. //depot/projects/nsched/sys/boot/common/ufsread.c#1 branch .. //depot/projects/nsched/sys/boot/efi/Makefile#1 branch .. //depot/projects/nsched/sys/boot/efi/Makefile.inc#1 branch .. //depot/projects/nsched/sys/boot/efi/include/README#1 branch .. //depot/projects/nsched/sys/boot/efi/include/efi.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/efi_nii.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/efiapi.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/eficon.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/efidebug.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/efidef.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/efidevp.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/efierr.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/efifpswa.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/efifs.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/efilib.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/efinet.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/efipart.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/efiprot.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/efipxebc.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/efiser.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/efistdarg.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/i386/efibind.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/i386/pe.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/ia64/efibind.h#1 branch .. //depot/projects/nsched/sys/boot/efi/include/ia64/pe.h#1 branch .. //depot/projects/nsched/sys/boot/efi/libefi/Makefile#1 branch .. //depot/projects/nsched/sys/boot/efi/libefi/arch/ia64/ldscript.ia64#1 branch .. //depot/projects/nsched/sys/boot/efi/libefi/arch/ia64/start.S#1 branch .. //depot/projects/nsched/sys/boot/efi/libefi/bootinfo.c#1 branch .. //depot/projects/nsched/sys/boot/efi/libefi/copy.c#1 branch .. //depot/projects/nsched/sys/boot/efi/libefi/delay.c#1 branch .. //depot/projects/nsched/sys/boot/efi/libefi/devicename.c#1 branch .. //depot/projects/nsched/sys/boot/efi/libefi/efi_console.c#1 branch .. //depot/projects/nsched/sys/boot/efi/libefi/efiboot.h#1 branch .. //depot/projects/nsched/sys/boot/efi/libefi/efifpswa.c#1 branch .. //depot/projects/nsched/sys/boot/efi/libefi/efifs.c#1 branch .. //depot/projects/nsched/sys/boot/efi/libefi/efinet.c#1 branch .. //depot/projects/nsched/sys/boot/efi/libefi/elf_freebsd.c#1 branch .. //depot/projects/nsched/sys/boot/efi/libefi/libefi.c#1 branch .. //depot/projects/nsched/sys/boot/efi/libefi/module.c#1 branch .. //depot/projects/nsched/sys/boot/efi/libefi/time.c#1 branch .. //depot/projects/nsched/sys/boot/efi/loader/Makefile#1 branch .. //depot/projects/nsched/sys/boot/efi/loader/conf.c#1 branch .. //depot/projects/nsched/sys/boot/efi/loader/main.c#1 branch .. //depot/projects/nsched/sys/boot/efi/loader/version#1 branch .. //depot/projects/nsched/sys/boot/ficl/Makefile#1 branch .. //depot/projects/nsched/sys/boot/ficl/alpha/sysdep.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/alpha/sysdep.h#1 branch .. //depot/projects/nsched/sys/boot/ficl/dict.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/ficl.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/ficl.h#1 branch .. //depot/projects/nsched/sys/boot/ficl/fileaccess.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/float.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/i386/sysdep.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/i386/sysdep.h#1 branch .. //depot/projects/nsched/sys/boot/ficl/ia64/sysdep.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/ia64/sysdep.h#1 branch .. //depot/projects/nsched/sys/boot/ficl/loader.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/math64.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/math64.h#1 branch .. //depot/projects/nsched/sys/boot/ficl/powerpc/sysdep.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/powerpc/sysdep.h#1 branch .. //depot/projects/nsched/sys/boot/ficl/prefix.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/search.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/softwords/classes.fr#1 branch .. //depot/projects/nsched/sys/boot/ficl/softwords/ficlclass.fr#1 branch .. //depot/projects/nsched/sys/boot/ficl/softwords/ficllocal.fr#1 branch .. //depot/projects/nsched/sys/boot/ficl/softwords/fileaccess.fr#1 branch .. //depot/projects/nsched/sys/boot/ficl/softwords/forml.fr#1 branch .. //depot/projects/nsched/sys/boot/ficl/softwords/freebsd.fr#1 branch .. //depot/projects/nsched/sys/boot/ficl/softwords/ifbrack.fr#1 branch .. //depot/projects/nsched/sys/boot/ficl/softwords/jhlocal.fr#1 branch .. //depot/projects/nsched/sys/boot/ficl/softwords/marker.fr#1 branch .. //depot/projects/nsched/sys/boot/ficl/softwords/oo.fr#1 branch .. //depot/projects/nsched/sys/boot/ficl/softwords/prefix.fr#1 branch .. //depot/projects/nsched/sys/boot/ficl/softwords/softcore.awk#1 branch .. //depot/projects/nsched/sys/boot/ficl/softwords/softcore.fr#1 branch .. //depot/projects/nsched/sys/boot/ficl/softwords/string.fr#1 branch .. //depot/projects/nsched/sys/boot/ficl/sparc64/sysdep.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/sparc64/sysdep.h#1 branch .. //depot/projects/nsched/sys/boot/ficl/stack.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/testmain.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/tools.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/unix.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/vm.c#1 branch .. //depot/projects/nsched/sys/boot/ficl/words.c#1 branch .. //depot/projects/nsched/sys/boot/forth/beastie.4th#1 branch .. //depot/projects/nsched/sys/boot/forth/frames.4th#1 branch .. //depot/projects/nsched/sys/boot/forth/loader.4th#1 branch .. //depot/projects/nsched/sys/boot/forth/loader.4th.8#1 branch .. //depot/projects/nsched/sys/boot/forth/loader.conf#1 branch .. //depot/projects/nsched/sys/boot/forth/loader.conf.5#1 branch .. //depot/projects/nsched/sys/boot/forth/loader.rc#1 branch .. //depot/projects/nsched/sys/boot/forth/pnp.4th#1 branch .. //depot/projects/nsched/sys/boot/forth/screen.4th#1 branch .. //depot/projects/nsched/sys/boot/forth/support.4th#1 branch .. //depot/projects/nsched/sys/boot/i386/Makefile#1 branch .. //depot/projects/nsched/sys/boot/i386/Makefile.inc#1 branch .. //depot/projects/nsched/sys/boot/i386/boot0/Makefile#1 branch .. //depot/projects/nsched/sys/boot/i386/boot0/boot0.s#1 branch .. //depot/projects/nsched/sys/boot/i386/boot0/boot0ext.s#1 branch .. //depot/projects/nsched/sys/boot/i386/boot0/boot0sio.s#1 branch .. //depot/projects/nsched/sys/boot/i386/boot0ext/Makefile#1 branch .. //depot/projects/nsched/sys/boot/i386/boot0sio/Makefile#1 branch .. //depot/projects/nsched/sys/boot/i386/boot2/Makefile#1 branch .. //depot/projects/nsched/sys/boot/i386/boot2/boot1.S#1 branch .. //depot/projects/nsched/sys/boot/i386/boot2/boot2.c#1 branch .. //depot/projects/nsched/sys/boot/i386/boot2/lib.h#1 branch .. //depot/projects/nsched/sys/boot/i386/boot2/sio.S#1 branch .. //depot/projects/nsched/sys/boot/i386/btx/Makefile#1 branch .. //depot/projects/nsched/sys/boot/i386/btx/Makefile.inc#1 branch .. //depot/projects/nsched/sys/boot/i386/btx/btx/Makefile#1 branch .. //depot/projects/nsched/sys/boot/i386/btx/btx/btx.S#1 branch .. //depot/projects/nsched/sys/boot/i386/btx/btxldr/Makefile#1 branch .. //depot/projects/nsched/sys/boot/i386/btx/btxldr/btxldr.S#1 branch .. //depot/projects/nsched/sys/boot/i386/btx/lib/Makefile#1 branch .. //depot/projects/nsched/sys/boot/i386/btx/lib/btxcsu.s#1 branch .. //depot/projects/nsched/sys/boot/i386/btx/lib/btxsys.s#1 branch .. //depot/projects/nsched/sys/boot/i386/btx/lib/btxv86.h#1 branch .. //depot/projects/nsched/sys/boot/i386/btx/lib/btxv86.s#1 branch .. //depot/projects/nsched/sys/boot/i386/cdboot/Makefile#1 branch .. //depot/projects/nsched/sys/boot/i386/cdboot/cdboot.s#1 branch .. //depot/projects/nsched/sys/boot/i386/kgzldr/Makefile#1 branch .. //depot/projects/nsched/sys/boot/i386/kgzldr/boot.c#1 branch .. //depot/projects/nsched/sys/boot/i386/kgzldr/crt.s#1 branch .. //depot/projects/nsched/sys/boot/i386/kgzldr/kgzldr.h#1 branch .. //depot/projects/nsched/sys/boot/i386/kgzldr/lib.c#1 branch .. //depot/projects/nsched/sys/boot/i386/kgzldr/sio.s#1 branch .. //depot/projects/nsched/sys/boot/i386/kgzldr/start.s#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/Makefile#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/amd64_tramp.S#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/biosacpi.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/bioscd.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/biosdisk.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/biosmem.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/biospci.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/biospnp.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/biossmap.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/bootinfo.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/bootinfo32.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/bootinfo64.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/comconsole.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/devicename.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/elf32_freebsd.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/elf64_freebsd.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/gatea20.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/i386_copy.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/i386_module.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/libi386.h#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/nullconsole.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/pread.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/pxe.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/pxe.h#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/pxetramp.s#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/time.c#1 branch .. //depot/projects/nsched/sys/boot/i386/libi386/vidconsole.c#1 branch .. //depot/projects/nsched/sys/boot/i386/loader/Makefile#1 branch .. //depot/projects/nsched/sys/boot/i386/loader/conf.c#1 branch .. //depot/projects/nsched/sys/boot/i386/loader/help.i386#1 branch .. //depot/projects/nsched/sys/boot/i386/loader/loader.rc#1 branch .. //depot/projects/nsched/sys/boot/i386/loader/main.c#1 branch .. //depot/projects/nsched/sys/boot/i386/loader/version#1 branch .. //depot/projects/nsched/sys/boot/i386/mbr/Makefile#1 branch .. //depot/projects/nsched/sys/boot/i386/mbr/mbr.s#1 branch .. //depot/projects/nsched/sys/boot/i386/pxeldr/Makefile#1 branch .. //depot/projects/nsched/sys/boot/i386/pxeldr/pxeboot.8#1 branch .. //depot/projects/nsched/sys/boot/i386/pxeldr/pxeldr.S#1 branch .. //depot/projects/nsched/sys/boot/ia64/Makefile#1 branch .. //depot/projects/nsched/sys/boot/ia64/Makefile.inc#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/Makefile#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/acpi_stub.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/bootinfo.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/copy.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/delay.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/devicename.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/efi_stub.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/elf_freebsd.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/exit.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/libski.h#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/module.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/pal_stub.S#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/sal_stub.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/skiconsole.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/skifs.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/ssc.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/libski/time.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/skiload/Makefile#1 branch .. //depot/projects/nsched/sys/boot/ia64/skiload/conf.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/skiload/ldscript.ia64#1 branch .. //depot/projects/nsched/sys/boot/ia64/skiload/main.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/skiload/skiload.cmd#1 branch .. //depot/projects/nsched/sys/boot/ia64/skiload/start.S#1 branch .. //depot/projects/nsched/sys/boot/ia64/skiload/version#1 branch .. //depot/projects/nsched/sys/boot/ofw/Makefile#1 branch .. //depot/projects/nsched/sys/boot/ofw/common/Makefile.inc#1 branch .. //depot/projects/nsched/sys/boot/ofw/common/main.c#1 branch .. //depot/projects/nsched/sys/boot/ofw/libofw/Makefile#1 branch .. //depot/projects/nsched/sys/boot/ofw/libofw/devicename.c#1 branch .. //depot/projects/nsched/sys/boot/ofw/libofw/elf_freebsd.c#1 branch .. //depot/projects/nsched/sys/boot/ofw/libofw/libofw.h#1 branch .. //depot/projects/nsched/sys/boot/ofw/libofw/ofw_console.c#1 branch .. //depot/projects/nsched/sys/boot/ofw/libofw/ofw_copy.c#1 branch .. //depot/projects/nsched/sys/boot/ofw/libofw/ofw_disk.c#1 branch .. //depot/projects/nsched/sys/boot/ofw/libofw/ofw_memory.c#1 branch .. //depot/projects/nsched/sys/boot/ofw/libofw/ofw_module.c#1 branch .. //depot/projects/nsched/sys/boot/ofw/libofw/ofw_net.c#1 branch .. //depot/projects/nsched/sys/boot/ofw/libofw/ofw_reboot.c#1 branch .. //depot/projects/nsched/sys/boot/ofw/libofw/ofw_time.c#1 branch .. //depot/projects/nsched/sys/boot/ofw/libofw/openfirm.c#1 branch .. //depot/projects/nsched/sys/boot/ofw/libofw/openfirm.h#1 branch .. //depot/projects/nsched/sys/boot/pc98/Makefile#1 branch .. //depot/projects/nsched/sys/boot/pc98/Makefile.inc#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot0.5/Makefile#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot0.5/boot.s#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot0.5/boot0.5.s#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot0.5/disk.s#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot0.5/selector.s#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot0.5/start.s#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot0.5/support.s#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot0.5/syscons.s#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot0/Makefile#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot0/boot0.s#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/Makefile#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/README.serial.98#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/asm.S#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/asm.h#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/bios.S#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/boot.c#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/boot.h#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/boot2.S#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/dinode.h#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/disk.c#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/fs.h#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/inode.h#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/io.c#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/probe_keyboard.c#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/quota.h#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/serial.S#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/serial_16550.S#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/serial_8251.S#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/start.S#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/sys.c#1 branch .. //depot/projects/nsched/sys/boot/pc98/boot2/table.c#1 branch .. //depot/projects/nsched/sys/boot/pc98/btx/Makefile#1 branch .. //depot/projects/nsched/sys/boot/pc98/btx/Makefile.inc#1 branch .. //depot/projects/nsched/sys/boot/pc98/btx/btx/Makefile#1 branch .. //depot/projects/nsched/sys/boot/pc98/btx/btx/btx.S#1 branch .. //depot/projects/nsched/sys/boot/pc98/btx/btxldr/Makefile#1 branch .. //depot/projects/nsched/sys/boot/pc98/btx/btxldr/btxldr.S#1 branch .. //depot/projects/nsched/sys/boot/pc98/btx/lib/Makefile#1 branch .. //depot/projects/nsched/sys/boot/pc98/btx/lib/btxcsu.s#1 branch .. //depot/projects/nsched/sys/boot/pc98/btx/lib/btxsys.s#1 branch .. //depot/projects/nsched/sys/boot/pc98/btx/lib/btxv86.h#1 branch .. //depot/projects/nsched/sys/boot/pc98/btx/lib/btxv86.s#1 branch .. //depot/projects/nsched/sys/boot/pc98/kgzldr/Makefile#1 branch .. //depot/projects/nsched/sys/boot/pc98/kgzldr/crt.s#1 branch .. //depot/projects/nsched/sys/boot/pc98/libpc98/Makefile#1 branch .. //depot/projects/nsched/sys/boot/pc98/libpc98/biosdisk.c#1 branch .. //depot/projects/nsched/sys/boot/pc98/libpc98/biosmem.c#1 branch .. //depot/projects/nsched/sys/boot/pc98/libpc98/comconsole.c#1 branch .. //depot/projects/nsched/sys/boot/pc98/libpc98/gatea20.c#1 branch .. //depot/projects/nsched/sys/boot/pc98/libpc98/i386_module.c#1 branch .. //depot/projects/nsched/sys/boot/pc98/libpc98/time.c#1 branch .. //depot/projects/nsched/sys/boot/pc98/libpc98/vidconsole.c#1 branch .. //depot/projects/nsched/sys/boot/pc98/loader/Makefile#1 branch .. //depot/projects/nsched/sys/boot/pc98/loader/conf.c#1 branch .. //depot/projects/nsched/sys/boot/pc98/loader/help.pc98#1 branch .. //depot/projects/nsched/sys/boot/pc98/loader/main.c#1 branch .. //depot/projects/nsched/sys/boot/powerpc/Makefile#1 branch .. //depot/projects/nsched/sys/boot/powerpc/loader/Makefile#1 branch .. //depot/projects/nsched/sys/boot/powerpc/loader/conf.c#1 branch .. //depot/projects/nsched/sys/boot/powerpc/loader/help.ofw#1 branch .. //depot/projects/nsched/sys/boot/powerpc/loader/metadata.c#1 branch .. //depot/projects/nsched/sys/boot/powerpc/loader/start.c#1 branch .. //depot/projects/nsched/sys/boot/powerpc/loader/version#1 branch .. //depot/projects/nsched/sys/boot/sparc64/Makefile#1 branch .. //depot/projects/nsched/sys/boot/sparc64/Makefile.inc#1 branch .. //depot/projects/nsched/sys/boot/sparc64/boot1/Makefile#1 branch .. //depot/projects/nsched/sys/boot/sparc64/boot1/_start.s#1 branch .. //depot/projects/nsched/sys/boot/sparc64/boot1/boot1.c#1 branch .. //depot/projects/nsched/sys/boot/sparc64/loader/Makefile#1 branch .. //depot/projects/nsched/sys/boot/sparc64/loader/help.sparc64#1 branch .. //depot/projects/nsched/sys/boot/sparc64/loader/locore.S#1 branch .. //depot/projects/nsched/sys/boot/sparc64/loader/main.c#1 branch .. //depot/projects/nsched/sys/boot/sparc64/loader/metadata.c#1 branch .. //depot/projects/nsched/sys/boot/sparc64/loader/version#1 branch .. //depot/projects/nsched/sys/cam/cam.c#1 branch .. //depot/projects/nsched/sys/cam/cam.h#1 branch .. //depot/projects/nsched/sys/cam/cam_ccb.h#1 branch .. //depot/projects/nsched/sys/cam/cam_debug.h#1 branch .. //depot/projects/nsched/sys/cam/cam_periph.c#1 branch .. //depot/projects/nsched/sys/cam/cam_periph.h#1 branch .. //depot/projects/nsched/sys/cam/cam_queue.c#1 branch .. //depot/projects/nsched/sys/cam/cam_queue.h#1 branch .. //depot/projects/nsched/sys/cam/cam_sim.c#1 branch .. //depot/projects/nsched/sys/cam/cam_sim.h#1 branch .. //depot/projects/nsched/sys/cam/cam_xpt.c#1 branch .. //depot/projects/nsched/sys/cam/cam_xpt.h#1 branch .. //depot/projects/nsched/sys/cam/cam_xpt_periph.h#1 branch .. //depot/projects/nsched/sys/cam/cam_xpt_sim.h#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_all.c#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_all.h#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_cd.c#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_cd.h#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_ch.c#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_ch.h#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_da.c#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_da.h#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_dvcfg.h#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_iu.h#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_low.c#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_low.h#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_low_pisa.c#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_low_pisa.h#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_message.h#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_pass.c#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_pass.h#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_pt.c#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_pt.h#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_sa.c#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_sa.h#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_ses.c#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_ses.h#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_targ_bh.c#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_target.c#1 branch .. //depot/projects/nsched/sys/cam/scsi/scsi_targetio.h#1 branch .. //depot/projects/nsched/sys/coda/00READ#1 branch .. //depot/projects/nsched/sys/coda/README#1 branch .. //depot/projects/nsched/sys/coda/TODO#1 branch .. //depot/projects/nsched/sys/coda/cnode.h#1 branch .. //depot/projects/nsched/sys/coda/coda.h#1 branch .. //depot/projects/nsched/sys/coda/coda_fbsd.c#1 branch .. //depot/projects/nsched/sys/coda/coda_io.h#1 branch .. //depot/projects/nsched/sys/coda/coda_kernel.h#1 branch .. //depot/projects/nsched/sys/coda/coda_namecache.c#1 branch .. //depot/projects/nsched/sys/coda/coda_namecache.h#1 branch .. //depot/projects/nsched/sys/coda/coda_opstats.h#1 branch .. //depot/projects/nsched/sys/coda/coda_pioctl.h#1 branch .. //depot/projects/nsched/sys/coda/coda_psdev.c#1 branch .. //depot/projects/nsched/sys/coda/coda_psdev.h#1 branch .. //depot/projects/nsched/sys/coda/coda_subr.c#1 branch .. //depot/projects/nsched/sys/coda/coda_subr.h#1 branch .. //depot/projects/nsched/sys/coda/coda_venus.c#1 branch .. //depot/projects/nsched/sys/coda/coda_venus.h#1 branch .. //depot/projects/nsched/sys/coda/coda_vfsops.c#1 branch .. //depot/projects/nsched/sys/coda/coda_vfsops.h#1 branch .. //depot/projects/nsched/sys/coda/coda_vnops.c#1 branch .. //depot/projects/nsched/sys/coda/coda_vnops.h#1 branch .. //depot/projects/nsched/sys/compat/freebsd32/Makefile#1 branch .. //depot/projects/nsched/sys/compat/freebsd32/freebsd32.h#1 branch .. //depot/projects/nsched/sys/compat/freebsd32/freebsd32_misc.c#1 branch .. //depot/projects/nsched/sys/compat/freebsd32/freebsd32_proto.h#1 branch .. //depot/projects/nsched/sys/compat/freebsd32/freebsd32_syscall.h#1 branch .. //depot/projects/nsched/sys/compat/freebsd32/freebsd32_syscalls.c#1 branch .. //depot/projects/nsched/sys/compat/freebsd32/freebsd32_sysent.c#1 branch .. //depot/projects/nsched/sys/compat/freebsd32/freebsd32_util.h#1 branch .. //depot/projects/nsched/sys/compat/freebsd32/syscalls.conf#1 branch .. //depot/projects/nsched/sys/compat/freebsd32/syscalls.master#1 branch .. //depot/projects/nsched/sys/compat/ia32/ia32_genassym.c#1 branch .. //depot/projects/nsched/sys/compat/ia32/ia32_signal.h#1 branch .. //depot/projects/nsched/sys/compat/ia32/ia32_sysvec.c#1 branch .. //depot/projects/nsched/sys/compat/ia32/ia32_util.h#1 branch .. //depot/projects/nsched/sys/compat/linprocfs/linprocfs.c#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_file.c#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_getcwd.c#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_ioctl.c#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_ioctl.h#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_ipc.c#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_ipc.h#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_mib.c#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_mib.h#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_misc.c#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_signal.c#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_signal.h#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_socket.c#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_socket.h#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_stats.c#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_sysctl.c#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_uid16.c#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_util.c#1 branch .. //depot/projects/nsched/sys/compat/linux/linux_util.h#1 branch .. //depot/projects/nsched/sys/compat/ndis/cfg_var.h#1 branch .. //depot/projects/nsched/sys/compat/ndis/hal_var.h#1 branch .. //depot/projects/nsched/sys/compat/ndis/kern_ndis.c#1 branch .. //depot/projects/nsched/sys/compat/ndis/ndis_var.h#1 branch .. //depot/projects/nsched/sys/compat/ndis/ntoskrnl_var.h#1 branch .. //depot/projects/nsched/sys/compat/ndis/pe_var.h#1 branch .. //depot/projects/nsched/sys/compat/ndis/resource_var.h#1 branch .. //depot/projects/nsched/sys/compat/ndis/subr_hal.c#1 branch .. //depot/projects/nsched/sys/compat/ndis/subr_ndis.c#1 branch .. //depot/projects/nsched/sys/compat/ndis/subr_ntoskrnl.c#1 branch .. //depot/projects/nsched/sys/compat/ndis/subr_pe.c#1 branch .. //depot/projects/nsched/sys/compat/netbsd/dvcfg.h#1 branch .. //depot/projects/nsched/sys/compat/netbsd/physio_proc.h#1 branch .. //depot/projects/nsched/sys/compat/pecoff/imgact_pecoff.c#1 branch .. //depot/projects/nsched/sys/compat/pecoff/imgact_pecoff.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/Makefile#1 branch .. //depot/projects/nsched/sys/compat/svr4/imgact_svr4.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_acl.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_dirent.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_errno.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_exec.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_fcntl.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_fcntl.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_filio.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_filio.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_fuser.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_hrt.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_ioctl.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_ioctl.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_ipc.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_ipc.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_misc.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_mman.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_proto.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_resource.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_resource.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_siginfo.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_signal.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_signal.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_socket.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_socket.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_sockio.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_sockio.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_sockmod.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_stat.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_stat.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_statvfs.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_stream.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_stropts.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_syscall.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_syscallnames.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_sysconfig.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_sysent.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_systeminfo.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_sysvec.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_termios.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_termios.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_time.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_timod.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_ttold.c#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_ttold.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_types.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_ucontext.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_ulimit.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_ustat.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_util.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_utsname.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/svr4_wait.h#1 branch .. //depot/projects/nsched/sys/compat/svr4/syscalls.conf#1 branch .. //depot/projects/nsched/sys/compat/svr4/syscalls.master#1 branch .. //depot/projects/nsched/sys/conf/Makefile.alpha#1 branch .. //depot/projects/nsched/sys/conf/Makefile.amd64#1 branch .. //depot/projects/nsched/sys/conf/Makefile.i386#1 branch .. //depot/projects/nsched/sys/conf/Makefile.ia64#1 branch .. //depot/projects/nsched/sys/conf/Makefile.pc98#1 branch .. //depot/projects/nsched/sys/conf/Makefile.powerpc#1 branch .. //depot/projects/nsched/sys/conf/Makefile.sparc64#1 branch .. //depot/projects/nsched/sys/conf/NOTES#1 branch .. //depot/projects/nsched/sys/conf/defines#1 branch .. //depot/projects/nsched/sys/conf/files#1 branch .. //depot/projects/nsched/sys/conf/files.alpha#1 branch .. //depot/projects/nsched/sys/conf/files.amd64#1 branch .. //depot/projects/nsched/sys/conf/files.i386#1 branch .. //depot/projects/nsched/sys/conf/files.ia64#1 branch .. //depot/projects/nsched/sys/conf/files.pc98#1 branch .. //depot/projects/nsched/sys/conf/files.powerpc#1 branch .. //depot/projects/nsched/sys/conf/files.sparc64#1 branch .. //depot/projects/nsched/sys/conf/kern.mk#1 branch .. //depot/projects/nsched/sys/conf/kern.post.mk#1 branch .. //depot/projects/nsched/sys/conf/kern.pre.mk#1 branch .. //depot/projects/nsched/sys/conf/kmod.mk#1 branch .. //depot/projects/nsched/sys/conf/kmod_syms.awk#1 branch .. //depot/projects/nsched/sys/conf/ldscript.alpha#1 branch .. //depot/projects/nsched/sys/conf/ldscript.amd64#1 branch .. //depot/projects/nsched/sys/conf/ldscript.i386#1 branch .. //depot/projects/nsched/sys/conf/ldscript.ia64#1 branch .. //depot/projects/nsched/sys/conf/ldscript.powerpc#1 branch .. //depot/projects/nsched/sys/conf/ldscript.sparc64#1 branch .. //depot/projects/nsched/sys/conf/majors#1 branch .. //depot/projects/nsched/sys/conf/majors.awk#1 branch .. //depot/projects/nsched/sys/conf/makeLINT.mk#1 branch .. //depot/projects/nsched/sys/conf/makeLINT.sed#1 branch .. //depot/projects/nsched/sys/conf/newvers.sh#1 branch .. //depot/projects/nsched/sys/conf/options#1 branch .. //depot/projects/nsched/sys/conf/options.alpha#1 branch .. //depot/projects/nsched/sys/conf/options.amd64#1 branch .. //depot/projects/nsched/sys/conf/options.i386#1 branch .. //depot/projects/nsched/sys/conf/options.ia64#1 branch .. //depot/projects/nsched/sys/conf/options.pc98#1 branch .. //depot/projects/nsched/sys/conf/options.powerpc#1 branch .. //depot/projects/nsched/sys/conf/options.sparc64#1 branch .. //depot/projects/nsched/sys/conf/systags.sh#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/CHANGES.txt#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acapps.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acconfig.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acdebug.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acdisasm.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acdispat.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acefi.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acenv.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acevents.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acexcep.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acfreebsd.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acgcc.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acglobal.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/achware.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acinterp.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/aclocal.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acmacros.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acnamesp.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acobject.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acoutput.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acparser.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acpi.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acpica_prep.sh#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acpiosxf.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acpixf.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acresrc.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acstruct.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/actables.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/actbl.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/actbl1.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/actbl2.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/actypes.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/acutils.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/amlcode.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/amlresrc.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/common/adisasm.c#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/common/getopt.c#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/compiler/aslanalyze.c#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/compiler/aslcodegen.c#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/compiler/aslcompile.c#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/compiler/aslcompiler.h#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/compiler/aslcompiler.l#1 branch .. //depot/projects/nsched/sys/contrib/dev/acpica/compiler/aslcompiler.y#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Apr 2 14:22:01 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1254616A4D2; Fri, 2 Apr 2004 14:22:01 -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 DBC1516A4CF for ; Fri, 2 Apr 2004 14:22:00 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D501B43D1F for ; Fri, 2 Apr 2004 14:22:00 -0800 (PST) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i32MM0Ge025314 for ; Fri, 2 Apr 2004 14:22:00 -0800 (PST) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i32MM0EL025302 for perforce@freebsd.org; Fri, 2 Apr 2004 14:22:00 -0800 (PST) (envelope-from jhb@freebsd.org) Date: Fri, 2 Apr 2004 14:22:00 -0800 (PST) Message-Id: <200404022222.i32MM0EL025302@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 50214 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: Fri, 02 Apr 2004 22:22:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=50214 Change 50214 by jhb@jhb_slimer on 2004/04/02 14:21:41 Compile fixes. Affected files ... .. //depot/projects/power/sys/dev/acpica/acpi.c#14 edit .. //depot/projects/power/sys/dev/acpica/acpi_pci.c#9 edit .. //depot/projects/power/sys/pci/if_dc.c#10 edit Differences ... ==== //depot/projects/power/sys/dev/acpica/acpi.c#14 (text+ko) ==== @@ -1711,7 +1711,7 @@ acpi_GetPowerState(ACPI_HANDLE handle, int *state) { - return (acpi_EvaluateInteger(handle, "_PSC", state)); + return (acpi_GetInteger(handle, "_PSC", state)); } /* ==== //depot/projects/power/sys/dev/acpica/acpi_pci.c#9 (text+ko) ==== @@ -69,7 +69,6 @@ device_t child, char *buf, size_t buflen); -#if 0 static int acpi_pci_set_powerstate_method(device_t dev, device_t child, int state); static ACPI_STATUS acpi_pci_save_handle(ACPI_HANDLE handle, UINT32 level, @@ -156,7 +155,6 @@ return (0); } -#if 0 /* * PCI power manangement */ ==== //depot/projects/power/sys/pci/if_dc.c#10 (text+ko) ==== @@ -3767,7 +3767,7 @@ dc_suspend(device_t dev) { struct dc_softc *sc; - int i, s; + int s; s = splimp(); @@ -3791,7 +3791,7 @@ { struct dc_softc *sc; struct ifnet *ifp; - int i, s; + int s; s = splimp(); From owner-p4-projects@FreeBSD.ORG Fri Apr 2 14:37:20 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A57C16A4D0; Fri, 2 Apr 2004 14:37:20 -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 4B30316A4CE for ; Fri, 2 Apr 2004 14:37:20 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3F1EA43D3F for ; Fri, 2 Apr 2004 14:37:20 -0800 (PST) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i32MbKGe027837 for ; Fri, 2 Apr 2004 14:37:20 -0800 (PST) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i32MbJNd027834 for perforce@freebsd.org; Fri, 2 Apr 2004 14:37:19 -0800 (PST) (envelope-from julian@freebsd.org) Date: Fri, 2 Apr 2004 14:37:19 -0800 (PST) Message-Id: <200404022237.i32MbJNd027834@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 50215 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: Fri, 02 Apr 2004 22:37:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=50215 Change 50215 by julian@julian_desk on 2004/04/02 14:36:38 changes to remove references to "struct KSE" from i386 for sched_4bsd. Affected files ... .. //depot/projects/nsched/sys/conf/files#2 edit .. //depot/projects/nsched/sys/ddb/db_ps.c#2 edit .. //depot/projects/nsched/sys/i386/i386/machdep.c#2 edit .. //depot/projects/nsched/sys/kern/init_main.c#2 edit .. //depot/projects/nsched/sys/kern/kern_exit.c#2 edit .. //depot/projects/nsched/sys/kern/kern_fork.c#2 edit .. //depot/projects/nsched/sys/kern/kern_proc.c#2 edit .. //depot/projects/nsched/sys/kern/kern_thr.c#2 edit .. //depot/projects/nsched/sys/kern/kern_thread.c#2 edit .. //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd.c#1 add .. //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.c#1 add .. //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.h#1 add .. //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_runq.c#1 add .. //depot/projects/nsched/sys/kern/scheduler/ule/sched_ule.c#1 add .. //depot/projects/nsched/sys/kern/scheduler/ule/sched_ule_kse.c#1 add .. //depot/projects/nsched/sys/kern/scheduler/ule/sched_ule_kse.h#1 add .. //depot/projects/nsched/sys/kern/scheduler/ule/sched_ule_runq.c#1 add .. //depot/projects/nsched/sys/sys/proc.h#2 edit .. //depot/projects/nsched/sys/sys/sched.h#2 edit Differences ... ==== //depot/projects/nsched/sys/conf/files#2 (text+ko) ==== @@ -1064,7 +1064,6 @@ kern/kern_shutdown.c standard kern/kern_sig.c standard kern/kern_subr.c standard -kern/kern_switch.c standard kern/kern_sx.c standard kern/kern_synch.c standard kern/kern_syscalls.c standard @@ -1079,8 +1078,12 @@ kern/link_elf.c standard kern/md4c.c optional netsmb kern/md5c.c standard -kern/sched_4bsd.c optional sched_4bsd -kern/sched_ule.c optional sched_ule +kern/scheduler/4bsd/sched_4bsd.c optional sched_4bsd +kern/scheduler/4bsd/sched_4bsd_kse.c optional sched_4bsd +kern/scheduler/4bsd/sched_4bsd_runq.c optional sched_4bsd +kern/scheduler/ule/sched_ule.c optional sched_ule +kern/scheduler/ule/sched_ule_kse.c optional sched_ule +kern/scheduler/ule/sched_ule_runq.c optional sched_ule kern/subr_autoconf.c standard kern/subr_blist.c standard kern/subr_bus.c standard ==== //depot/projects/nsched/sys/ddb/db_ps.c#2 (text+ko) ==== @@ -164,8 +164,11 @@ db_printf("[UNK: %#x]", td->td_state); } if (p->p_flag & P_SA) { - if (td->td_kse) - db_printf("[kse %p]", td->td_kse); + /* + if (sched_fairness_print) { + (*sched_fairness_print)(td); + } + */ db_printf("\n"); } else db_printf(" %s\n", p->p_comm); ==== //depot/projects/nsched/sys/i386/i386/machdep.c#2 (text+ko) ==== @@ -1957,10 +1957,9 @@ atdevbase = ISA_HOLE_START + KERNBASE; /* - * This may be done better later if it gets more high level - * components in it. If so just link td->td_proc here. + * Just link td->td_proc here. Full linkage will occur later. */ - proc_linkup(&proc0, &ksegrp0, &kse0, &thread0); + thread0.td_proc = &proc0; metadata_missing = 0; if (bootinfo.bi_modulep) { ==== //depot/projects/nsched/sys/kern/init_main.c#2 (text+ko) ==== @@ -90,7 +90,6 @@ static struct pgrp pgrp0; struct proc proc0; struct thread thread0; -struct kse kse0; struct ksegrp ksegrp0; static struct filedesc0 filedesc0; struct vmspace vmspace0; @@ -321,19 +320,12 @@ register unsigned i; struct thread *td; struct ksegrp *kg; - struct kse *ke; GIANT_REQUIRED; p = &proc0; td = &thread0; - ke = &kse0; kg = &ksegrp0; - ke->ke_sched = kse0_sched; - kg->kg_sched = ksegrp0_sched; - p->p_sched = proc0_sched; - td->td_sched = thread0_sched; - /* * Initialize magic number. */ @@ -342,8 +334,9 @@ /* * Initialize thread, process and pgrp structures. */ - procinit(); - threadinit(); + procinit(); /* set up proc zone */ + threadinit(); /* set up thead, upcall and KSEGRP zones */ + schedinit(); /* scheduler gets its house in order */ /* * Initialize sleep queue hash table @@ -373,12 +366,8 @@ p->p_sysent = &null_sysvec; - /* - * proc_linkup was already done in init_i386() or alphainit() etc. - * because the earlier code needed to follow td->td_proc. Otherwise - * I would have done it here.. maybe this means this should be - * done earlier too. - */ + proc_linkup(&proc0, &ksegrp0, &thread0); + p->p_flag = P_SYSTEM; p->p_sflag = PS_INMEM; p->p_state = PRS_NORMAL; @@ -388,10 +377,7 @@ kg->kg_user_pri = PUSER; td->td_priority = PVM; td->td_base_pri = PUSER; - td->td_kse = ke; /* XXXKSE */ td->td_oncpu = 0; - ke->ke_state = KES_THREAD; - ke->ke_thread = td; p->p_peers = 0; p->p_leader = p; ==== //depot/projects/nsched/sys/kern/kern_exit.c#2 (text+ko) ==== @@ -540,7 +540,7 @@ * parent when a kseg is exiting. */ if (p->p_pid != 1) - sched_exit(p->p_pptr, p); + sched_exit(p->p_pptr, td); /* * Make sure the scheduler takes this thread out of its tables etc. ==== //depot/projects/nsched/sys/kern/kern_fork.c#2 (text+ko) ==== @@ -207,7 +207,6 @@ struct filedesc *fd; struct filedesc_to_leader *fdtol; struct thread *td2; - struct kse *ke2; struct ksegrp *kg2; struct sigacts *newsigacts; int error; @@ -469,7 +468,6 @@ */ td2 = FIRST_THREAD_IN_PROC(p2); kg2 = FIRST_KSEGRP_IN_PROC(p2); - ke2 = FIRST_KSE_IN_KSEGRP(kg2); /* Allocate and switch to an alternate kstack if specified. */ if (pages != 0) @@ -482,8 +480,6 @@ bzero(&p2->p_startzero, (unsigned) RANGEOF(struct proc, p_startzero, p_endzero)); - bzero(&ke2->ke_startzero, - (unsigned) RANGEOF(struct kse, ke_startzero, ke_endzero)); bzero(&td2->td_startzero, (unsigned) RANGEOF(struct thread, td_startzero, td_endzero)); bzero(&kg2->kg_startzero, @@ -499,11 +495,6 @@ td2->td_sigstk = td->td_sigstk; - /* Set up the thread as an active thread (as if runnable). */ - ke2->ke_state = KES_THREAD; - ke2->ke_thread = td2; - td2->td_kse = ke2; - /* * Duplicate sub-structures as needed. * Increase reference counts on shared objects. @@ -518,7 +509,7 @@ * Allow the scheduler to adjust the priority of the child and * parent while we hold the sched_lock. */ - sched_fork(p1, p2); + sched_fork(td, p2); mtx_unlock_spin(&sched_lock); p2->p_ucred = crhold(td->td_ucred); ==== //depot/projects/nsched/sys/kern/kern_proc.c#2 (text+ko) ==== @@ -131,6 +131,7 @@ /* * Prepare a proc for use. + * cache->used */ static void proc_ctor(void *mem, int size, void *arg) @@ -142,6 +143,7 @@ /* * Reclaim a proc after use. + * used -> cache */ static void proc_dtor(void *mem, int size, void *arg) @@ -149,18 +151,17 @@ struct proc *p; struct thread *td; struct ksegrp *kg; - struct kse *ke; /* INVARIANTS checks go here */ p = (struct proc *)mem; + td = FIRST_THREAD_IN_PROC(p); +#ifdef INVARIANTS KASSERT((p->p_numthreads == 1), ("bad number of threads in exiting process")); - td = FIRST_THREAD_IN_PROC(p); KASSERT((td != NULL), ("proc_dtor: bad thread pointer")); kg = FIRST_KSEGRP_IN_PROC(p); KASSERT((kg != NULL), ("proc_dtor: bad kg pointer")); - ke = FIRST_KSE_IN_KSEGRP(kg); - KASSERT((ke != NULL), ("proc_dtor: bad ke pointer")); +#endif /* Dispose of an alternate kstack, if it exists. * XXX What if there are more than one thread in the proc? @@ -169,18 +170,11 @@ */ if (((p->p_flag & P_KTHREAD) != 0) && (td->td_altkstack != 0)) vm_thread_dispose_altkstack(td); - - /* - * We want to make sure we know the initial linkages. - * so for now tear them down and remake them. - * This is probably un-needed as we can probably rely - * on the state coming in here from wait4(). - */ - proc_linkup(p, kg, ke, td); } /* * Initialize type-stable parts of a proc (when newly created). + * raw memory -> cache */ static void proc_init(void *mem, int size) @@ -188,21 +182,20 @@ struct proc *p; struct thread *td; struct ksegrp *kg; - struct kse *ke; p = (struct proc *)mem; p->p_sched = (struct p_sched *)&p[1]; vm_proc_new(p); td = thread_alloc(); - ke = kse_alloc(); kg = ksegrp_alloc(); - proc_linkup(p, kg, ke, td); - bzero(&p->p_mtx, sizeof(struct mtx)); mtx_init(&p->p_mtx, "process lock", NULL, MTX_DEF | MTX_DUPOK); + proc_linkup(p, kg, td); + sched_newproc(p, kg, td); /* err? */ } /* * Tear down type-stable parts of a proc (just before being discarded) + * cache -> free memeory */ static void proc_fini(void *mem, int size) @@ -210,7 +203,6 @@ struct proc *p; struct thread *td; struct ksegrp *kg; - struct kse *ke; p = (struct proc *)mem; KASSERT((p->p_numthreads == 1), @@ -219,12 +211,10 @@ KASSERT((td != NULL), ("proc_dtor: bad thread pointer")); kg = FIRST_KSEGRP_IN_PROC(p); KASSERT((kg != NULL), ("proc_dtor: bad kg pointer")); - ke = FIRST_KSE_IN_KSEGRP(kg); - KASSERT((ke != NULL), ("proc_dtor: bad ke pointer")); vm_proc_dispose(p); + sched_destroyproc(p); thread_free(td); ksegrp_free(kg); - kse_free(ke); mtx_destroy(&p->p_mtx); } @@ -627,7 +617,6 @@ { struct proc *p; struct thread *td0; - struct kse *ke; struct ksegrp *kg; struct tty *tp; struct session *sp; @@ -742,7 +731,6 @@ kp->ki_swtime = p->p_swtime; kp->ki_pid = p->p_pid; kg = td->td_ksegrp; - ke = td->td_kse; bintime2timeval(&p->p_runtime, &tv); kp->ki_runtime = tv.tv_sec * (u_int64_t)1000000 + tv.tv_usec; @@ -765,10 +753,12 @@ kp->ki_kstack = (void *)td->td_kstack; kp->ki_pctcpu = sched_pctcpu(td); +#if 0 /* Things in the kse */ if (ke) kp->ki_rqindex = ke->ke_rqindex; else +#endif kp->ki_rqindex = 0; } else { ==== //depot/projects/nsched/sys/kern/kern_thr.c#2 (text+ko) ==== @@ -52,13 +52,11 @@ { struct ksegrp *kg; struct thread *td; - struct kse *ke; struct proc *p; td = curthread; p = td->td_proc; kg = td->td_ksegrp; - ke = td->td_kse; mtx_assert(&sched_lock, MA_OWNED); PROC_LOCK_ASSERT(p, MA_OWNED); @@ -84,10 +82,7 @@ /* Unlink the thread from the process and kseg. */ thread_unlink(td); - ke->ke_state = KES_UNQUEUED; - ke->ke_thread = NULL; - kse_unlink(ke); - sched_exit_kse(TAILQ_NEXT(ke, ke_kglist), ke); + sched_thr_exit(td); /* * If we were stopped while waiting for all threads to exit and this @@ -98,14 +93,12 @@ thread_unsuspend_one(p->p_singlethread); PROC_UNLOCK(p); - td->td_kse = NULL; td->td_state = TDS_INACTIVE; #if 0 td->td_proc = NULL; #endif td->td_ksegrp = NULL; - td->td_last_kse = NULL; - sched_exit_thread(TAILQ_NEXT(td, td_kglist), td); + sched_exit_thread(p->p_pptr, td); thread_stash(td); cpu_throw(td, choosethread()); @@ -120,7 +113,6 @@ thr_create(struct thread *td, struct thr_create_args *uap) /* ucontext_t *ctx, thr_id_t *id, int flags */ { - struct kse *ke0; struct thread *td0; ucontext_t ctx; int error; @@ -151,39 +143,16 @@ PROC_UNLOCK(td->td_proc); td0->td_ucred = crhold(td->td_ucred); - /* Initialize our kse structure. */ - ke0 = kse_alloc(); - bzero(&ke0->ke_startzero, - RANGEOF(struct kse, ke_startzero, ke_endzero)); - /* Set up our machine context. */ cpu_set_upcall(td0, td); error = set_mcontext(td0, &ctx.uc_mcontext); if (error != 0) { - kse_free(ke0); thread_free(td0); goto out; } - - /* Link the thread and kse into the ksegrp and make it runnable. */ - mtx_lock_spin(&sched_lock); - - thread_link(td0, td->td_ksegrp); - kse_link(ke0, td->td_ksegrp); - - /* Bind this thread and kse together. */ - td0->td_kse = ke0; - ke0->ke_thread = td0; - - sched_fork_kse(td->td_kse, ke0); - sched_fork_thread(td, td0); - - TD_SET_CAN_RUN(td0); - if ((uap->flags & THR_SUSPENDED) == 0) - setrunqueue(td0); - - mtx_unlock_spin(&sched_lock); - + if ((error = sched_thr_newthread(td, td0, uap->flags))) { + thread_free(td0); + } out: return (error); } ==== //depot/projects/nsched/sys/kern/kern_thread.c#2 (text+ko) ==== @@ -64,7 +64,6 @@ * KSEGRP related storage. */ static uma_zone_t ksegrp_zone; -static uma_zone_t kse_zone; static uma_zone_t thread_zone; static uma_zone_t upcall_zone; @@ -91,7 +90,6 @@ #define RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start)) TAILQ_HEAD(, thread) zombie_threads = TAILQ_HEAD_INITIALIZER(zombie_threads); -TAILQ_HEAD(, kse) zombie_kses = TAILQ_HEAD_INITIALIZER(zombie_kses); TAILQ_HEAD(, ksegrp) zombie_ksegrps = TAILQ_HEAD_INITIALIZER(zombie_ksegrps); TAILQ_HEAD(, kse_upcall) zombie_upcalls = TAILQ_HEAD_INITIALIZER(zombie_upcalls); @@ -146,6 +144,7 @@ td->td_critnest = 1; } +#ifdef INVARIANTS /* * Reclaim a thread after use. */ @@ -156,7 +155,6 @@ td = (struct thread *)mem; -#ifdef INVARIANTS /* Verify that this thread is in a safe state to free. */ switch (td->td_state) { case TDS_INHIBITED: @@ -175,8 +173,8 @@ panic("bad thread state"); /* NOTREACHED */ } +} #endif -} /* * Initialize type-stable parts of a thread (when newly created). @@ -209,18 +207,6 @@ } /* - * Initialize type-stable parts of a kse (when newly created). - */ -static void -kse_init(void *mem, int size) -{ - struct kse *ke; - - ke = (struct kse *)mem; - ke->ke_sched = (struct ke_sched *)&ke[1]; -} - -/* * Initialize type-stable parts of a ksegrp (when newly created). */ static void @@ -232,52 +218,13 @@ kg->kg_sched = (struct kg_sched *)&kg[1]; } -/* - * KSE is linked into kse group. - */ -void -kse_link(struct kse *ke, struct ksegrp *kg) -{ - struct proc *p = kg->kg_proc; - - TAILQ_INSERT_HEAD(&kg->kg_kseq, ke, ke_kglist); - kg->kg_kses++; - ke->ke_state = KES_UNQUEUED; - ke->ke_proc = p; - ke->ke_ksegrp = kg; - ke->ke_thread = NULL; - ke->ke_oncpu = NOCPU; - ke->ke_flags = 0; -} - void -kse_unlink(struct kse *ke) -{ - struct ksegrp *kg; - - mtx_assert(&sched_lock, MA_OWNED); - kg = ke->ke_ksegrp; - TAILQ_REMOVE(&kg->kg_kseq, ke, ke_kglist); - if (ke->ke_state == KES_IDLE) { - TAILQ_REMOVE(&kg->kg_iq, ke, ke_kgrlist); - kg->kg_idle_kses--; - } - --kg->kg_kses; - /* - * Aggregate stats from the KSE - */ - kse_stash(ke); -} - -void ksegrp_link(struct ksegrp *kg, struct proc *p) { TAILQ_INIT(&kg->kg_threads); TAILQ_INIT(&kg->kg_runq); /* links with td_runq */ TAILQ_INIT(&kg->kg_slpq); /* links with td_runq */ - TAILQ_INIT(&kg->kg_kseq); /* all kses in ksegrp */ - TAILQ_INIT(&kg->kg_iq); /* all idle kses in ksegrp */ TAILQ_INIT(&kg->kg_upcalls); /* all upcall structure in ksegrp */ kg->kg_proc = p; /* @@ -286,10 +233,8 @@ */ kg->kg_numthreads = 0; kg->kg_runnable = 0; - kg->kg_kses = 0; - kg->kg_runq_kses = 0; /* XXXKSE change name */ - kg->kg_idle_kses = 0; kg->kg_numupcalls = 0; + sched_newkseg(kg); /* link it in now that it's consistent */ p->p_numksegrps++; TAILQ_INSERT_HEAD(&p->p_ksegrps, kg, kg_ksegrp); @@ -302,7 +247,6 @@ mtx_assert(&sched_lock, MA_OWNED); KASSERT((kg->kg_numthreads == 0), ("ksegrp_unlink: residual threads")); - KASSERT((kg->kg_kses == 0), ("ksegrp_unlink: residual kses")); KASSERT((kg->kg_numupcalls == 0), ("ksegrp_unlink: residual upcalls")); p = kg->kg_proc; @@ -369,8 +313,7 @@ * link up all the structures and its initial threads etc. */ void -proc_linkup(struct proc *p, struct ksegrp *kg, - struct kse *ke, struct thread *td) +proc_linkup(struct proc *p, struct ksegrp *kg, struct thread *td) { TAILQ_INIT(&p->p_ksegrps); /* all ksegrps in proc */ @@ -380,7 +323,6 @@ p->p_numthreads = 0; ksegrp_link(kg, p); - kse_link(ke, kg); thread_link(td, kg); } @@ -487,7 +429,6 @@ { struct proc *p; struct ksegrp *kg; - struct kse *ke; struct kse_upcall *ku, *ku2; int error, count; @@ -517,7 +458,6 @@ psignal(p, SIGSEGV); mtx_lock_spin(&sched_lock); upcall_remove(td); - ke = td->td_kse; if (p->p_numthreads == 1) { kse_purge(p, td); p->p_flag &= ~P_SA; @@ -526,7 +466,7 @@ } else { if (kg->kg_numthreads == 1) { /* Shutdown a group */ kse_purge_group(td); - ke->ke_flags |= KEF_EXIT; + sched_exit_ksegrp(p->p_pptr, td); } thread_stopped(p); thread_exit(); @@ -671,7 +611,6 @@ int kse_create(struct thread *td, struct kse_create_args *uap) { - struct kse *newke; struct ksegrp *newkg; struct ksegrp *kg; struct proc *p; @@ -684,12 +623,7 @@ if ((err = copyin(uap->mbx, &mbx, sizeof(mbx)))) return (err); - /* Too bad, why hasn't kernel always a cpu counter !? */ -#ifdef SMP ncpus = mp_ncpus; -#else - ncpus = 1; -#endif if (virtual_cpu != 0) ncpus = virtual_cpu; if (!(mbx.km_flags & KMF_BOUND)) @@ -728,7 +662,7 @@ return (EPROCLIM); } ksegrp_link(newkg, p); - sched_fork_ksegrp(kg, newkg); + sched_fork_ksegrp(td, newkg); mtx_unlock_spin(&sched_lock); PROC_UNLOCK(p); } else { @@ -748,7 +682,7 @@ /* * Initialize KSE group * - * For multiplxed group, create KSEs as many as physical + * For multiplxed group, set concurrancy equal to physical * cpus. This increases concurrent even if userland * is not MP safe and can only run on single CPU. * In ideal world, every physical cpu should execute a thread. @@ -763,23 +697,7 @@ * kind of group will never schedule an upcall when blocked, * this intends to simulate pthread system scope thread. */ - while (newkg->kg_kses < ncpus) { - newke = kse_alloc(); - bzero(&newke->ke_startzero, RANGEOF(struct kse, - ke_startzero, ke_endzero)); -#if 0 - mtx_lock_spin(&sched_lock); - bcopy(&ke->ke_startcopy, &newke->ke_startcopy, - RANGEOF(struct kse, ke_startcopy, ke_endcopy)); - mtx_unlock_spin(&sched_lock); -#endif - mtx_lock_spin(&sched_lock); - kse_link(newke, newkg); - sched_fork_kse(td->td_kse, newke); - /* Add engine */ - kse_reassign(newke); - mtx_unlock_spin(&sched_lock); - } + sched_set_concurrancy(newkg, ncpus); } newku = upcall_alloc(); newku->ku_mailbox = uap->mbx; @@ -859,14 +777,15 @@ { thread_zone = uma_zcreate("THREAD", sched_sizeof_thread(), +#ifdef INVARIANTS thread_ctor, thread_dtor, thread_init, thread_fini, +#else + thread_ctor, NULL, thread_init, thread_fini, +#endif UMA_ALIGN_CACHE, 0); ksegrp_zone = uma_zcreate("KSEGRP", sched_sizeof_ksegrp(), NULL, NULL, ksegrp_init, NULL, UMA_ALIGN_CACHE, 0); - kse_zone = uma_zcreate("KSE", sched_sizeof_kse(), - NULL, NULL, kse_init, NULL, - UMA_ALIGN_CACHE, 0); upcall_zone = uma_zcreate("UPCALL", sizeof(struct kse_upcall), NULL, NULL, NULL, NULL, UMA_ALIGN_CACHE, 0); } @@ -882,16 +801,6 @@ mtx_unlock_spin(&kse_zombie_lock); } -/* - * Stash an embarasingly extra kse into the zombie kse queue. - */ -void -kse_stash(struct kse *ke) -{ - mtx_lock_spin(&kse_zombie_lock); - TAILQ_INSERT_HEAD(&zombie_kses, ke, ke_procq); - mtx_unlock_spin(&kse_zombie_lock); -} /* * Stash an embarasingly extra upcall into the zombie upcall queue. @@ -923,7 +832,6 @@ thread_reap(void) { struct thread *td_first, *td_next; - struct kse *ke_first, *ke_next; struct ksegrp *kg_first, * kg_next; struct kse_upcall *ku_first, *ku_next; @@ -932,18 +840,14 @@ * we really don't care about the next instant.. */ if ((!TAILQ_EMPTY(&zombie_threads)) - || (!TAILQ_EMPTY(&zombie_kses)) || (!TAILQ_EMPTY(&zombie_ksegrps)) || (!TAILQ_EMPTY(&zombie_upcalls))) { mtx_lock_spin(&kse_zombie_lock); td_first = TAILQ_FIRST(&zombie_threads); - ke_first = TAILQ_FIRST(&zombie_kses); kg_first = TAILQ_FIRST(&zombie_ksegrps); ku_first = TAILQ_FIRST(&zombie_upcalls); if (td_first) TAILQ_INIT(&zombie_threads); - if (ke_first) - TAILQ_INIT(&zombie_kses); if (kg_first) TAILQ_INIT(&zombie_ksegrps); if (ku_first) @@ -956,11 +860,6 @@ thread_free(td_first); td_first = td_next; } - while (ke_first) { - ke_next = TAILQ_NEXT(ke_first, ke_procq); - kse_free(ke_first); - ke_first = ke_next; - } while (kg_first) { kg_next = TAILQ_NEXT(kg_first, kg_ksegrp); ksegrp_free(kg_first); @@ -972,6 +871,7 @@ ku_first = ku_next; } } + sched_GC(); } /* @@ -984,15 +884,6 @@ } /* - * Allocate a kse. - */ -struct kse * -kse_alloc(void) -{ - return (uma_zalloc(kse_zone, M_WAITOK)); -} - -/* * Allocate a thread. */ struct thread * @@ -1012,15 +903,6 @@ } /* - * Deallocate a kse. - */ -void -kse_free(struct kse *td) -{ - uma_zfree(kse_zone, td); -} - -/* * Deallocate a thread. */ void @@ -1239,18 +1121,15 @@ thread_exit(void) { struct thread *td; - struct kse *ke; struct proc *p; struct ksegrp *kg; td = curthread; kg = td->td_ksegrp; p = td->td_proc; - ke = td->td_kse; mtx_assert(&sched_lock, MA_OWNED); KASSERT(p != NULL, ("thread exiting without a process")); - KASSERT(ke != NULL, ("thread exiting without a kse")); KASSERT(kg != NULL, ("thread exiting without a kse group")); PROC_LOCK_ASSERT(p, MA_OWNED); CTR1(KTR_PROC, "thread_exit: thread %p", td); @@ -1262,7 +1141,6 @@ } cpu_thread_exit(td); /* XXXSMP */ - /* * The last thread is left attached to the process * So that the whole bundle gets recycled. Skip @@ -1274,7 +1152,7 @@ wakeup(&p->p_numthreads); /* * The test below is NOT true if we are the - * sole exiting thread. P_STOPPED_SNGL is unset + * sole exiting thread. P_STOPPED_SINGLE is unset * in exit1() after it is the only survivor. */ if (P_SHOULDSTOP(p) == P_STOPPED_SINGLE) { @@ -1294,30 +1172,13 @@ if (td->td_upcall) upcall_remove(td); - sched_exit_thread(FIRST_THREAD_IN_PROC(p), td); - sched_exit_kse(FIRST_KSE_IN_PROC(p), ke); - ke->ke_state = KES_UNQUEUED; - ke->ke_thread = NULL; - /* - * Decide what to do with the KSE attached to this thread. - */ - if (ke->ke_flags & KEF_EXIT) { - kse_unlink(ke); - if (kg->kg_kses == 0) { - sched_exit_ksegrp(FIRST_KSEGRP_IN_PROC(p), kg); - ksegrp_unlink(kg); - } - } - else - kse_reassign(ke); + sched_exit_thread(td->td_proc->p_pptr, td); PROC_UNLOCK(p); - td->td_kse = NULL; td->td_state = TDS_INACTIVE; #if 0 td->td_proc = NULL; #endif td->td_ksegrp = NULL; - td->td_last_kse = NULL; PCPU_SET(deadthread, td); } else { PROC_UNLOCK(p); @@ -1368,9 +1229,8 @@ td->td_state = TDS_INACTIVE; td->td_proc = p; td->td_ksegrp = kg; - td->td_last_kse = NULL; td->td_flags = 0; - td->td_kse = NULL; + sched_newthread(td); LIST_INIT(&td->td_contested); callout_init(&td->td_slpcallout, CALLOUT_MPSAFE); @@ -1402,17 +1262,10 @@ kse_purge_group(struct thread *td) { struct ksegrp *kg; - struct kse *ke; kg = td->td_ksegrp; KASSERT(kg->kg_numthreads == 1, ("%s: bad thread number", __func__)); - while ((ke = TAILQ_FIRST(&kg->kg_iq)) != NULL) { - KASSERT(ke->ke_state == KES_IDLE, - ("%s: wrong idle KSE state", __func__)); - kse_unlink(ke); - } - KASSERT((kg->kg_kses == 1), - ("%s: ksegrp still has %d KSEs", __func__, kg->kg_kses)); + sched_clean_ksegrp(kg, td); KASSERT((kg->kg_numupcalls == 0), ("%s: ksegrp still has %d upcall datas", __func__, kg->kg_numupcalls)); @@ -1427,7 +1280,6 @@ kse_purge(struct proc *p, struct thread *td) { struct ksegrp *kg; - struct kse *ke; KASSERT(p->p_numthreads == 1, ("bad thread number")); while ((kg = TAILQ_FIRST(&p->p_ksegrps)) != NULL) { @@ -1438,18 +1290,7 @@ * in the group exited, it is possible that some KSEs * were left in idle queue, gc them now. */ - while ((ke = TAILQ_FIRST(&kg->kg_iq)) != NULL) { - KASSERT(ke->ke_state == KES_IDLE, - ("%s: wrong idle KSE state", __func__)); - TAILQ_REMOVE(&kg->kg_iq, ke, ke_kgrlist); - kg->kg_idle_kses--; - TAILQ_REMOVE(&kg->kg_kseq, ke, ke_kglist); - kg->kg_kses--; - kse_stash(ke); - } - KASSERT(((kg->kg_kses == 0) && (kg != td->td_ksegrp)) || - ((kg->kg_kses == 1) && (kg == td->td_ksegrp)), - ("ksegrp has wrong kg_kses: %d", kg->kg_kses)); + sched_clean_ksegrp(kg, td); KASSERT((kg->kg_numupcalls == 0), ("%s: ksegrp still has %d upcall datas", __func__, kg->kg_numupcalls)); @@ -1516,11 +1357,11 @@ td2->td_upcall = ku; td2->td_flags = TDF_SA; td2->td_pflags = TDP_UPCALLING; - td2->td_kse = NULL; td2->td_state = TDS_CAN_RUN; td2->td_inhibitors = 0; SIGFILLSET(td2->td_sigmask); SIG_CANTMASK(td2->td_sigmask); + sched_newthread(td2); sched_fork_thread(td, td2); return (td2); /* bogus.. should be a void function */ } ==== //depot/projects/nsched/sys/sys/proc.h#2 (text+ko) ==== @@ -170,9 +170,7 @@ * This structure contains all the information as to where a thread of * execution is now, or was when it was suspended, why it was suspended, * and anything else that will be needed to restart it when it is - * rescheduled. Always associated with a KSE when running, but can be - * reassigned to an equivalent KSE when being restarted for - * load balancing. Each of these is associated with a kernel stack + * rescheduled. Each of these is associated with a kernel stack * and a pcb. * * It is important to remember that a particular thread structure only @@ -183,32 +181,19 @@ * they will all rewind their stacks to the user boundary, report their * completion state, and all but one will be freed. That last one will * be kept to provide a kernel stack and pcb for the NEXT syscall or kernel - * entrance. (basically to save freeing and then re-allocating it) The KSE - * keeps a cached thread available to allow it to quickly - * get one when it needs a new one. There is also a system - * cache of free threads. Threads have priority and partake in priority - * inheritance schemes. + * entrance. (basically to save freeing and then re-allocating it) + + * SA processes the running thread keeps a cached thread available to + * allow it to quickly get one when it needs a new one. There is also a + * system cache of free threads. Threads have priority and partake in + * priority inheritance schemes. */ struct thread; /* - * The second structure is the Kernel Schedulable Entity. (KSE) - * It represents the ability to take a slot in the scheduler queue. - * As long as this is scheduled, it could continue to run any threads that - * are assigned to the KSEGRP (see later) until either it runs out - * of runnable threads of high enough priority, or CPU. - * It runs on one CPU and is assigned a quantum of time. When a thread is - * blocked, The KSE continues to run and will search for another thread - * in a runnable state amongst those it has. It May decide to return to user - * mode with a new 'empty' thread if there are no runnable threads. - * Threads are temporarily associated with a KSE for scheduling reasons. - */ -struct kse; - -/* * The KSEGRP is allocated resources across a number of CPUs. * (Including a number of CPUxQUANTA. It parcels these QUANTA up among - * its KSEs, each of which should be running in a different CPU. + * its threads, each of which could be running in a different CPU. * BASE priority and total available quanta are properties of a KSEGRP. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Apr 2 20:30:47 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BC3DE16A4D1; Fri, 2 Apr 2004 20:30:46 -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 86BBA16A4CF for ; Fri, 2 Apr 2004 20:30:46 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7AF7743D53 for ; Fri, 2 Apr 2004 20:30:46 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i334UkGe012021 for ; Fri, 2 Apr 2004 20:30:46 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i334Uesh012018 for perforce@freebsd.org; Fri, 2 Apr 2004 20:30:40 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 2 Apr 2004 20:30:40 -0800 (PST) Message-Id: <200404030430.i334Uesh012018@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 50233 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, 03 Apr 2004 04:30:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=50233 Change 50233 by rwatson@rwatson_paprika on 2004/04/02 20:30:17 - twa becomes i386-only, I think. - many if_ath and 802.11 fixes - syscons fixed on sparc64 so that make_dev() is called less early. - various producer/consumer ring changes in if_rl, if_ste. Affected files ... .. //depot/projects/netperf_socket/sys/conf/NOTES#12 integrate .. //depot/projects/netperf_socket/sys/dev/ath/if_ath.c#5 integrate .. //depot/projects/netperf_socket/sys/dev/ath/if_ath_pci.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/ath/if_athioctl.h#2 integrate .. //depot/projects/netperf_socket/sys/dev/ath/if_athvar.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/kbd/kbd.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/syscons/syscons.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/twa/twa.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/twa/twa_freebsd.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/twa/twa_includes.h#2 integrate .. //depot/projects/netperf_socket/sys/dev/uart/uart_cpu_sparc64.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/uart/uart_dev_ns8250.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/uart/uart_kbd_sun.c#2 integrate .. //depot/projects/netperf_socket/sys/i386/conf/NOTES#13 integrate .. //depot/projects/netperf_socket/sys/kern/kern_thr.c#4 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211.c#3 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_input.c#2 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_node.c#3 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_node.h#2 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_output.c#2 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_proto.c#3 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_var.h#3 integrate .. //depot/projects/netperf_socket/sys/pci/if_rl.c#6 integrate .. //depot/projects/netperf_socket/sys/pci/if_ste.c#9 integrate .. //depot/projects/netperf_socket/sys/pci/if_stereg.h#3 integrate Differences ... ==== //depot/projects/netperf_socket/sys/conf/NOTES#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1211 2004/03/31 18:46:13 vkashyap Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1212 2004/04/02 18:50:56 vkashyap Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1388,14 +1388,6 @@ device twe # 3ware ATA RAID # -# 3ware 9000 series PATA/SATA RAID controller driver and options. -# The driver is implemented as a SIM, and so, needs the CAM infrastructure. -# -options TWA_DEBUG # 0-10; 10 prints the most messages. -options TWA_FLASH_FIRMWARE # firmware image bundled when defined. -device twa # 3ware 9000 series PATA/SATA RAID - -# # The 'ATA' driver supports all ATA and ATAPI devices, including PC Card # devices. You only need one "device ata" for it to find all # PCI and PC Card ATA/ATAPI devices on modern machines. ==== //depot/projects/netperf_socket/sys/dev/ath/if_ath.c#5 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.47 2004/04/01 00:38:45 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.53 2004/04/03 00:06:23 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -270,7 +270,6 @@ TASK_INIT(&sc->sc_txtask, 0, ath_tx_proc, sc); TASK_INIT(&sc->sc_rxtask, 0, ath_rx_proc, sc); - TASK_INIT(&sc->sc_swbatask, 0, ath_beacon_proc, sc); TASK_INIT(&sc->sc_rxorntask, 0, ath_rxorn_proc, sc); TASK_INIT(&sc->sc_fataltask, 0, ath_fatal_proc, sc); TASK_INIT(&sc->sc_bmisstask, 0, ath_bmiss_proc, sc); @@ -288,7 +287,7 @@ ); if (sc->sc_txhalq == (u_int) -1) { if_printf(ifp, "unable to setup a data xmit queue!\n"); - goto bad; + goto bad2; } sc->sc_bhalq = ath_hal_setuptxqueue(ah, HAL_TX_QUEUE_BEACON, @@ -296,7 +295,7 @@ ); if (sc->sc_bhalq == (u_int) -1) { if_printf(ifp, "unable to setup a beacon xmit queue!\n"); - goto bad; + goto bad2; } ifp->if_softc = sc; @@ -317,7 +316,7 @@ | IEEE80211_C_HOSTAP /* hostap mode */ | IEEE80211_C_MONITOR /* monitor mode */ | IEEE80211_C_SHPREAMBLE /* short preamble supported */ - | IEEE80211_C_RCVMGT; /* recv management frames */ + ; /* get mac address from hardware */ ath_hal_getmac(ah, ic->ic_myaddr); @@ -326,7 +325,9 @@ ieee80211_ifattach(ifp); /* override default methods */ ic->ic_node_alloc = ath_node_alloc; + sc->sc_node_free = ic->ic_node_free; ic->ic_node_free = ath_node_free; + sc->sc_node_copy = ic->ic_node_copy; ic->ic_node_copy = ath_node_copy; ic->ic_node_getrssi = ath_node_getrssi; sc->sc_newstate = ic->ic_newstate; @@ -355,6 +356,8 @@ sc->sc_rx_th.wr_ihdr.it_present = htole32(ATH_RX_RADIOTAP_PRESENT); return 0; +bad2: + ath_desc_free(sc); bad: if (ah) ath_hal_detach(ah); @@ -432,6 +435,8 @@ DPRINTF(ATH_DEBUG_ANY, ("%s: invalid; ignored\n", __func__)); return; } + if (!ath_hal_intrpend(ah)) /* shared irq, not for us */ + return; if ((ifp->if_flags & (IFF_RUNNING|IFF_UP)) != (IFF_RUNNING|IFF_UP)) { DPRINTF(ATH_DEBUG_ANY, ("%s: if_flags 0x%x\n", __func__, ifp->if_flags)); @@ -476,8 +481,14 @@ taskqueue_enqueue(taskqueue_swi, &sc->sc_rxtask); if (status & HAL_INT_TX) taskqueue_enqueue(taskqueue_swi, &sc->sc_txtask); - if (status & HAL_INT_SWBA) - taskqueue_enqueue(taskqueue_swi, &sc->sc_swbatask); + if (status & HAL_INT_SWBA) { + /* + * Handle beacon transmission directly; deferring + * this is too slow to meet timing constraints + * under load. + */ + ath_beacon_proc(sc, 0); + } if (status & HAL_INT_BMISS) { sc->sc_stats.ast_bmiss++; taskqueue_enqueue(taskqueue_swi, &sc->sc_bmisstask); @@ -1507,14 +1518,18 @@ if (bf->bf_node == ni) bf->bf_node = NULL; } - free(ni, M_DEVBUF); + (*sc->sc_node_free)(ic, ni); } static void ath_node_copy(struct ieee80211com *ic, struct ieee80211_node *dst, const struct ieee80211_node *src) { - *(struct ath_node *)dst = *(const struct ath_node *)src; + struct ath_softc *sc = ic->ic_if.if_softc; + + memcpy(&dst[1], &src[1], + sizeof(struct ath_node) - sizeof(struct ieee80211_node)); + (*sc->sc_node_copy)(ic, dst, src); } ==== //depot/projects/netperf_socket/sys/dev/ath/if_ath_pci.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.7 2004/03/17 17:50:27 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.8 2004/04/02 23:57:10 sam Exp $"); /* * PCI/Cardbus front-end for the Atheros Wireless LAN controller driver. ==== //depot/projects/netperf_socket/sys/dev/ath/if_athioctl.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,7 +33,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/if_athioctl.h,v 1.5 2003/12/28 07:00:32 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athioctl.h,v 1.7 2004/04/02 23:57:10 sam Exp $ */ /* @@ -70,6 +70,8 @@ u_int32_t ast_tx_rts; /* tx frames with rts enabled */ u_int32_t ast_tx_cts; /* tx frames with cts enabled */ u_int32_t ast_tx_shortpre;/* tx frames with short preamble */ + u_int32_t ast_tx_altrate; /* tx frames with alternate rate */ + u_int32_t ast_tx_protect; /* tx frames with protection */ u_int32_t ast_rx_nombuf; /* rx setup failed 'cuz no mbuf */ u_int32_t ast_rx_busdma; /* rx setup failed for dma resrcs */ u_int32_t ast_rx_orn; /* rx failed 'cuz of desc overrun */ @@ -79,6 +81,7 @@ u_int32_t ast_rx_phyerr; /* rx failed 'cuz of PHY err */ u_int32_t ast_rx_phy[32]; /* rx PHY error per-code counts */ u_int32_t ast_rx_tooshort;/* rx discarded 'cuz frame too short */ + u_int32_t ast_rx_toobig; /* rx discarded 'cuz frame too large */ u_int32_t ast_rx_ctl; /* rx discarded 'cuz ctl frame */ u_int32_t ast_be_nombuf; /* beacon setup failed 'cuz no mbuf */ u_int32_t ast_per_cal; /* periodic calibration calls */ ==== //depot/projects/netperf_socket/sys/dev/ath/if_athvar.h#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,7 +33,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.11 2004/04/01 00:38:45 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.14 2004/04/03 03:33:02 sam Exp $ */ /* @@ -93,6 +93,11 @@ struct ieee80211com sc_ic; /* IEEE 802.11 common */ int (*sc_newstate)(struct ieee80211com *, enum ieee80211_state, int); + void (*sc_node_free)(struct ieee80211com *, + struct ieee80211_node *); + void (*sc_node_copy)(struct ieee80211com *, + struct ieee80211_node *, + const struct ieee80211_node *); device_t sc_dev; bus_space_tag_t sc_st; /* bus space tag */ bus_space_handle_t sc_sh; /* bus space handle */ @@ -147,7 +152,6 @@ u_int sc_bhalq; /* HAL q for outgoing beacons */ struct ath_buf *sc_bcbuf; /* beacon buffer */ struct ath_buf *sc_bufptr; /* allocated buffer ptr */ - struct task sc_swbatask; /* swba int processing */ struct task sc_bmisstask; /* bmiss int processing */ struct callout sc_cal_ch; /* callout handle for cals */ ==== //depot/projects/netperf_socket/sys/dev/kbd/kbd.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/kbd/kbd.c,v 1.39 2004/02/21 21:10:43 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/kbd/kbd.c,v 1.41 2004/04/02 16:41:16 des Exp $"); #include "opt_kbd.h" @@ -56,7 +56,7 @@ } genkbd_softc_t; static SLIST_HEAD(, keyboard_driver) keyboard_drivers = - SLIST_HEAD_INITIALIZER(keyboard_drivers); + SLIST_HEAD_INITIALIZER(keyboard_drivers); SET_DECLARE(kbddriver_set, const keyboard_driver_t); @@ -94,14 +94,14 @@ new_kbd = malloc(sizeof(*new_kbd)*newsize, M_DEVBUF, M_NOWAIT|M_ZERO); if (new_kbd == NULL) { splx(s); - return ENOMEM; + return (ENOMEM); } new_kbdsw = malloc(sizeof(*new_kbdsw)*newsize, M_DEVBUF, M_NOWAIT|M_ZERO); if (new_kbdsw == NULL) { free(new_kbd, M_DEVBUF); splx(s); - return ENOMEM; + return (ENOMEM); } bcopy(keyboard, new_kbd, sizeof(*keyboard)*keyboards); bcopy(kbdsw, new_kbdsw, sizeof(*kbdsw)*keyboards); @@ -117,7 +117,7 @@ if (bootverbose) printf("kbd: new array size %d\n", keyboards); - return 0; + return (0); } /* @@ -166,9 +166,9 @@ kbd_add_driver(keyboard_driver_t *driver) { if (SLIST_NEXT(driver, link)) - return EINVAL; + return (EINVAL); SLIST_INSERT_HEAD(&keyboard_drivers, driver, link); - return 0; + return (0); } int @@ -176,7 +176,7 @@ { SLIST_REMOVE(&keyboard_drivers, driver, keyboard_driver, link); SLIST_NEXT(driver, link) = NULL; - return 0; + return (0); } /* register a keyboard and associate it with a function table */ @@ -193,7 +193,7 @@ } if (index >= keyboards) { if (kbd_realloc_array()) - return -1; + return (-1); } kbd->kb_index = index; @@ -208,7 +208,7 @@ if (strcmp(p->name, kbd->kb_name) == 0) { keyboard[index] = kbd; kbdsw[index] = p->kbdsw; - return index; + return (index); } } SET_FOREACH(list, kbddriver_set) { @@ -216,11 +216,11 @@ if (strcmp(p->name, kbd->kb_name) == 0) { keyboard[index] = kbd; kbdsw[index] = p->kbdsw; - return index; + return (index); } } - return -1; + return (-1); } int @@ -230,21 +230,21 @@ int s; if ((kbd->kb_index < 0) || (kbd->kb_index >= keyboards)) - return ENOENT; + return (ENOENT); if (keyboard[kbd->kb_index] != kbd) - return ENOENT; + return (ENOENT); s = spltty(); if (KBD_IS_BUSY(kbd)) { error = (*kbd->kb_callback.kc_func)(kbd, KBDIO_UNLOADING, - kbd->kb_callback.kc_arg); + kbd->kb_callback.kc_arg); if (error) { splx(s); - return error; + return (error); } if (KBD_IS_BUSY(kbd)) { splx(s); - return EBUSY; + return (EBUSY); } } KBD_INVALID(kbd); @@ -252,7 +252,7 @@ kbdsw[kbd->kb_index] = NULL; splx(s); - return 0; + return (0); } /* find a funciton table by the driver name */ @@ -264,15 +264,15 @@ SLIST_FOREACH(p, &keyboard_drivers, link) { if (strcmp(p->name, driver) == 0) - return p->kbdsw; + return (p->kbdsw); } SET_FOREACH(list, kbddriver_set) { p = *list; if (strcmp(p->name, driver) == 0) - return p->kbdsw; + return (p->kbdsw); } - return NULL; + return (NULL); } /* @@ -297,9 +297,9 @@ continue; if ((unit != -1) && (keyboard[i]->kb_unit != unit)) continue; - return i; + return (i); } - return -1; + return (-1); } /* allocate a keyboard */ @@ -311,14 +311,14 @@ int s; if (func == NULL) - return -1; + return (-1); s = spltty(); index = kbd_find_keyboard(driver, unit); if (index >= 0) { if (KBD_IS_BUSY(keyboard[index])) { splx(s); - return -1; + return (-1); } keyboard[index]->kb_token = id; KBD_BUSY(keyboard[index]); @@ -327,7 +327,7 @@ (*kbdsw[index]->clear_state)(keyboard[index]); } splx(s); - return index; + return (index); } int @@ -350,7 +350,7 @@ error = 0; } splx(s); - return error; + return (error); } int @@ -373,7 +373,7 @@ error = 0; } splx(s); - return error; + return (error); } /* get a keyboard structure */ @@ -381,12 +381,12 @@ *kbd_get_keyboard(int index) { if ((index < 0) || (index >= keyboards)) - return NULL; + return (NULL); if (keyboard[index] == NULL) - return NULL; + return (NULL); if (!KBD_IS_VALID(keyboard[index])) - return NULL; - return keyboard[index]; + return (NULL); + return (keyboard[index]); } /* @@ -411,7 +411,7 @@ (*p->configure)(flags); } - return 0; + return (0); } #ifdef KBD_INSTALL_CDEV @@ -449,17 +449,17 @@ { if (kbd->kb_index >= keyboards) - return EINVAL; + return (EINVAL); if (keyboard[kbd->kb_index] != kbd) - return EINVAL; + return (EINVAL); - kbd->kb_dev = make_dev(&kbd_cdevsw, kbd->kb_index, UID_ROOT, GID_WHEEL, 0600, - "%s%r", kbd->kb_name, kbd->kb_unit); + kbd->kb_dev = make_dev(&kbd_cdevsw, kbd->kb_index, UID_ROOT, GID_WHEEL, + 0600, "%s%r", kbd->kb_name, kbd->kb_unit); make_dev_alias(kbd->kb_dev, "kbd%r", kbd->kb_index); kbd->kb_dev->si_drv1 = malloc(sizeof(genkbd_softc_t), M_DEVBUF, - M_WAITOK | M_ZERO); + M_WAITOK | M_ZERO); printf("kbd%d at %s%d\n", kbd->kb_index, kbd->kb_name, kbd->kb_unit); - return 0; + return (0); } int @@ -467,14 +467,14 @@ { if (kbd->kb_index >= keyboards) - return EINVAL; + return (EINVAL); if (keyboard[kbd->kb_index] != kbd) - return EINVAL; + return (EINVAL); free(kbd->kb_dev->si_drv1, M_DEVBUF); destroy_dev(kbd->kb_dev); - return 0; + return (0); } /* @@ -501,13 +501,13 @@ kbd = kbd_get_keyboard(KBD_INDEX(dev)); if ((sc == NULL) || (kbd == NULL) || !KBD_IS_VALID(kbd)) { splx(s); - return ENXIO; + return (ENXIO); } i = kbd_allocate(kbd->kb_name, kbd->kb_unit, sc, - genkbd_event, (void *)sc); + genkbd_event, (void *)sc); if (i < 0) { splx(s); - return EBUSY; + return (EBUSY); } /* assert(i == kbd->kb_index) */ /* assert(kbd == kbd_get_keyboard(i)) */ @@ -523,7 +523,7 @@ clist_alloc_cblocks(&sc->gkb_q, KB_QSIZE, KB_QSIZE/2); /* XXX */ splx(s); - return 0; + return (0); } static int @@ -549,7 +549,7 @@ #endif } splx(s); - return 0; + return (0); } static int @@ -568,24 +568,24 @@ kbd = kbd_get_keyboard(KBD_INDEX(dev)); if ((sc == NULL) || (kbd == NULL) || !KBD_IS_VALID(kbd)) { splx(s); - return ENXIO; + return (ENXIO); } while (sc->gkb_q.c_cc == 0) { if (flag & IO_NDELAY) { splx(s); - return EWOULDBLOCK; + return (EWOULDBLOCK); } sc->gkb_flags |= KB_ASLEEP; error = tsleep(sc, PZERO | PCATCH, "kbdrea", 0); kbd = kbd_get_keyboard(KBD_INDEX(dev)); if ((kbd == NULL) || !KBD_IS_VALID(kbd)) { splx(s); - return ENXIO; /* our keyboard has gone... */ + return (ENXIO); /* our keyboard has gone... */ } if (error) { sc->gkb_flags &= ~KB_ASLEEP; splx(s); - return error; + return (error); } } splx(s); @@ -602,7 +602,7 @@ break; } - return error; + return (error); } static int @@ -612,8 +612,8 @@ kbd = kbd_get_keyboard(KBD_INDEX(dev)); if ((kbd == NULL) || !KBD_IS_VALID(kbd)) - return ENXIO; - return ENODEV; + return (ENXIO); + return (ENODEV); } static int @@ -624,11 +624,11 @@ kbd = kbd_get_keyboard(KBD_INDEX(dev)); if ((kbd == NULL) || !KBD_IS_VALID(kbd)) - return ENXIO; + return (ENXIO); error = (*kbdsw[kbd->kb_index]->ioctl)(kbd, cmd, arg); if (error == ENOIOCTL) error = ENODEV; - return error; + return (error); } static int @@ -652,7 +652,7 @@ selrecord(td, &sc->gkb_rsel); } splx(s); - return revents; + return (revents); } static int @@ -678,9 +678,9 @@ wakeup(sc); } selwakeuppri(&sc->gkb_rsel, PZERO); - return 0; + return (0); default: - return EINVAL; + return (EINVAL); } /* obtain the current key input mode */ @@ -733,7 +733,7 @@ break; case FKEY | SPCLKEY: /* a function key, return string */ cp = (*kbdsw[kbd->kb_index]->get_fkeystr)(kbd, - KEYCHAR(c), &len); + KEYCHAR(c), &len); if (cp != NULL) { while (len-- > 0) putc(*cp++, &sc->gkb_q); @@ -751,7 +751,7 @@ selwakeuppri(&sc->gkb_rsel, PZERO); } - return 0; + return (0); } #endif /* KBD_INSTALL_CDEV */ @@ -786,7 +786,7 @@ case KDGKBINFO: /* get keyboard information */ ((keyboard_info_t *)arg)->kb_index = kbd->kb_index; i = imin(strlen(kbd->kb_name) + 1, - sizeof(((keyboard_info_t *)arg)->kb_name)); + sizeof(((keyboard_info_t *)arg)->kb_name)); bcopy(kbd->kb_name, ((keyboard_info_t *)arg)->kb_name, i); ((keyboard_info_t *)arg)->kb_unit = kbd->kb_unit; ((keyboard_info_t *)arg)->kb_type = kbd->kb_type; @@ -800,7 +800,7 @@ case KDGETREPEAT: /* get keyboard repeat rate */ ((int *)arg)[0] = kbd->kb_delay1; - ((int *)arg)[1] = kbd->kb_delay2; + ((int *)arg)[1] = kbd->kb_delay2; break; case GIO_KEYMAP: /* get keyboard translation table */ @@ -812,46 +812,46 @@ curthread); if (error != 0) { splx(s); - return error; + return (error); } bzero(kbd->kb_accentmap, sizeof(*kbd->kb_accentmap)); bcopy(arg, kbd->kb_keymap, sizeof(*kbd->kb_keymap)); break; #else splx(s); - return ENODEV; + return (ENODEV); #endif case GIO_KEYMAPENT: /* get keyboard translation table entry */ keyp = (keyarg_t *)arg; - if (keyp->keynum >= sizeof(kbd->kb_keymap->key) - /sizeof(kbd->kb_keymap->key[0])) { + if (keyp->keynum >= sizeof(kbd->kb_keymap->key) / + sizeof(kbd->kb_keymap->key[0])) { splx(s); - return EINVAL; + return (EINVAL); } bcopy(&kbd->kb_keymap->key[keyp->keynum], &keyp->key, - sizeof(keyp->key)); + sizeof(keyp->key)); break; case PIO_KEYMAPENT: /* set keyboard translation table entry */ #ifndef KBD_DISABLE_KEYMAP_LOAD keyp = (keyarg_t *)arg; - if (keyp->keynum >= sizeof(kbd->kb_keymap->key) - /sizeof(kbd->kb_keymap->key[0])) { + if (keyp->keynum >= sizeof(kbd->kb_keymap->key) / + sizeof(kbd->kb_keymap->key[0])) { splx(s); - return EINVAL; + return (EINVAL); } error = key_change_ok(&kbd->kb_keymap->key[keyp->keynum], &keyp->key, curthread); if (error != 0) { splx(s); - return error; + return (error); } bcopy(&keyp->key, &kbd->kb_keymap->key[keyp->keynum], - sizeof(keyp->key)); + sizeof(keyp->key)); break; #else splx(s); - return ENODEV; + return (ENODEV); #endif case GIO_DEADKEYMAP: /* get accent key translation table */ @@ -863,23 +863,23 @@ (accentmap_t *)arg, curthread); if (error != 0) { splx(s); - return error; + return (error); } bcopy(arg, kbd->kb_accentmap, sizeof(*kbd->kb_accentmap)); break; #else splx(s); - return ENODEV; + return (ENODEV); #endif case GETFKEY: /* get functionkey string */ fkeyp = (fkeyarg_t *)arg; if (fkeyp->keynum >= kbd->kb_fkeytab_size) { splx(s); - return EINVAL; + return (EINVAL); } bcopy(kbd->kb_fkeytab[fkeyp->keynum].str, fkeyp->keydef, - kbd->kb_fkeytab[fkeyp->keynum].len); + kbd->kb_fkeytab[fkeyp->keynum].len); fkeyp->flen = kbd->kb_fkeytab[fkeyp->keynum].len; break; case SETFKEY: /* set functionkey string */ @@ -887,30 +887,30 @@ fkeyp = (fkeyarg_t *)arg; if (fkeyp->keynum >= kbd->kb_fkeytab_size) { splx(s); - return EINVAL; + return (EINVAL); } error = fkey_change_ok(&kbd->kb_fkeytab[fkeyp->keynum], fkeyp, curthread); if (error != 0) { splx(s); - return error; + return (error); } kbd->kb_fkeytab[fkeyp->keynum].len = imin(fkeyp->flen, MAXFK); bcopy(fkeyp->keydef, kbd->kb_fkeytab[fkeyp->keynum].str, - kbd->kb_fkeytab[fkeyp->keynum].len); + kbd->kb_fkeytab[fkeyp->keynum].len); break; #else splx(s); - return ENODEV; + return (ENODEV); #endif default: splx(s); - return ENOIOCTL; + return (ENOIOCTL); } splx(s); - return 0; + return (0); } #ifndef KBD_DISABLE_KEYMAP_LOAD @@ -928,7 +928,7 @@ /* Low keymap_restrict_change means any changes are OK. */ if (keymap_restrict_change <= 0) - return 0; + return (0); /* High keymap_restrict_change means only root can change the keymap. */ if (keymap_restrict_change >= 2) { @@ -939,7 +939,7 @@ return suser(td); if (oldkey->flgs != newkey->flgs) return suser(td); - return 0; + return (0); } /* Otherwise we have to see if any special keys are being changed. */ @@ -956,7 +956,7 @@ return suser(td); } - return 0; + return (0); } static int @@ -967,9 +967,9 @@ for (keycode = 0; keycode < NUM_KEYS; keycode++) { if ((error = key_change_ok(&oldmap->key[keycode], &newmap->key[keycode], td)) != 0) - return error; + return (error); } - return 0; + return (0); } static int @@ -979,7 +979,7 @@ int accent, i; if (keymap_restrict_change <= 2) - return 0; + return (0); if (oldmap->n_accs != newmap->n_accs) return suser(td); @@ -999,20 +999,20 @@ } } - return 0; + return (0); } static int fkey_change_ok(fkeytab_t *oldkey, fkeyarg_t *newkey, struct thread *td) { if (keymap_restrict_change <= 3) - return 0; + return (0); if (oldkey->len != newkey->flen || bcmp(oldkey->str, newkey->keydef, oldkey->len) != 0) return suser(td); - return 0; + return (0); } #endif @@ -1021,12 +1021,12 @@ *genkbd_get_fkeystr(keyboard_t *kbd, int fkey, size_t *len) { if (kbd == NULL) - return NULL; + return (NULL); fkey -= F_FN; if (fkey > kbd->kb_fkeytab_size) - return NULL; + return (NULL); *len = kbd->kb_fkeytab[fkey].len; - return kbd->kb_fkeytab[fkey].str; + return (kbd->kb_fkeytab[fkey].str); } /* diagnostic dump */ @@ -1045,22 +1045,22 @@ for (i = 0; i < sizeof(name_table)/sizeof(name_table[0]); ++i) { if (type == name_table[i].type) - return name_table[i].name; + return (name_table[i].name); } - return "unknown"; + return ("unknown"); } void genkbd_diag(keyboard_t *kbd, int level) { if (level > 0) { - printf("kbd%d: %s%d, %s (%d), config:0x%x, flags:0x%x", - kbd->kb_index, kbd->kb_name, kbd->kb_unit, - get_kbd_type_name(kbd->kb_type), kbd->kb_type, - kbd->kb_config, kbd->kb_flags); + printf("kbd%d: %s%d, %s (%d), config:0x%x, flags:0x%x", + kbd->kb_index, kbd->kb_name, kbd->kb_unit, + get_kbd_type_name(kbd->kb_type), kbd->kb_type, + kbd->kb_config, kbd->kb_flags); if (kbd->kb_io_base > 0) - printf(", port:0x%x-0x%x", kbd->kb_io_base, - kbd->kb_io_base + kbd->kb_io_size - 1); + printf(", port:0x%x-0x%x", kbd->kb_io_base, + kbd->kb_io_base + kbd->kb_io_size - 1); printf("\n"); } } @@ -1085,22 +1085,22 @@ || (kbd->kb_accentmap->acc[i - 1].accchar == 0)) { /* the index is out of range or pointing to an empty entry */ *accents = 0; - return ERRKEY; + return (ERRKEY); } - /* - * If the same accent key has been hit twice, produce the accent char - * itself. + /* + * If the same accent key has been hit twice, produce the accent + * char itself. */ if (i == *accents) { key = kbd->kb_accentmap->acc[i - 1].accchar; *accents = 0; - return key; + return (key); } /* remember the index and wait for the next key */ - *accents = i; - return NOKEY; + *accents = i; + return (NOKEY); } static u_int @@ -1112,22 +1112,22 @@ acc = &kbd->kb_accentmap->acc[*accents - 1]; *accents = 0; - /* + /* * If the accent key is followed by the space key, * produce the accent char itself. */ if (ch == ' ') - return acc->accchar; + return (acc->accchar); /* scan the accent map */ for (i = 0; i < NUM_ACCENTCHARS; ++i) { if (acc->map[i][0] == 0) /* end of table */ break; if (acc->map[i][0] == ch) - return acc->map[i][1]; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Apr 2 21:33:05 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD19316A4D0; Fri, 2 Apr 2004 21:33:04 -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 85AF016A4CE for ; Fri, 2 Apr 2004 21:33:04 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7A6D743D58 for ; Fri, 2 Apr 2004 21:33:04 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i335X4Ge032716 for ; Fri, 2 Apr 2004 21:33:04 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i335X3w9032713 for perforce@freebsd.org; Fri, 2 Apr 2004 21:33:03 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 2 Apr 2004 21:33:03 -0800 (PST) Message-Id: <200404030533.i335X3w9032713@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 50236 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, 03 Apr 2004 05:33:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=50236 Change 50236 by peter@peter_overcee on 2004/04/02 21:33:02 IFC @50231 Affected files ... .. //depot/projects/hammer/etc/defaults/rc.conf#24 integrate .. //depot/projects/hammer/etc/newsyslog.conf#8 integrate .. //depot/projects/hammer/etc/rc.d/Makefile#21 integrate .. //depot/projects/hammer/etc/rc.d/hostname#6 integrate .. //depot/projects/hammer/etc/rc.d/network#3 integrate .. //depot/projects/hammer/etc/rc.d/pf#2 integrate .. //depot/projects/hammer/etc/rc.d/pflog#1 branch .. //depot/projects/hammer/lib/libalias/alias.c#7 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#48 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#63 integrate .. //depot/projects/hammer/share/man/man5/rc.conf.5#24 integrate .. //depot/projects/hammer/sys/conf/NOTES#41 integrate .. //depot/projects/hammer/sys/dev/ath/if_ath.c#19 integrate .. //depot/projects/hammer/sys/dev/ath/if_ath_pci.c#8 integrate .. //depot/projects/hammer/sys/dev/ath/if_athioctl.h#5 integrate .. //depot/projects/hammer/sys/dev/ath/if_athvar.h#9 integrate .. //depot/projects/hammer/sys/dev/kbd/kbd.c#8 integrate .. //depot/projects/hammer/sys/dev/syscons/syscons.c#15 integrate .. //depot/projects/hammer/sys/dev/twa/twa.c#2 integrate .. //depot/projects/hammer/sys/dev/twa/twa_freebsd.c#2 integrate .. //depot/projects/hammer/sys/dev/twa/twa_includes.h#2 integrate .. //depot/projects/hammer/sys/dev/uart/uart_cpu_sparc64.c#7 integrate .. //depot/projects/hammer/sys/dev/uart/uart_dev_ns8250.c#3 integrate .. //depot/projects/hammer/sys/dev/uart/uart_kbd_sun.c#2 integrate .. //depot/projects/hammer/sys/i386/conf/NOTES#37 integrate .. //depot/projects/hammer/sys/kern/kern_thr.c#14 integrate .. //depot/projects/hammer/sys/net/if_sl.c#8 integrate .. //depot/projects/hammer/sys/net80211/ieee80211.c#9 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_input.c#9 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_node.c#12 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_node.h#7 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_output.c#7 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_proto.c#8 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_var.h#10 integrate .. //depot/projects/hammer/sys/pci/if_rl.c#31 integrate .. //depot/projects/hammer/sys/pci/if_ste.c#21 integrate .. //depot/projects/hammer/sys/pci/if_stereg.h#6 integrate Differences ... ==== //depot/projects/hammer/etc/defaults/rc.conf#24 (text+ko) ==== @@ -13,7 +13,7 @@ # # All arguments must be in double or single quotes. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.202 2004/03/23 23:22:34 brooks Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.203 2004/04/02 19:25:27 mlaier Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -107,6 +107,10 @@ pf_rules="/etc/pf.conf" # rules definition file for pf pf_program="/sbin/pfctl" # where the pfctl program lives pf_flags="" # additional flags for pfctl +pflog_enable="NO" # Set to YES to enable packet filter logging +pflog_logfile="/var/log/pflog" # where pflogd shoule store the logfile +pflog_program="/sbin/pflogd" # where the pflogd program lives +pflog_flags="" # additional flags for pflogd tcp_extensions="YES" # Set to NO to turn off RFC1323 extensions. log_in_vain="0" # >=1 to log connects to ports w/o listeners. tcp_keepalive="YES" # Enable stale TCP connection timeout (or NO). ==== //depot/projects/hammer/etc/newsyslog.conf#8 (text+ko) ==== @@ -1,5 +1,5 @@ # configuration file for newsyslog -# $FreeBSD: src/etc/newsyslog.conf,v 1.47 2003/08/07 21:04:40 fjoe Exp $ +# $FreeBSD: src/etc/newsyslog.conf,v 1.48 2004/04/02 19:25:27 mlaier Exp $ # # Entries which do not specify the '/pid_file' field will cause the # syslogd process to be signalled when that log file is rotated. This @@ -36,3 +36,5 @@ /var/log/weekly.log 640 5 1 $W6D0 JN /var/log/wtmp 644 3 * @01T05 B /var/log/xferlog 600 7 100 * J +# pflogd sample entry +#/var/log/pflog 600 3 100 * JB /var/run/pflogd.pid ==== //depot/projects/hammer/etc/rc.d/Makefile#21 (text+ko) ==== @@ -1,5 +1,5 @@ # $NetBSD: Makefile,v 1.16 2001/01/14 15:37:22 minoura Exp $ -# $FreeBSD: src/etc/rc.d/Makefile,v 1.37 2004/03/24 21:54:44 mlaier Exp $ +# $FreeBSD: src/etc/rc.d/Makefile,v 1.38 2004/04/02 19:25:27 mlaier Exp $ FILES= DAEMON LOGIN NETWORKING SERVERS \ abi accounting addswap adjkerntz amd \ @@ -25,7 +25,7 @@ network_ipv6 nfsclient nfsd \ nfslocking nfsserver nisdomain ntpd ntpdate \ othermta \ - pccard pcvt pf power_profile ppp-user pppoed pwcheck \ + pccard pcvt pf pflog power_profile ppp-user pppoed pwcheck \ quota \ random rarpd rcconf.sh resolv root \ route6d routed routing rpcbind rtadvd rwho \ ==== //depot/projects/hammer/etc/rc.d/hostname#6 (text+ko) ==== @@ -23,7 +23,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/rc.d/hostname,v 1.6 2004/03/23 23:22:34 brooks Exp $ +# $FreeBSD: src/etc/rc.d/hostname,v 1.7 2004/04/02 12:18:40 krion Exp $ # # PROVIDE: hostname @@ -47,7 +47,7 @@ if [ `$SYSCTL_N security.jail.set_hostname_allowed` -eq 0 ]; then return fi - elif [ -n "`hostname -s`" ]; then + elif [ -n "`/bin/hostname -s`" ]; then return else # If we're not in a jail and rc.conf doesn't specify a @@ -59,7 +59,7 @@ fi fi - hostname ${hostname} + /bin/hostname ${hostname} echo "Setting hostname: `hostname`." } ==== //depot/projects/hammer/etc/rc.d/network#3 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # $NetBSD: network,v 1.29 2001/01/11 17:56:16 itojun Exp $ -# $FreeBSD: src/etc/rc.d/network,v 1.3 2002/08/12 10:04:32 schweikh Exp $ +# $FreeBSD: src/etc/rc.d/network,v 1.4 2004/04/02 12:18:40 krion Exp $ # PROVIDE: network # REQUIRE: ipfilter ipsec mountcritlocal root tty sysctl @@ -26,13 +26,13 @@ fi if [ -n "$hostname" ]; then echo "Hostname: $hostname" - hostname $hostname + /bin/hostname $hostname else # Don't warn about it if we're going to run # DHCP later, as we will probably get the # hostname at that time. # - if ! checkyesno dhclient && [ -z "`hostname`" ]; then + if ! checkyesno dhclient && [ -z "`/bin/hostname`" ]; then warn "\$hostname not set." fi fi ==== //depot/projects/hammer/etc/rc.d/pf#2 (text+ko) ==== @@ -1,10 +1,10 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/pf,v 1.1 2004/03/23 22:30:15 mlaier Exp $ +# $FreeBSD: src/etc/rc.d/pf,v 1.2 2004/04/02 19:25:27 mlaier Exp $ # # PROVIDE: pf -# REQUIRE: root beforenetlkm mountcritlocal netif +# REQUIRE: root beforenetlkm mountcritlocal netif pflog # BEFORE: DAEMON LOGIN # KEYWORD: FreeBSD nojail ==== //depot/projects/hammer/lib/libalias/alias.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libalias/alias.c,v 1.41 2004/03/31 21:32:58 des Exp $"); +__FBSDID("$FreeBSD: src/lib/libalias/alias.c,v 1.42 2004/04/02 17:57:57 deischen Exp $"); /* Alias.c provides supervisory control for the functions of the @@ -884,6 +884,7 @@ /* Restore original IP address */ accumulate = twowords(&pip->ip_dst); + pip->ip_dst = original_address; accumulate -= twowords(&pip->ip_dst); /* If this is a transparent proxy packet, then modify the source ==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#48 (text+ko) ==== @@ -29,7 +29,7 @@ - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.214 2004/03/15 00:11:27 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.215 2004/04/02 17:19:59 rik Exp $ Supported Devices @@ -908,6 +908,18 @@ Cronyx-Sigma synchronous / asynchronous serial adapters (&man.cx.4; driver) + Cronyx-Tau synchronous serial adapters for ISA bus + (&man.ctau.4; driver) + + + Cronyx Tau (RS-232/V.35) and Cronyx Tau/R (RS-530/RS-449) + + + Cronyx Tau/E1 (fractional E1) and Cronyx Tau/G703 (unframed E1) + + + + Granch SBNI12 point-to-point communications adapters (&man.sbni.4; driver) ==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#63 (text+ko) ==== @@ -3,7 +3,7 @@ The FreeBSD Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.704 2004/03/24 18:03:55 hrs Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.705 2004/04/02 17:35:53 rik Exp $ 2000 @@ -169,6 +169,11 @@ Kernel Changes + The &man.ctau.4; driver has been added for Cronyx-Tau + synchronous serial adapters. This driver was known for a long time as "ct" + in its previous life outside FreeBSD source tree. Note: only driver name + has changed. Network interface still has "ct" name. + The &man.acpi.toshiba.4; driver has been added to use Toshiba's Hardware Control Interface to manipulate certain hardware features on Toshiba laptops. ==== //depot/projects/hammer/share/man/man5/rc.conf.5#24 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man5/rc.conf.5,v 1.211 2004/03/30 15:11:16 des Exp $ +.\" $FreeBSD: src/share/man/man5/rc.conf.5,v 1.212 2004/04/02 19:25:26 mlaier Exp $ .\" .Dd March 30, 2004 .Dt RC.CONF 5 @@ -718,6 +718,44 @@ these flags are passed to the .Xr pfctl 8 program when loading the ruleset. +.It Va pflog_enable +.Pq Vt bool +Set to +.Dq Li NO +by default. +Setting this to +.Dq Li YES +enables +.Xr pflogd 8 +which logs packtes from the +.Xr pf 4 +packet filter. +.It Va pflog_logfile +.Pq Vt str +If +.Va pflog_enable +is set to +.Dq Li YES +this controls where +.Xr pflogd 8 +stores the logfile. +(default +.Pa /var/log/pflog ) . +Check +.Pa /etc/newsyslog.conf +to enable logfile rotation for this. +.It Va pflog_program +.Pq Vt str +Path to +.Xr pflogd 8 +(default +.Pa /sbin/pflogd ) . +.It Va pflog_flags +.Pq Vt str +Empty by default. +This variable contains additional flags passed to the +.Xr pflogd 8 +program. .It Va tcp_extensions .Pq Vt bool Set to @@ -2910,6 +2948,7 @@ .Xr udp 4 , .Xr exports 5 , .Xr motd 5 , +.Xr newsyslog.conf 5 , .Xr accton 8 , .Xr amd 8 , .Xr apm 8 , ==== //depot/projects/hammer/sys/conf/NOTES#41 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1211 2004/03/31 18:46:13 vkashyap Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1212 2004/04/02 18:50:56 vkashyap Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1388,14 +1388,6 @@ device twe # 3ware ATA RAID # -# 3ware 9000 series PATA/SATA RAID controller driver and options. -# The driver is implemented as a SIM, and so, needs the CAM infrastructure. -# -options TWA_DEBUG # 0-10; 10 prints the most messages. -options TWA_FLASH_FIRMWARE # firmware image bundled when defined. -device twa # 3ware 9000 series PATA/SATA RAID - -# # The 'ATA' driver supports all ATA and ATAPI devices, including PC Card # devices. You only need one "device ata" for it to find all # PCI and PC Card ATA/ATAPI devices on modern machines. ==== //depot/projects/hammer/sys/dev/ath/if_ath.c#19 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.47 2004/04/01 00:38:45 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.53 2004/04/03 00:06:23 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -270,7 +270,6 @@ TASK_INIT(&sc->sc_txtask, 0, ath_tx_proc, sc); TASK_INIT(&sc->sc_rxtask, 0, ath_rx_proc, sc); - TASK_INIT(&sc->sc_swbatask, 0, ath_beacon_proc, sc); TASK_INIT(&sc->sc_rxorntask, 0, ath_rxorn_proc, sc); TASK_INIT(&sc->sc_fataltask, 0, ath_fatal_proc, sc); TASK_INIT(&sc->sc_bmisstask, 0, ath_bmiss_proc, sc); @@ -288,7 +287,7 @@ ); if (sc->sc_txhalq == (u_int) -1) { if_printf(ifp, "unable to setup a data xmit queue!\n"); - goto bad; + goto bad2; } sc->sc_bhalq = ath_hal_setuptxqueue(ah, HAL_TX_QUEUE_BEACON, @@ -296,7 +295,7 @@ ); if (sc->sc_bhalq == (u_int) -1) { if_printf(ifp, "unable to setup a beacon xmit queue!\n"); - goto bad; + goto bad2; } ifp->if_softc = sc; @@ -317,7 +316,7 @@ | IEEE80211_C_HOSTAP /* hostap mode */ | IEEE80211_C_MONITOR /* monitor mode */ | IEEE80211_C_SHPREAMBLE /* short preamble supported */ - | IEEE80211_C_RCVMGT; /* recv management frames */ + ; /* get mac address from hardware */ ath_hal_getmac(ah, ic->ic_myaddr); @@ -326,7 +325,9 @@ ieee80211_ifattach(ifp); /* override default methods */ ic->ic_node_alloc = ath_node_alloc; + sc->sc_node_free = ic->ic_node_free; ic->ic_node_free = ath_node_free; + sc->sc_node_copy = ic->ic_node_copy; ic->ic_node_copy = ath_node_copy; ic->ic_node_getrssi = ath_node_getrssi; sc->sc_newstate = ic->ic_newstate; @@ -355,6 +356,8 @@ sc->sc_rx_th.wr_ihdr.it_present = htole32(ATH_RX_RADIOTAP_PRESENT); return 0; +bad2: + ath_desc_free(sc); bad: if (ah) ath_hal_detach(ah); @@ -432,6 +435,8 @@ DPRINTF(ATH_DEBUG_ANY, ("%s: invalid; ignored\n", __func__)); return; } + if (!ath_hal_intrpend(ah)) /* shared irq, not for us */ + return; if ((ifp->if_flags & (IFF_RUNNING|IFF_UP)) != (IFF_RUNNING|IFF_UP)) { DPRINTF(ATH_DEBUG_ANY, ("%s: if_flags 0x%x\n", __func__, ifp->if_flags)); @@ -476,8 +481,14 @@ taskqueue_enqueue(taskqueue_swi, &sc->sc_rxtask); if (status & HAL_INT_TX) taskqueue_enqueue(taskqueue_swi, &sc->sc_txtask); - if (status & HAL_INT_SWBA) - taskqueue_enqueue(taskqueue_swi, &sc->sc_swbatask); + if (status & HAL_INT_SWBA) { + /* + * Handle beacon transmission directly; deferring + * this is too slow to meet timing constraints + * under load. + */ + ath_beacon_proc(sc, 0); + } if (status & HAL_INT_BMISS) { sc->sc_stats.ast_bmiss++; taskqueue_enqueue(taskqueue_swi, &sc->sc_bmisstask); @@ -1507,14 +1518,18 @@ if (bf->bf_node == ni) bf->bf_node = NULL; } - free(ni, M_DEVBUF); + (*sc->sc_node_free)(ic, ni); } static void ath_node_copy(struct ieee80211com *ic, struct ieee80211_node *dst, const struct ieee80211_node *src) { - *(struct ath_node *)dst = *(const struct ath_node *)src; + struct ath_softc *sc = ic->ic_if.if_softc; + + memcpy(&dst[1], &src[1], + sizeof(struct ath_node) - sizeof(struct ieee80211_node)); + (*sc->sc_node_copy)(ic, dst, src); } ==== //depot/projects/hammer/sys/dev/ath/if_ath_pci.c#8 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.7 2004/03/17 17:50:27 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.8 2004/04/02 23:57:10 sam Exp $"); /* * PCI/Cardbus front-end for the Atheros Wireless LAN controller driver. ==== //depot/projects/hammer/sys/dev/ath/if_athioctl.h#5 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,7 +33,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/if_athioctl.h,v 1.5 2003/12/28 07:00:32 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athioctl.h,v 1.7 2004/04/02 23:57:10 sam Exp $ */ /* @@ -70,6 +70,8 @@ u_int32_t ast_tx_rts; /* tx frames with rts enabled */ u_int32_t ast_tx_cts; /* tx frames with cts enabled */ u_int32_t ast_tx_shortpre;/* tx frames with short preamble */ + u_int32_t ast_tx_altrate; /* tx frames with alternate rate */ + u_int32_t ast_tx_protect; /* tx frames with protection */ u_int32_t ast_rx_nombuf; /* rx setup failed 'cuz no mbuf */ u_int32_t ast_rx_busdma; /* rx setup failed for dma resrcs */ u_int32_t ast_rx_orn; /* rx failed 'cuz of desc overrun */ @@ -79,6 +81,7 @@ u_int32_t ast_rx_phyerr; /* rx failed 'cuz of PHY err */ u_int32_t ast_rx_phy[32]; /* rx PHY error per-code counts */ u_int32_t ast_rx_tooshort;/* rx discarded 'cuz frame too short */ + u_int32_t ast_rx_toobig; /* rx discarded 'cuz frame too large */ u_int32_t ast_rx_ctl; /* rx discarded 'cuz ctl frame */ u_int32_t ast_be_nombuf; /* beacon setup failed 'cuz no mbuf */ u_int32_t ast_per_cal; /* periodic calibration calls */ ==== //depot/projects/hammer/sys/dev/ath/if_athvar.h#9 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,7 +33,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.11 2004/04/01 00:38:45 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.14 2004/04/03 03:33:02 sam Exp $ */ /* @@ -93,6 +93,11 @@ struct ieee80211com sc_ic; /* IEEE 802.11 common */ int (*sc_newstate)(struct ieee80211com *, enum ieee80211_state, int); + void (*sc_node_free)(struct ieee80211com *, + struct ieee80211_node *); + void (*sc_node_copy)(struct ieee80211com *, + struct ieee80211_node *, + const struct ieee80211_node *); device_t sc_dev; bus_space_tag_t sc_st; /* bus space tag */ bus_space_handle_t sc_sh; /* bus space handle */ @@ -147,7 +152,6 @@ u_int sc_bhalq; /* HAL q for outgoing beacons */ struct ath_buf *sc_bcbuf; /* beacon buffer */ struct ath_buf *sc_bufptr; /* allocated buffer ptr */ - struct task sc_swbatask; /* swba int processing */ struct task sc_bmisstask; /* bmiss int processing */ struct callout sc_cal_ch; /* callout handle for cals */ ==== //depot/projects/hammer/sys/dev/kbd/kbd.c#8 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/kbd/kbd.c,v 1.39 2004/02/21 21:10:43 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/kbd/kbd.c,v 1.41 2004/04/02 16:41:16 des Exp $"); #include "opt_kbd.h" @@ -56,7 +56,7 @@ } genkbd_softc_t; static SLIST_HEAD(, keyboard_driver) keyboard_drivers = - SLIST_HEAD_INITIALIZER(keyboard_drivers); + SLIST_HEAD_INITIALIZER(keyboard_drivers); SET_DECLARE(kbddriver_set, const keyboard_driver_t); @@ -94,14 +94,14 @@ new_kbd = malloc(sizeof(*new_kbd)*newsize, M_DEVBUF, M_NOWAIT|M_ZERO); if (new_kbd == NULL) { splx(s); - return ENOMEM; + return (ENOMEM); } new_kbdsw = malloc(sizeof(*new_kbdsw)*newsize, M_DEVBUF, M_NOWAIT|M_ZERO); if (new_kbdsw == NULL) { free(new_kbd, M_DEVBUF); splx(s); - return ENOMEM; + return (ENOMEM); } bcopy(keyboard, new_kbd, sizeof(*keyboard)*keyboards); bcopy(kbdsw, new_kbdsw, sizeof(*kbdsw)*keyboards); @@ -117,7 +117,7 @@ if (bootverbose) printf("kbd: new array size %d\n", keyboards); - return 0; + return (0); } /* @@ -166,9 +166,9 @@ kbd_add_driver(keyboard_driver_t *driver) { if (SLIST_NEXT(driver, link)) - return EINVAL; + return (EINVAL); SLIST_INSERT_HEAD(&keyboard_drivers, driver, link); - return 0; + return (0); } int @@ -176,7 +176,7 @@ { SLIST_REMOVE(&keyboard_drivers, driver, keyboard_driver, link); SLIST_NEXT(driver, link) = NULL; - return 0; + return (0); } /* register a keyboard and associate it with a function table */ @@ -193,7 +193,7 @@ } if (index >= keyboards) { if (kbd_realloc_array()) - return -1; + return (-1); } kbd->kb_index = index; @@ -208,7 +208,7 @@ if (strcmp(p->name, kbd->kb_name) == 0) { keyboard[index] = kbd; kbdsw[index] = p->kbdsw; - return index; + return (index); } } SET_FOREACH(list, kbddriver_set) { @@ -216,11 +216,11 @@ if (strcmp(p->name, kbd->kb_name) == 0) { keyboard[index] = kbd; kbdsw[index] = p->kbdsw; - return index; + return (index); } } - return -1; + return (-1); } int @@ -230,21 +230,21 @@ int s; if ((kbd->kb_index < 0) || (kbd->kb_index >= keyboards)) - return ENOENT; + return (ENOENT); if (keyboard[kbd->kb_index] != kbd) - return ENOENT; + return (ENOENT); s = spltty(); if (KBD_IS_BUSY(kbd)) { error = (*kbd->kb_callback.kc_func)(kbd, KBDIO_UNLOADING, - kbd->kb_callback.kc_arg); + kbd->kb_callback.kc_arg); if (error) { splx(s); - return error; + return (error); } if (KBD_IS_BUSY(kbd)) { splx(s); - return EBUSY; + return (EBUSY); } } KBD_INVALID(kbd); @@ -252,7 +252,7 @@ kbdsw[kbd->kb_index] = NULL; splx(s); - return 0; + return (0); } /* find a funciton table by the driver name */ @@ -264,15 +264,15 @@ SLIST_FOREACH(p, &keyboard_drivers, link) { if (strcmp(p->name, driver) == 0) - return p->kbdsw; + return (p->kbdsw); } SET_FOREACH(list, kbddriver_set) { p = *list; if (strcmp(p->name, driver) == 0) - return p->kbdsw; + return (p->kbdsw); } - return NULL; + return (NULL); } /* @@ -297,9 +297,9 @@ continue; if ((unit != -1) && (keyboard[i]->kb_unit != unit)) continue; - return i; + return (i); } - return -1; + return (-1); } /* allocate a keyboard */ @@ -311,14 +311,14 @@ int s; if (func == NULL) - return -1; + return (-1); s = spltty(); index = kbd_find_keyboard(driver, unit); if (index >= 0) { if (KBD_IS_BUSY(keyboard[index])) { splx(s); - return -1; + return (-1); } keyboard[index]->kb_token = id; KBD_BUSY(keyboard[index]); @@ -327,7 +327,7 @@ (*kbdsw[index]->clear_state)(keyboard[index]); } splx(s); - return index; + return (index); } int @@ -350,7 +350,7 @@ error = 0; } splx(s); - return error; + return (error); } int @@ -373,7 +373,7 @@ error = 0; } splx(s); - return error; + return (error); } /* get a keyboard structure */ @@ -381,12 +381,12 @@ *kbd_get_keyboard(int index) { if ((index < 0) || (index >= keyboards)) - return NULL; + return (NULL); if (keyboard[index] == NULL) - return NULL; + return (NULL); if (!KBD_IS_VALID(keyboard[index])) - return NULL; - return keyboard[index]; + return (NULL); + return (keyboard[index]); } /* @@ -411,7 +411,7 @@ (*p->configure)(flags); } - return 0; + return (0); } #ifdef KBD_INSTALL_CDEV @@ -449,17 +449,17 @@ { if (kbd->kb_index >= keyboards) - return EINVAL; + return (EINVAL); if (keyboard[kbd->kb_index] != kbd) - return EINVAL; + return (EINVAL); - kbd->kb_dev = make_dev(&kbd_cdevsw, kbd->kb_index, UID_ROOT, GID_WHEEL, 0600, - "%s%r", kbd->kb_name, kbd->kb_unit); + kbd->kb_dev = make_dev(&kbd_cdevsw, kbd->kb_index, UID_ROOT, GID_WHEEL, + 0600, "%s%r", kbd->kb_name, kbd->kb_unit); make_dev_alias(kbd->kb_dev, "kbd%r", kbd->kb_index); kbd->kb_dev->si_drv1 = malloc(sizeof(genkbd_softc_t), M_DEVBUF, - M_WAITOK | M_ZERO); + M_WAITOK | M_ZERO); printf("kbd%d at %s%d\n", kbd->kb_index, kbd->kb_name, kbd->kb_unit); - return 0; + return (0); } int @@ -467,14 +467,14 @@ { if (kbd->kb_index >= keyboards) - return EINVAL; + return (EINVAL); if (keyboard[kbd->kb_index] != kbd) - return EINVAL; + return (EINVAL); free(kbd->kb_dev->si_drv1, M_DEVBUF); destroy_dev(kbd->kb_dev); - return 0; + return (0); } /* @@ -501,13 +501,13 @@ kbd = kbd_get_keyboard(KBD_INDEX(dev)); if ((sc == NULL) || (kbd == NULL) || !KBD_IS_VALID(kbd)) { splx(s); - return ENXIO; + return (ENXIO); } i = kbd_allocate(kbd->kb_name, kbd->kb_unit, sc, - genkbd_event, (void *)sc); + genkbd_event, (void *)sc); if (i < 0) { splx(s); - return EBUSY; + return (EBUSY); } /* assert(i == kbd->kb_index) */ /* assert(kbd == kbd_get_keyboard(i)) */ @@ -523,7 +523,7 @@ clist_alloc_cblocks(&sc->gkb_q, KB_QSIZE, KB_QSIZE/2); /* XXX */ splx(s); - return 0; + return (0); } static int @@ -549,7 +549,7 @@ #endif } splx(s); - return 0; + return (0); } static int @@ -568,24 +568,24 @@ kbd = kbd_get_keyboard(KBD_INDEX(dev)); if ((sc == NULL) || (kbd == NULL) || !KBD_IS_VALID(kbd)) { splx(s); - return ENXIO; + return (ENXIO); } while (sc->gkb_q.c_cc == 0) { if (flag & IO_NDELAY) { splx(s); - return EWOULDBLOCK; + return (EWOULDBLOCK); } sc->gkb_flags |= KB_ASLEEP; error = tsleep(sc, PZERO | PCATCH, "kbdrea", 0); kbd = kbd_get_keyboard(KBD_INDEX(dev)); if ((kbd == NULL) || !KBD_IS_VALID(kbd)) { splx(s); - return ENXIO; /* our keyboard has gone... */ + return (ENXIO); /* our keyboard has gone... */ } if (error) { sc->gkb_flags &= ~KB_ASLEEP; splx(s); - return error; + return (error); } } splx(s); @@ -602,7 +602,7 @@ break; } - return error; + return (error); } static int @@ -612,8 +612,8 @@ kbd = kbd_get_keyboard(KBD_INDEX(dev)); if ((kbd == NULL) || !KBD_IS_VALID(kbd)) - return ENXIO; - return ENODEV; + return (ENXIO); + return (ENODEV); } static int @@ -624,11 +624,11 @@ kbd = kbd_get_keyboard(KBD_INDEX(dev)); if ((kbd == NULL) || !KBD_IS_VALID(kbd)) - return ENXIO; + return (ENXIO); error = (*kbdsw[kbd->kb_index]->ioctl)(kbd, cmd, arg); if (error == ENOIOCTL) error = ENODEV; - return error; + return (error); } static int @@ -652,7 +652,7 @@ selrecord(td, &sc->gkb_rsel); } splx(s); - return revents; + return (revents); } static int @@ -678,9 +678,9 @@ wakeup(sc); } selwakeuppri(&sc->gkb_rsel, PZERO); - return 0; + return (0); default: - return EINVAL; + return (EINVAL); } /* obtain the current key input mode */ @@ -733,7 +733,7 @@ break; case FKEY | SPCLKEY: /* a function key, return string */ cp = (*kbdsw[kbd->kb_index]->get_fkeystr)(kbd, - KEYCHAR(c), &len); + KEYCHAR(c), &len); if (cp != NULL) { while (len-- > 0) putc(*cp++, &sc->gkb_q); @@ -751,7 +751,7 @@ selwakeuppri(&sc->gkb_rsel, PZERO); } - return 0; + return (0); } #endif /* KBD_INSTALL_CDEV */ @@ -786,7 +786,7 @@ case KDGKBINFO: /* get keyboard information */ ((keyboard_info_t *)arg)->kb_index = kbd->kb_index; i = imin(strlen(kbd->kb_name) + 1, - sizeof(((keyboard_info_t *)arg)->kb_name)); + sizeof(((keyboard_info_t *)arg)->kb_name)); bcopy(kbd->kb_name, ((keyboard_info_t *)arg)->kb_name, i); ((keyboard_info_t *)arg)->kb_unit = kbd->kb_unit; ((keyboard_info_t *)arg)->kb_type = kbd->kb_type; @@ -800,7 +800,7 @@ case KDGETREPEAT: /* get keyboard repeat rate */ ((int *)arg)[0] = kbd->kb_delay1; - ((int *)arg)[1] = kbd->kb_delay2; + ((int *)arg)[1] = kbd->kb_delay2; break; case GIO_KEYMAP: /* get keyboard translation table */ @@ -812,46 +812,46 @@ curthread); if (error != 0) { splx(s); - return error; + return (error); } bzero(kbd->kb_accentmap, sizeof(*kbd->kb_accentmap)); bcopy(arg, kbd->kb_keymap, sizeof(*kbd->kb_keymap)); break; #else >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Apr 2 21:34:07 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CBF0716A4D0; Fri, 2 Apr 2004 21:34:06 -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 A6BBF16A4CE for ; Fri, 2 Apr 2004 21:34:06 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 67C6143D5A for ; Fri, 2 Apr 2004 21:34:06 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i335Y6Ge032785 for ; Fri, 2 Apr 2004 21:34:06 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i335Y5Ji032782 for perforce@freebsd.org; Fri, 2 Apr 2004 21:34:05 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 2 Apr 2004 21:34:05 -0800 (PST) Message-Id: <200404030534.i335Y5Ji032782@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 50237 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, 03 Apr 2004 05:34:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=50237 Change 50237 by peter@peter_overcee on 2004/04/02 21:33:37 Hmm. dont recall whether I committed this or not. Hmm. Affected files ... .. //depot/projects/hammer/lib/libc/amd64/gen/signalcontext.c#6 edit Differences ... ==== //depot/projects/hammer/lib/libc/amd64/gen/signalcontext.c#6 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Fri Apr 2 23:26:23 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5EE7316A4D0; Fri, 2 Apr 2004 23:26:23 -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 244EE16A4CE for ; Fri, 2 Apr 2004 23:26:23 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1E28243D2D for ; Fri, 2 Apr 2004 23:26:23 -0800 (PST) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i337QMGe058997 for ; Fri, 2 Apr 2004 23:26:22 -0800 (PST) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i337QMNR058994 for perforce@freebsd.org; Fri, 2 Apr 2004 23:26:22 -0800 (PST) (envelope-from julian@freebsd.org) Date: Fri, 2 Apr 2004 23:26:22 -0800 (PST) Message-Id: <200404030726.i337QMNR058994@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 50239 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, 03 Apr 2004 07:26:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=50239 Change 50239 by julian@julian_desk on 2004/04/02 23:25:49 Link teh proc0 , ksegrp0 and thread0 lightly together at the start so that, given one you can find the others. the full linkage occurs later when we are more "up". Affected files ... .. //depot/projects/nsched/sys/i386/i386/machdep.c#3 edit Differences ... ==== //depot/projects/nsched/sys/i386/i386/machdep.c#3 (text+ko) ==== @@ -1957,9 +1957,11 @@ atdevbase = ISA_HOLE_START + KERNBASE; /* - * Just link td->td_proc here. Full linkage will occur later. + * Just link a few things here. Full linkage will occur later. */ thread0.td_proc = &proc0; + ksegrp0.kg_proc = &proc0; + thread0.td_ksegrp = &ksegrp0; metadata_missing = 0; if (bootinfo.bi_modulep) { From owner-p4-projects@FreeBSD.ORG Sat Apr 3 00:33:46 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE7DE16A4D0; Sat, 3 Apr 2004 00:33:45 -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 B61C416A4CE for ; Sat, 3 Apr 2004 00:33:45 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AFADF43D2D for ; Sat, 3 Apr 2004 00:33:45 -0800 (PST) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i338XjGe075064 for ; Sat, 3 Apr 2004 00:33:45 -0800 (PST) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i338XjRa075061 for perforce@freebsd.org; Sat, 3 Apr 2004 00:33:45 -0800 (PST) (envelope-from julian@freebsd.org) Date: Sat, 3 Apr 2004 00:33:45 -0800 (PST) Message-Id: <200404030833.i338XjRa075061@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 50241 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, 03 Apr 2004 08:33:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=50241 Change 50241 by julian@julian_jules1 on 2004/04/03 00:33:40 don't use fields until we have set them up. Affected files ... .. //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.c#2 edit Differences ... ==== //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.c#2 (text+ko) ==== @@ -73,13 +73,13 @@ /* * Set up the scheduler specific parts of proc0. */ - kse_link(&kse0, &ksegrp0); kse0.ke_sched = kse0_sched; ksegrp0.kg_sched = ksegrp0_sched; proc0.p_sched = proc0_sched; thread0.td_sched = thread0_sched; kse0.ke_state = KES_THREAD; kse0.ke_thread = &thread0; + kse_link(&kse0, &ksegrp0); thread0.td_kse = &kse0; /* we are running */ @@ -198,6 +198,7 @@ return (ENOMEM); } +/* Assumes kg->kg_sched is already set up */ void sched_newkseg(struct ksegrp *kg) { @@ -209,6 +210,7 @@ kg->kg_idle_kses = 0; } +/* Assumes td->td_sched is already set up */ void sched_newthread(struct thread *td) { From owner-p4-projects@FreeBSD.ORG Sat Apr 3 01:08:29 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6C16C16A4D0; Sat, 3 Apr 2004 01:08:29 -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 3C6DC16A4CE for ; Sat, 3 Apr 2004 01:08:29 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1E05E43D2D for ; Sat, 3 Apr 2004 01:08:29 -0800 (PST) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i3398SGe088984 for ; Sat, 3 Apr 2004 01:08:28 -0800 (PST) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i3398SiI088981 for perforce@freebsd.org; Sat, 3 Apr 2004 01:08:28 -0800 (PST) (envelope-from julian@freebsd.org) Date: Sat, 3 Apr 2004 01:08:28 -0800 (PST) Message-Id: <200404030908.i3398SiI088981@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 50242 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, 03 Apr 2004 09:08:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=50242 Change 50242 by julian@julian_jules1 on 2004/04/03 01:07:49 new processes have their KSE linked in fully. Affected files ... .. //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.c#3 edit Differences ... ==== //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.c#3 (text+ko) ==== @@ -193,9 +193,11 @@ ke = kse_alloc(); if (ke) { kse_link(ke, kg); + td->td_kse = ke; + ke->ke_thread = td return (0); } - return (ENOMEM); + return (ENOMEM ); } /* Assumes kg->kg_sched is already set up */ From owner-p4-projects@FreeBSD.ORG Sat Apr 3 01:09:31 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3857316A4D0; Sat, 3 Apr 2004 01:09:31 -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 1454B16A4CE for ; Sat, 3 Apr 2004 01:09:31 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EB3AE43D31 for ; Sat, 3 Apr 2004 01:09:30 -0800 (PST) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i3399UGe089028 for ; Sat, 3 Apr 2004 01:09:30 -0800 (PST) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i3399UEA089025 for perforce@freebsd.org; Sat, 3 Apr 2004 01:09:30 -0800 (PST) (envelope-from julian@freebsd.org) Date: Sat, 3 Apr 2004 01:09:30 -0800 (PST) Message-Id: <200404030909.i3399UEA089025@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 50243 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, 03 Apr 2004 09:09:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=50243 Change 50243 by julian@julian_jules1 on 2004/04/03 01:09:26 typo Affected files ... .. //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.c#4 edit Differences ... ==== //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.c#4 (text+ko) ==== @@ -194,7 +194,7 @@ if (ke) { kse_link(ke, kg); td->td_kse = ke; - ke->ke_thread = td + ke->ke_thread = td; return (0); } return (ENOMEM ); From owner-p4-projects@FreeBSD.ORG Sat Apr 3 01:41:12 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8366816A4D0; Sat, 3 Apr 2004 01:41:11 -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 54A4816A4CE for ; Sat, 3 Apr 2004 01:41:11 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 357CC43D55 for ; Sat, 3 Apr 2004 01:41:11 -0800 (PST) (envelope-from dfr@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i339fBGe096050 for ; Sat, 3 Apr 2004 01:41:11 -0800 (PST) (envelope-from dfr@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i339fAQS096041 for perforce@freebsd.org; Sat, 3 Apr 2004 01:41:10 -0800 (PST) (envelope-from dfr@freebsd.org) Date: Sat, 3 Apr 2004 01:41:10 -0800 (PST) Message-Id: <200404030941.i339fAQS096041@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dfr@freebsd.org using -f From: Doug Rabson To: Perforce Change Reviews Subject: PERFORCE change 50245 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, 03 Apr 2004 09:41:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=50245 Change 50245 by dfr@dfr_home on 2004/04/03 01:41:07 Remember to initialise tlssize for main program. Affected files ... .. //depot/projects/kse/libexec/rtld-elf/rtld.c#3 edit Differences ... ==== //depot/projects/kse/libexec/rtld-elf/rtld.c#3 (text+ko) ==== @@ -748,6 +748,7 @@ obj->tlsoffset = calculate_tls_offset(0, ph->p_memsz, ph->p_align); tls_last_offset = obj->tlsoffset; + obj->tlssize = ph->p_memsz; obj->tlsinitsize = ph->p_filesz; obj->tlsinit = (void*) ph->p_vaddr; break; From owner-p4-projects@FreeBSD.ORG Sat Apr 3 01:42:14 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F17616A4D0; Sat, 3 Apr 2004 01:42:13 -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 4D1DC16A4CE for ; Sat, 3 Apr 2004 01:42:13 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2DC3843D39 for ; Sat, 3 Apr 2004 01:42:13 -0800 (PST) (envelope-from dfr@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i339gCGe096945 for ; Sat, 3 Apr 2004 01:42:12 -0800 (PST) (envelope-from dfr@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i339gCvx096936 for perforce@freebsd.org; Sat, 3 Apr 2004 01:42:12 -0800 (PST) (envelope-from dfr@freebsd.org) Date: Sat, 3 Apr 2004 01:42:12 -0800 (PST) Message-Id: <200404030942.i339gCvx096936@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dfr@freebsd.org using -f From: Doug Rabson To: Perforce Change Reviews Subject: PERFORCE change 50246 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, 03 Apr 2004 09:42:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=50246 Change 50246 by dfr@dfr_home on 2004/04/03 01:42:05 Phdr align field is in bits, not log2(bits). Affected files ... .. //depot/projects/kse/libexec/rtld-elf/i386/rtld_machdep.h#3 edit Differences ... ==== //depot/projects/kse/libexec/rtld-elf/i386/rtld_machdep.h#3 (text+ko) ==== @@ -59,8 +59,8 @@ (((InitFunc)(target))()) #define calculate_tls_offset(prev_offset, size, align) \ - (((prev_offset) + (size) + ((1 << (align)) - 1)) \ - & ~((1 << (align)) - 1)) + (((prev_offset) + (size) + ((align) - 1)) \ + & ~((align) - 1)) typedef struct { unsigned long ti_module; From owner-p4-projects@FreeBSD.ORG Sat Apr 3 01:43:15 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1CB8816A4D0; Sat, 3 Apr 2004 01:43:15 -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 E953716A4CE for ; Sat, 3 Apr 2004 01:43:14 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E280143D3F for ; Sat, 3 Apr 2004 01:43:14 -0800 (PST) (envelope-from dfr@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i339hEGe097138 for ; Sat, 3 Apr 2004 01:43:14 -0800 (PST) (envelope-from dfr@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i339hEkj097135 for perforce@freebsd.org; Sat, 3 Apr 2004 01:43:14 -0800 (PST) (envelope-from dfr@freebsd.org) Date: Sat, 3 Apr 2004 01:43:14 -0800 (PST) Message-Id: <200404030943.i339hEkj097135@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dfr@freebsd.org using -f From: Doug Rabson To: Perforce Change Reviews Subject: PERFORCE change 50247 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, 03 Apr 2004 09:43:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=50247 Change 50247 by dfr@dfr_home on 2004/04/03 01:43:04 Set the segment size to 4G so that the local exec tls model works. Affected files ... .. //depot/projects/kse/libexec/rtld-elf/i386/reloc.c#3 edit Differences ... ==== //depot/projects/kse/libexec/rtld-elf/i386/reloc.c#3 (text+ko) ==== @@ -368,14 +368,14 @@ } memset(&ldt, 0, sizeof(ldt)); - ldt.sd.sd_lolimit = 4; + ldt.sd.sd_lolimit = 0xffff; /* 4G limit */ ldt.sd.sd_lobase = segbase & 0xffffff; ldt.sd.sd_type = SDT_MEMRWA; ldt.sd.sd_dpl = SEL_UPL; ldt.sd.sd_p = 1; /* present */ - ldt.sd.sd_hilimit = 0; + ldt.sd.sd_hilimit = 0xf; /* 4G limit */ ldt.sd.sd_def32 = 1; /* 32 bit */ - ldt.sd.sd_gran = 0; /* limit in bytes */ + ldt.sd.sd_gran = 1; /* limit in pages */ ldt.sd.sd_hibase = (segbase >> 24) & 0xff; sel = i386_set_ldt(LDT_AUTO_ALLOC, &ldt, 1); __asm __volatile("movl %0,%%gs" : : "rm" ((sel << 3) | 7)); From owner-p4-projects@FreeBSD.ORG Sat Apr 3 01:46:20 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7C67016A4D0; Sat, 3 Apr 2004 01:46:19 -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 3BC6B16A4CE for ; Sat, 3 Apr 2004 01:46:19 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 34B6243D5E for ; Sat, 3 Apr 2004 01:46:19 -0800 (PST) (envelope-from dfr@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i339kJGe097277 for ; Sat, 3 Apr 2004 01:46:19 -0800 (PST) (envelope-from dfr@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i339kIHd097274 for perforce@freebsd.org; Sat, 3 Apr 2004 01:46:18 -0800 (PST) (envelope-from dfr@freebsd.org) Date: Sat, 3 Apr 2004 01:46:18 -0800 (PST) Message-Id: <200404030946.i339kIHd097274@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dfr@freebsd.org using -f From: Doug Rabson To: Perforce Change Reviews Subject: PERFORCE change 50248 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, 03 Apr 2004 09:46:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=50248 Change 50248 by dfr@dfr_home on 2004/04/03 01:45:26 Add reference to external array to make check the use of relocs with offsets. Add reference to local TLS to check local exec tls model. Affected files ... .. //depot/projects/kse/tools/regression/tls/libxx/xx.c#2 edit .. //depot/projects/kse/tools/regression/tls/ttls1/ttls1.c#2 edit Differences ... ==== //depot/projects/kse/tools/regression/tls/libxx/xx.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ extern int __thread yy1; int __thread xx1 = 1; int __thread xx2 = 2; +int __thread xxa[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int xxyy() ==== //depot/projects/kse/tools/regression/tls/ttls1/ttls1.c#2 (text+ko) ==== @@ -2,9 +2,12 @@ extern int __thread xx1; extern int __thread xx2; +extern int __thread xxa[]; +int __thread a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; extern int xxyy(); int main(int argc, char** argv) { - printf("xx1=%d, xx2=%d, xxyy()=%d\n", xx1, xx2, xxyy()); + printf("xx1=%d, xx2=%d, xxa[5]=%d, a[5]=%d, xxyy()=%d\n", + xx1, xx2, xxa[5], a[5], xxyy()); } From owner-p4-projects@FreeBSD.ORG Sat Apr 3 02:14:54 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B68016A4D0; Sat, 3 Apr 2004 02:14:54 -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 25EE116A4CE for ; Sat, 3 Apr 2004 02:14:54 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1FB4A43D46 for ; Sat, 3 Apr 2004 02:14:54 -0800 (PST) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i33AErGe004276 for ; Sat, 3 Apr 2004 02:14:53 -0800 (PST) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i33AErkM004273 for perforce@freebsd.org; Sat, 3 Apr 2004 02:14:53 -0800 (PST) (envelope-from julian@freebsd.org) Date: Sat, 3 Apr 2004 02:14:53 -0800 (PST) Message-Id: <200404031014.i33AErkM004273@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 50249 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, 03 Apr 2004 10:14:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=50249 Change 50249 by julian@julian_jules1 on 2004/04/03 02:14:46 alter the ke_thread field AFTER it gets cleared. Affected files ... .. //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd.c#2 edit Differences ... ==== //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd.c#2 (text+ko) ==== @@ -565,10 +565,10 @@ td2 = FIRST_THREAD_IN_PROC(child); ke2 = FIRST_KSE_IN_PROC(child); + sched_fork_kse(parenttd, ke2); + sched_fork_ksegrp(parenttd, FIRST_KSEGRP_IN_PROC(child)); ke2->ke_thread = td2; td2->td_kse = ke2; - sched_fork_kse(parenttd, ke2); - sched_fork_ksegrp(parenttd, FIRST_KSEGRP_IN_PROC(child)); /* sched_fork_thread(parenttd, td2);*/ } From owner-p4-projects@FreeBSD.ORG Sat Apr 3 02:15:58 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BD1A716A4D0; Sat, 3 Apr 2004 02:15:57 -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 97DBA16A4CE for ; Sat, 3 Apr 2004 02:15:57 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9186A43D64 for ; Sat, 3 Apr 2004 02:15:57 -0800 (PST) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i33AFtGe004351 for ; Sat, 3 Apr 2004 02:15:55 -0800 (PST) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i33AFtcU004348 for perforce@freebsd.org; Sat, 3 Apr 2004 02:15:55 -0800 (PST) (envelope-from julian@freebsd.org) Date: Sat, 3 Apr 2004 02:15:55 -0800 (PST) Message-Id: <200404031015.i33AFtcU004348@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 50250 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, 03 Apr 2004 10:15:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=50250 Change 50250 by julian@julian_jules1 on 2004/04/03 02:15:40 move the ke_thread field out of the bzero section. it's often set up earlier.. Affected files ... .. //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.h#2 edit Differences ... ==== //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.h#2 (text+ko) ==== @@ -91,9 +91,9 @@ TAILQ_ENTRY(kse) ke_kgrlist; /* (*) Queue of KSEs in this state. */ TAILQ_ENTRY(kse) ke_procq; /* (j/z) Run queue. */ + struct thread *ke_thread; /* (*) Active associated thread. */ #define ke_startzero ke_flags int ke_flags; /* (j) KEF_* flags. */ - struct thread *ke_thread; /* (*) Active associated thread. */ fixpt_t ke_pctcpu; /* (j) %cpu during p_swtime. */ u_char ke_oncpu; /* (j) Which cpu we are on. */ char ke_rqindex; /* (j) Run queue index. */ From owner-p4-projects@FreeBSD.ORG Sat Apr 3 02:57:47 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9332916A4D0; Sat, 3 Apr 2004 02:57:47 -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 5235B16A4CE for ; Sat, 3 Apr 2004 02:57:47 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 47A8243D31 for ; Sat, 3 Apr 2004 02:57:47 -0800 (PST) (envelope-from dfr@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i33AvlGe012472 for ; Sat, 3 Apr 2004 02:57:47 -0800 (PST) (envelope-from dfr@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i33Avknw012469 for perforce@freebsd.org; Sat, 3 Apr 2004 02:57:46 -0800 (PST) (envelope-from dfr@freebsd.org) Date: Sat, 3 Apr 2004 02:57:46 -0800 (PST) Message-Id: <200404031057.i33Avknw012469@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dfr@freebsd.org using -f From: Doug Rabson To: Perforce Change Reviews Subject: PERFORCE change 50251 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, 03 Apr 2004 10:57:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=50251 Change 50251 by dfr@dfr_home on 2004/04/03 02:57:19 Start on TLS support for non-i386 arches. Probably doesn't compile, certainly doesn't work (missing support for arch-specific TLS relocs). Affected files ... .. //depot/projects/kse/libexec/rtld-elf/alpha/reloc.c#2 edit .. //depot/projects/kse/libexec/rtld-elf/alpha/rtld_machdep.h#2 edit .. //depot/projects/kse/libexec/rtld-elf/amd64/reloc.c#2 edit .. //depot/projects/kse/libexec/rtld-elf/amd64/rtld_machdep.h#2 edit .. //depot/projects/kse/libexec/rtld-elf/i386/rtld_machdep.h#4 edit .. //depot/projects/kse/libexec/rtld-elf/ia64/reloc.c#2 edit .. //depot/projects/kse/libexec/rtld-elf/ia64/rtld_machdep.h#2 edit .. //depot/projects/kse/libexec/rtld-elf/map_object.c#3 edit .. //depot/projects/kse/libexec/rtld-elf/rtld.c#4 edit .. //depot/projects/kse/libexec/rtld-elf/rtld.h#3 edit .. //depot/projects/kse/libexec/rtld-elf/sparc64/reloc.c#2 edit .. //depot/projects/kse/libexec/rtld-elf/sparc64/rtld_machdep.h#2 edit Differences ... ==== //depot/projects/kse/libexec/rtld-elf/alpha/reloc.c#2 (text+ko) ==== @@ -505,3 +505,46 @@ obj->pltgot[3] = (Elf_Addr) obj; } } + +void +allocate_initial_tls(Obj_Entry *list) +{ + Obj_Entry *obj; + size_t size; + char *tls; + Elf_Addr *dtv; + union descriptor ldt; + Elf_Addr segbase; + int sel; + + size = 0; + for (obj = list; obj; obj = obj->next) { + if (obj->tlsoffset + obj->tlssize > size) + size = obj->tlsoffset + obj->tlssize; + } + + tls = malloc(size); + dtv = malloc((tls_max_index + 2) * sizeof(Elf_Addr)); + + *(Elf_Addr**) tls = dtv; + + dtv[0] = tls_dtv_generation; + dtv[1] = tls_max_index; + for (obj = list; obj; obj = obj->next) { + Elf_Addr addr = tls + obj->tlsoffset; + memset((void*) (addr + obj->tlsinitsize), + 0, obj->tlssize - obj->tlsinitsize); + if (obj->tlsinit) + memcpy((void*) addr, obj->tlsinit, obj->tlsinitsize); + dtv[obj->tlsindex] = addr; + } + + alpha_pal_wrunique((u_int64_t) tls); +} + +void *__tls_get_addr(tls_index* ti) +{ + Elf_Addr** tp = (Elf_Addr**) alpha_pal_rdunique(); + + return tls_get_addr_common(&tp[0], ti->ti_module, ti->ti_offset); +} ==== //depot/projects/kse/libexec/rtld-elf/alpha/rtld_machdep.h#2 (text+ko) ==== @@ -60,4 +60,18 @@ /* Lazy binding entry point, called via PLT. */ void _rtld_bind_start_old(void); +#define round(size, align) \ + (((size) + (align) - 1) & ~((align) - 1)) +#define calculate_first_tls_offset(size, align) \ + round(16, align) +#define calculate_tls_offset(prev_offset, prev_size, size, align) \ + round(prev_offset + prev_size, align) + +typedef struct { + unsigned long ti_module; + unsigned long ti_offset; +} tls_index; + +extern void *__tls_get_addr(tls_index *ti); + #endif ==== //depot/projects/kse/libexec/rtld-elf/amd64/reloc.c#2 (text+ko) ==== @@ -33,6 +33,7 @@ #include #include +#include #include #include @@ -265,3 +266,52 @@ obj->jmpslots_done = true; return 0; } + +void +allocate_initial_tls(Obj_Entry *list) +{ + Obj_Entry *obj; + size_t size; + char *tls; + Elf_Addr *dtv; + union descriptor ldt; + Elf_Addr segbase; + int sel; + + size = 0; + for (obj = list; obj; obj = obj->next) { + if (obj->tlsoffset > size) + size = obj->tlsoffset; + } + + tls = malloc(size + 2*sizeof(Elf_Addr)); + dtv = malloc((tls_max_index + 2) * sizeof(Elf_Addr)); + + segbase = (Elf_Addr)(tls + size); + ((Elf_Addr*)segbase)[0] = segbase; + ((Elf_Addr*)segbase)[1] = (Elf_Addr) dtv; + + dtv[0] = tls_dtv_generation; + dtv[1] = tls_max_index; + for (obj = list; obj; obj = obj->next) { + Elf_Addr addr = segbase - obj->tlsoffset; + memset((void*) (addr + obj->tlsinitsize), + 0, obj->tlssize - obj->tlsinitsize); + if (obj->tlsinit) + memcpy((void*) addr, obj->tlsinit, obj->tlsinitsize); + dtv[obj->tlsindex] = addr; + } + + amd64_set_fsbase(segbase); +} + +void *__tls_get_addr(tls_index *ti) +{ + Elf_Addr** segbase; + Elf_Addr* dtv; + + __asm __volatile("movl %%fs:0, %0" : "=r" (segbase)); + dtv = segbase[1]; + + return tls_get_addr_common(&segbase[1], ti->ti_module, ti->ti_offset); +} ==== //depot/projects/kse/libexec/rtld-elf/amd64/rtld_machdep.h#2 (text+ko) ==== @@ -58,4 +58,18 @@ #define call_initfini_pointer(obj, target) \ (((InitFunc)(target))()) +#define round(size, align) \ + (((size) + (align) - 1) & ~((align) - 1)) +#define calculate_first_tls_offset(size, align) \ + round(size, align) +#define calculate_tls_offset(prev_offset, prev_size, size, align) \ + round((prev_offset) + (size), align) + +typedef struct { + unsigned long ti_module; + unsigned long ti_offset; +} tls_index; + +extern void *__tls_get_addr(tls_index *ti); + #endif ==== //depot/projects/kse/libexec/rtld-elf/i386/rtld_machdep.h#4 (text+ko) ==== @@ -58,9 +58,12 @@ #define call_initfini_pointer(obj, target) \ (((InitFunc)(target))()) -#define calculate_tls_offset(prev_offset, size, align) \ - (((prev_offset) + (size) + ((align) - 1)) \ - & ~((align) - 1)) +#define round(size, align) \ + (((size) + (align) - 1) & ~((align) - 1)) +#define calculate_first_tls_offset(size, align) \ + round(size, align) +#define calculate_tls_offset(prev_offset, prev_size, size, align) \ + round((prev_offset) + (size), align) typedef struct { unsigned long ti_module; ==== //depot/projects/kse/libexec/rtld-elf/ia64/reloc.c#2 (text+ko) ==== @@ -535,3 +535,47 @@ pltres[1] = FPTR_TARGET(_rtld_bind_start); pltres[2] = FPTR_GP(_rtld_bind_start); } + +void +allocate_initial_tls(Obj_Entry *list) +{ + register struct Elf_Addr** tp __asm__("r13"); + Obj_Entry *obj; + size_t size; + char *tls; + Elf_Addr *dtv; + union descriptor ldt; + Elf_Addr segbase; + int sel; + + size = 0; + for (obj = list; obj; obj = obj->next) { + if (obj->tlsoffset + obj->tlssize > size) + size = obj->tlsoffset + obj->tlssize; + } + + tls = malloc(size); + dtv = malloc((tls_max_index + 2) * sizeof(Elf_Addr)); + + *(Elf_Addr**) tls = dtv; + + dtv[0] = tls_dtv_generation; + dtv[1] = tls_max_index; + for (obj = list; obj; obj = obj->next) { + Elf_Addr addr = tls + obj->tlsoffset; + memset((void*) (addr + obj->tlsinitsize), + 0, obj->tlssize - obj->tlsinitsize); + if (obj->tlsinit) + memcpy((void*) addr, obj->tlsinit, obj->tlsinitsize); + dtv[obj->tlsindex] = addr; + } + + tp = (Elf_Addr**) tls; +} + +void *__tls_get_addr(unsigned int module, unsigned int offset) +{ + register struct Elf_Addr** tp __asm__("r13"); + + return tls_get_addr_common(&tp[0], module, offset); +} ==== //depot/projects/kse/libexec/rtld-elf/ia64/rtld_machdep.h#2 (text+ko) ==== @@ -55,4 +55,13 @@ void *make_function_pointer(const Elf_Sym *, const struct Struct_Obj_Entry *); void call_initfini_pointer(const struct Struct_Obj_Entry *, Elf_Addr); +#define round(size, align) \ + (((size) + (align) - 1) & ~((align) - 1)) +#define calculate_first_tls_offset(size, align) \ + round(16, align) +#define calculate_tls_offset(prev_offset, prev_size, size, align) \ + round(prev_offset + prev_size, align) + +extern void *__tls_get_addr(unsigned long module, unsigned long offset); + #endif ==== //depot/projects/kse/libexec/rtld-elf/map_object.c#3 (text+ko) ==== @@ -239,9 +239,16 @@ obj->tlssize = phtls->p_memsz; obj->tlsinitsize = phtls->p_filesz; obj->tlsinit = mapbase + phtls->p_vaddr; - obj->tlsoffset = calculate_tls_offset(tls_last_offset, - phtls->p_memsz, phtls->p_align); + if (obj->tlsindex == 1) + obj->tlsoffset = calculate_first_tls_offset(phtls->p_memsz, + phtls->p_align); + else + obj->tlsoffset = calculate_tls_offset(tls_last_offset, + tls_last_size, + phtls->p_memsz, + phtls->p_align); tls_last_offset = obj->tlsoffset; + tls_last_size = obj->tlssize; } return obj; } ==== //depot/projects/kse/libexec/rtld-elf/rtld.c#4 (text+ko) ==== @@ -195,6 +195,7 @@ * Globals to control TLS allocation. */ size_t tls_last_offset; /* TLS offset of last module */ +size_t tls_last_size; /* TLS size of last module */ int tls_dtv_generation = 1; /* Used to detect when dtv size changes */ int tls_max_index = 1; /* Largest module index allocated */ @@ -401,10 +402,8 @@ lockdflt_init(); /* setup TLS for main thread */ - dbg("initializing initial thread local storage (size %d)", - tls_last_offset); + dbg("initializing initial thread local storage"); allocate_initial_tls(obj_list); - dbg("foo"); /* Make a list of init functions to call. */ objlist_init(&initlist); @@ -745,9 +744,10 @@ case PT_TLS: obj->tlsindex = 1; - obj->tlsoffset = calculate_tls_offset(0, ph->p_memsz, - ph->p_align); + obj->tlsoffset = calculate_first_tls_offset(ph->p_memsz, + ph->p_align); tls_last_offset = obj->tlsoffset; + tls_last_size = obj->tlssize; obj->tlssize = ph->p_memsz; obj->tlsinitsize = ph->p_filesz; obj->tlsinit = (void*) ph->p_vaddr; ==== //depot/projects/kse/libexec/rtld-elf/rtld.h#3 (text+ko) ==== @@ -64,6 +64,7 @@ #define true 1 extern size_t tls_last_offset; +extern size_t tls_last_size; extern int tls_dtv_generation; extern int tls_max_index; ==== //depot/projects/kse/libexec/rtld-elf/sparc64/reloc.c#2 (text+ko) ==== @@ -717,3 +717,49 @@ pltgot[7] = MOV_g1_o0; flush(pltgot, 28); } + +void +allocate_initial_tls(Obj_Entry *list) +{ + register struct Elf_Addr tp __asm__("%g7"); + Obj_Entry *obj; + size_t size; + char *tls; + Elf_Addr *dtv; + union descriptor ldt; + Elf_Addr segbase; + int sel; + + size = 0; + for (obj = list; obj; obj = obj->next) { + if (obj->tlsoffset > size) + size = obj->tlsoffset; + } + + tls = malloc(size + 2*sizeof(Elf_Addr)); + dtv = malloc((tls_max_index + 2) * sizeof(Elf_Addr)); + + segbase = (Elf_Addr)(tls + size); + ((Elf_Addr*)segbase)[0] = segbase; + ((Elf_Addr*)segbase)[1] = (Elf_Addr) dtv; + + dtv[0] = tls_dtv_generation; + dtv[1] = tls_max_index; + for (obj = list; obj; obj = obj->next) { + Elf_Addr addr = segbase - obj->tlsoffset; + memset((void*) (addr + obj->tlsinitsize), + 0, obj->tlssize - obj->tlsinitsize); + if (obj->tlsinit) + memcpy((void*) addr, obj->tlsinit, obj->tlsinitsize); + dtv[obj->tlsindex] = addr; + } + + tp = segbase; +} + +void *__tls_get_addr(tls_index *ti) +{ + register struct Elf_Addr** tp __asm__("%g7"); + + return tls_get_addr_common(&tp[0], ti->ti_module, ti->ti_offset); +} ==== //depot/projects/kse/libexec/rtld-elf/sparc64/rtld_machdep.h#2 (text+ko) ==== @@ -50,4 +50,18 @@ #define call_initfini_pointer(obj, target) \ (((InitFunc)(target))()) +#define round(size, align) \ + (((size) + (align) - 1) & ~((align) - 1)) +#define calculate_first_tls_offset(size, align) \ + round(size, align) +#define calculate_tls_offset(prev_offset, prev_size, size, align) \ + round((prev_offset) + (size), align) + +typedef struct { + unsigned long ti_module; + unsigned long ti_offset; +} tls_index; + +extern void *__tls_get_addr(tls_index *ti); + #endif From owner-p4-projects@FreeBSD.ORG Sat Apr 3 06:20:01 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C96B216A4D3; Sat, 3 Apr 2004 06:20:00 -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 A143916A4CE for ; Sat, 3 Apr 2004 06:20:00 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 818B543D4C for ; Sat, 3 Apr 2004 06:20:00 -0800 (PST) (envelope-from dfr@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i33EJpGe064186 for ; Sat, 3 Apr 2004 06:19:51 -0800 (PST) (envelope-from dfr@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i33EJphv064183 for perforce@freebsd.org; Sat, 3 Apr 2004 06:19:51 -0800 (PST) (envelope-from dfr@freebsd.org) Date: Sat, 3 Apr 2004 06:19:51 -0800 (PST) Message-Id: <200404031419.i33EJphv064183@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dfr@freebsd.org using -f From: Doug Rabson To: Perforce Change Reviews Subject: PERFORCE change 50254 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, 03 Apr 2004 14:20:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=50254 Change 50254 by dfr@dfr_home on 2004/04/03 06:19:47 Add __tcb_get_addr to the list of rtld exports. Affected files ... .. //depot/projects/kse/libexec/rtld-elf/rtld.c#5 edit Differences ... ==== //depot/projects/kse/libexec/rtld-elf/rtld.c#5 (text+ko) ==== @@ -181,6 +181,7 @@ #ifdef __i386__ (func_ptr_type) &___tls_get_addr, #endif + (func_ptr_type) &__tls_get_addr, NULL }; From owner-p4-projects@FreeBSD.ORG Sat Apr 3 08:11:34 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BB82016A4D0; Sat, 3 Apr 2004 08:11:33 -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 9085E16A4CE for ; Sat, 3 Apr 2004 08:11:33 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 83FE543D5F for ; Sat, 3 Apr 2004 08:11:33 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i33GBXGe089721 for ; Sat, 3 Apr 2004 08:11:33 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i33GBWIq089703 for perforce@freebsd.org; Sat, 3 Apr 2004 08:11:32 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sat, 3 Apr 2004 08:11:32 -0800 (PST) Message-Id: <200404031611.i33GBWIq089703@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50263 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, 03 Apr 2004 16:11:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=50263 Change 50263 by marcel@marcel_nfs on 2004/04/03 08:10:43 IFC @50260 Affected files ... .. //depot/projects/gdb/etc/defaults/rc.conf#6 integrate .. //depot/projects/gdb/etc/newsyslog.conf#2 integrate .. //depot/projects/gdb/etc/rc.d/Makefile#6 integrate .. //depot/projects/gdb/etc/rc.d/hostname#4 integrate .. //depot/projects/gdb/etc/rc.d/network#2 integrate .. //depot/projects/gdb/etc/rc.d/pf#2 integrate .. //depot/projects/gdb/etc/rc.d/pflog#1 branch .. //depot/projects/gdb/lib/libalias/alias.c#5 integrate .. //depot/projects/gdb/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#5 integrate .. //depot/projects/gdb/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#7 integrate .. //depot/projects/gdb/share/man/man5/rc.conf.5#7 integrate .. //depot/projects/gdb/sys/alpha/alpha/vm_machdep.c#4 integrate .. //depot/projects/gdb/sys/amd64/amd64/support.S#3 integrate .. //depot/projects/gdb/sys/amd64/amd64/vm_machdep.c#6 integrate .. //depot/projects/gdb/sys/boot/common/loader.8#3 integrate .. //depot/projects/gdb/sys/conf/NOTES#9 integrate .. //depot/projects/gdb/sys/dev/ath/if_ath.c#5 integrate .. //depot/projects/gdb/sys/dev/ath/if_ath_pci.c#3 integrate .. //depot/projects/gdb/sys/dev/ath/if_athioctl.h#2 integrate .. //depot/projects/gdb/sys/dev/ath/if_athvar.h#3 integrate .. //depot/projects/gdb/sys/dev/fb/vga.c#2 integrate .. //depot/projects/gdb/sys/dev/kbd/kbd.c#4 integrate .. //depot/projects/gdb/sys/dev/md/md.c#6 integrate .. //depot/projects/gdb/sys/dev/syscons/syscons.c#6 integrate .. //depot/projects/gdb/sys/dev/twa/twa.c#2 integrate .. //depot/projects/gdb/sys/dev/twa/twa_freebsd.c#2 integrate .. //depot/projects/gdb/sys/dev/twa/twa_includes.h#2 integrate .. //depot/projects/gdb/sys/i386/conf/NOTES#5 integrate .. //depot/projects/gdb/sys/i386/i386/uio_machdep.c#2 integrate .. //depot/projects/gdb/sys/i386/i386/vm_machdep.c#7 integrate .. //depot/projects/gdb/sys/ia64/ia64/vm_machdep.c#4 integrate .. //depot/projects/gdb/sys/kern/kern_fork.c#9 integrate .. //depot/projects/gdb/sys/kern/kern_thr.c#5 integrate .. //depot/projects/gdb/sys/kern/kern_thread.c#8 integrate .. //depot/projects/gdb/sys/kern/uipc_cow.c#4 integrate .. //depot/projects/gdb/sys/kern/uipc_syscalls.c#6 integrate .. //depot/projects/gdb/sys/net80211/ieee80211.c#4 integrate .. //depot/projects/gdb/sys/net80211/ieee80211_input.c#3 integrate .. //depot/projects/gdb/sys/net80211/ieee80211_node.c#3 integrate .. //depot/projects/gdb/sys/net80211/ieee80211_node.h#2 integrate .. //depot/projects/gdb/sys/net80211/ieee80211_output.c#2 integrate .. //depot/projects/gdb/sys/net80211/ieee80211_proto.c#3 integrate .. //depot/projects/gdb/sys/net80211/ieee80211_var.h#4 integrate .. //depot/projects/gdb/sys/netipsec/xform_tcp.c#1 branch .. //depot/projects/gdb/sys/pci/agp_intel.c#3 integrate .. //depot/projects/gdb/sys/pci/if_rl.c#4 integrate .. //depot/projects/gdb/sys/pci/if_ste.c#6 integrate .. //depot/projects/gdb/sys/pci/if_stereg.h#3 integrate .. //depot/projects/gdb/sys/powerpc/powerpc/vm_machdep.c#5 integrate .. //depot/projects/gdb/sys/sparc64/sparc64/uio_machdep.c#2 integrate .. //depot/projects/gdb/sys/sparc64/sparc64/vm_machdep.c#5 integrate .. //depot/projects/gdb/sys/sys/proc.h#10 integrate .. //depot/projects/gdb/sys/sys/sf_buf.h#3 integrate Differences ... ==== //depot/projects/gdb/etc/defaults/rc.conf#6 (text+ko) ==== @@ -13,7 +13,7 @@ # # All arguments must be in double or single quotes. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.202 2004/03/23 23:22:34 brooks Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.203 2004/04/02 19:25:27 mlaier Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -107,6 +107,10 @@ pf_rules="/etc/pf.conf" # rules definition file for pf pf_program="/sbin/pfctl" # where the pfctl program lives pf_flags="" # additional flags for pfctl +pflog_enable="NO" # Set to YES to enable packet filter logging +pflog_logfile="/var/log/pflog" # where pflogd shoule store the logfile +pflog_program="/sbin/pflogd" # where the pflogd program lives +pflog_flags="" # additional flags for pflogd tcp_extensions="YES" # Set to NO to turn off RFC1323 extensions. log_in_vain="0" # >=1 to log connects to ports w/o listeners. tcp_keepalive="YES" # Enable stale TCP connection timeout (or NO). ==== //depot/projects/gdb/etc/newsyslog.conf#2 (text+ko) ==== @@ -1,5 +1,5 @@ # configuration file for newsyslog -# $FreeBSD: src/etc/newsyslog.conf,v 1.47 2003/08/07 21:04:40 fjoe Exp $ +# $FreeBSD: src/etc/newsyslog.conf,v 1.48 2004/04/02 19:25:27 mlaier Exp $ # # Entries which do not specify the '/pid_file' field will cause the # syslogd process to be signalled when that log file is rotated. This @@ -36,3 +36,5 @@ /var/log/weekly.log 640 5 1 $W6D0 JN /var/log/wtmp 644 3 * @01T05 B /var/log/xferlog 600 7 100 * J +# pflogd sample entry +#/var/log/pflog 600 3 100 * JB /var/run/pflogd.pid ==== //depot/projects/gdb/etc/rc.d/Makefile#6 (text+ko) ==== @@ -1,5 +1,5 @@ # $NetBSD: Makefile,v 1.16 2001/01/14 15:37:22 minoura Exp $ -# $FreeBSD: src/etc/rc.d/Makefile,v 1.37 2004/03/24 21:54:44 mlaier Exp $ +# $FreeBSD: src/etc/rc.d/Makefile,v 1.38 2004/04/02 19:25:27 mlaier Exp $ FILES= DAEMON LOGIN NETWORKING SERVERS \ abi accounting addswap adjkerntz amd \ @@ -25,7 +25,7 @@ network_ipv6 nfsclient nfsd \ nfslocking nfsserver nisdomain ntpd ntpdate \ othermta \ - pccard pcvt pf power_profile ppp-user pppoed pwcheck \ + pccard pcvt pf pflog power_profile ppp-user pppoed pwcheck \ quota \ random rarpd rcconf.sh resolv root \ route6d routed routing rpcbind rtadvd rwho \ ==== //depot/projects/gdb/etc/rc.d/hostname#4 (text+ko) ==== @@ -23,7 +23,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/rc.d/hostname,v 1.6 2004/03/23 23:22:34 brooks Exp $ +# $FreeBSD: src/etc/rc.d/hostname,v 1.7 2004/04/02 12:18:40 krion Exp $ # # PROVIDE: hostname @@ -47,7 +47,7 @@ if [ `$SYSCTL_N security.jail.set_hostname_allowed` -eq 0 ]; then return fi - elif [ -n "`hostname -s`" ]; then + elif [ -n "`/bin/hostname -s`" ]; then return else # If we're not in a jail and rc.conf doesn't specify a @@ -59,7 +59,7 @@ fi fi - hostname ${hostname} + /bin/hostname ${hostname} echo "Setting hostname: `hostname`." } ==== //depot/projects/gdb/etc/rc.d/network#2 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # $NetBSD: network,v 1.29 2001/01/11 17:56:16 itojun Exp $ -# $FreeBSD: src/etc/rc.d/network,v 1.3 2002/08/12 10:04:32 schweikh Exp $ +# $FreeBSD: src/etc/rc.d/network,v 1.4 2004/04/02 12:18:40 krion Exp $ # PROVIDE: network # REQUIRE: ipfilter ipsec mountcritlocal root tty sysctl @@ -26,13 +26,13 @@ fi if [ -n "$hostname" ]; then echo "Hostname: $hostname" - hostname $hostname + /bin/hostname $hostname else # Don't warn about it if we're going to run # DHCP later, as we will probably get the # hostname at that time. # - if ! checkyesno dhclient && [ -z "`hostname`" ]; then + if ! checkyesno dhclient && [ -z "`/bin/hostname`" ]; then warn "\$hostname not set." fi fi ==== //depot/projects/gdb/etc/rc.d/pf#2 (text+ko) ==== @@ -1,10 +1,10 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/pf,v 1.1 2004/03/23 22:30:15 mlaier Exp $ +# $FreeBSD: src/etc/rc.d/pf,v 1.2 2004/04/02 19:25:27 mlaier Exp $ # # PROVIDE: pf -# REQUIRE: root beforenetlkm mountcritlocal netif +# REQUIRE: root beforenetlkm mountcritlocal netif pflog # BEFORE: DAEMON LOGIN # KEYWORD: FreeBSD nojail ==== //depot/projects/gdb/lib/libalias/alias.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libalias/alias.c,v 1.41 2004/03/31 21:32:58 des Exp $"); +__FBSDID("$FreeBSD: src/lib/libalias/alias.c,v 1.42 2004/04/02 17:57:57 deischen Exp $"); /* Alias.c provides supervisory control for the functions of the @@ -884,6 +884,7 @@ /* Restore original IP address */ accumulate = twowords(&pip->ip_dst); + pip->ip_dst = original_address; accumulate -= twowords(&pip->ip_dst); /* If this is a transparent proxy packet, then modify the source ==== //depot/projects/gdb/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#5 (text+ko) ==== @@ -29,7 +29,7 @@ - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.214 2004/03/15 00:11:27 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.215 2004/04/02 17:19:59 rik Exp $ Supported Devices @@ -908,6 +908,18 @@ Cronyx-Sigma synchronous / asynchronous serial adapters (&man.cx.4; driver) + Cronyx-Tau synchronous serial adapters for ISA bus + (&man.ctau.4; driver) + + + Cronyx Tau (RS-232/V.35) and Cronyx Tau/R (RS-530/RS-449) + + + Cronyx Tau/E1 (fractional E1) and Cronyx Tau/G703 (unframed E1) + + + + Granch SBNI12 point-to-point communications adapters (&man.sbni.4; driver) ==== //depot/projects/gdb/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#7 (text+ko) ==== @@ -3,7 +3,7 @@ The FreeBSD Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.704 2004/03/24 18:03:55 hrs Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.705 2004/04/02 17:35:53 rik Exp $ 2000 @@ -169,6 +169,11 @@ Kernel Changes + The &man.ctau.4; driver has been added for Cronyx-Tau + synchronous serial adapters. This driver was known for a long time as "ct" + in its previous life outside FreeBSD source tree. Note: only driver name + has changed. Network interface still has "ct" name. + The &man.acpi.toshiba.4; driver has been added to use Toshiba's Hardware Control Interface to manipulate certain hardware features on Toshiba laptops. ==== //depot/projects/gdb/share/man/man5/rc.conf.5#7 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man5/rc.conf.5,v 1.211 2004/03/30 15:11:16 des Exp $ +.\" $FreeBSD: src/share/man/man5/rc.conf.5,v 1.212 2004/04/02 19:25:26 mlaier Exp $ .\" .Dd March 30, 2004 .Dt RC.CONF 5 @@ -718,6 +718,44 @@ these flags are passed to the .Xr pfctl 8 program when loading the ruleset. +.It Va pflog_enable +.Pq Vt bool +Set to +.Dq Li NO +by default. +Setting this to +.Dq Li YES +enables +.Xr pflogd 8 +which logs packtes from the +.Xr pf 4 +packet filter. +.It Va pflog_logfile +.Pq Vt str +If +.Va pflog_enable +is set to +.Dq Li YES +this controls where +.Xr pflogd 8 +stores the logfile. +(default +.Pa /var/log/pflog ) . +Check +.Pa /etc/newsyslog.conf +to enable logfile rotation for this. +.It Va pflog_program +.Pq Vt str +Path to +.Xr pflogd 8 +(default +.Pa /sbin/pflogd ) . +.It Va pflog_flags +.Pq Vt str +Empty by default. +This variable contains additional flags passed to the +.Xr pflogd 8 +program. .It Va tcp_extensions .Pq Vt bool Set to @@ -2910,6 +2948,7 @@ .Xr udp 4 , .Xr exports 5 , .Xr motd 5 , +.Xr newsyslog.conf 5 , .Xr accton 8 , .Xr amd 8 , .Xr apm 8 , ==== //depot/projects/gdb/sys/alpha/alpha/vm_machdep.c#4 (text+ko) ==== @@ -67,7 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.101 2004/03/29 02:01:42 kensmith Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.102 2004/04/03 09:16:24 alc Exp $"); #include #include @@ -405,7 +405,7 @@ * Get an sf_buf from the freelist. Will block if none are available. */ struct sf_buf * -sf_buf_alloc(struct vm_page *m) +sf_buf_alloc(struct vm_page *m, int pri) { struct sf_buf *sf; int error; @@ -414,7 +414,7 @@ while ((sf = SLIST_FIRST(&sf_freelist.sf_head)) == NULL) { sf_buf_alloc_want++; mbstat.sf_allocwait++; - error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM|PCATCH, + error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM | pri, "sfbufa", 0); sf_buf_alloc_want--; ==== //depot/projects/gdb/sys/amd64/amd64/support.S#3 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.106 2004/03/31 02:03:49 alc Exp $ + * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.107 2004/04/03 05:33:10 alc Exp $ */ #include "opt_ddb.h" @@ -76,15 +76,15 @@ /* Address: %rdi */ ENTRY(pagezero) - lea 4096(%rdi),%rsi + movq $-PAGE_SIZE,%rdx + subq %rdx,%rdi xorq %rax,%rax 1: - movnti %rax,(%rdi) - movnti %rax,8(%rdi) - movnti %rax,16(%rdi) - movnti %rax,24(%rdi) - addq $32,%rdi - cmpq %rsi,%rdi + movnti %rax,(%rdi,%rdx) + movnti %rax,8(%rdi,%rdx) + movnti %rax,16(%rdi,%rdx) + movnti %rax,24(%rdi,%rdx) + addq $32,%rdx jne 1b sfence retq ==== //depot/projects/gdb/sys/amd64/amd64/vm_machdep.c#6 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.231 2004/03/29 19:38:05 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.232 2004/04/03 09:16:25 alc Exp $"); #include "opt_isa.h" #include "opt_cpu.h" @@ -460,7 +460,7 @@ * Get an sf_buf from the freelist. Will block if none are available. */ struct sf_buf * -sf_buf_alloc(struct vm_page *m) +sf_buf_alloc(struct vm_page *m, int pri) { struct sf_buf *sf; int error; @@ -469,7 +469,7 @@ while ((sf = SLIST_FIRST(&sf_freelist.sf_head)) == NULL) { sf_buf_alloc_want++; mbstat.sf_allocwait++; - error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM|PCATCH, + error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM | pri, "sfbufa", 0); sf_buf_alloc_want--; ==== //depot/projects/gdb/sys/boot/common/loader.8#3 (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.58 2004/01/27 15:59:38 des Exp $ +.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.59 2004/04/03 12:14:30 le Exp $ .\" .\" Note: The date here should be updated whenever a non-trivial .\" change is made to the manual page. @@ -493,12 +493,12 @@ .Va TCBHASHSIZE or the preset default of 512. Must be a power of 2. -.El .It Va vm.kmem_size Sets the size of kernel memory (bytes). This overrides the value determined when the kernel was compiled. Modifies .Va VM_KMEM_SIZE . +.El .Ss BUILTIN PARSER When a builtin command is executed, the rest of the line is taken by it as arguments, and it is processed by a special parser which ==== //depot/projects/gdb/sys/conf/NOTES#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1211 2004/03/31 18:46:13 vkashyap Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1212 2004/04/02 18:50:56 vkashyap Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1389,14 +1389,6 @@ device twe # 3ware ATA RAID # -# 3ware 9000 series PATA/SATA RAID controller driver and options. -# The driver is implemented as a SIM, and so, needs the CAM infrastructure. -# -options TWA_DEBUG # 0-10; 10 prints the most messages. -options TWA_FLASH_FIRMWARE # firmware image bundled when defined. -device twa # 3ware 9000 series PATA/SATA RAID - -# # The 'ATA' driver supports all ATA and ATAPI devices, including PC Card # devices. You only need one "device ata" for it to find all # PCI and PC Card ATA/ATAPI devices on modern machines. ==== //depot/projects/gdb/sys/dev/ath/if_ath.c#5 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.47 2004/04/01 00:38:45 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.53 2004/04/03 00:06:23 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -270,7 +270,6 @@ TASK_INIT(&sc->sc_txtask, 0, ath_tx_proc, sc); TASK_INIT(&sc->sc_rxtask, 0, ath_rx_proc, sc); - TASK_INIT(&sc->sc_swbatask, 0, ath_beacon_proc, sc); TASK_INIT(&sc->sc_rxorntask, 0, ath_rxorn_proc, sc); TASK_INIT(&sc->sc_fataltask, 0, ath_fatal_proc, sc); TASK_INIT(&sc->sc_bmisstask, 0, ath_bmiss_proc, sc); @@ -288,7 +287,7 @@ ); if (sc->sc_txhalq == (u_int) -1) { if_printf(ifp, "unable to setup a data xmit queue!\n"); - goto bad; + goto bad2; } sc->sc_bhalq = ath_hal_setuptxqueue(ah, HAL_TX_QUEUE_BEACON, @@ -296,7 +295,7 @@ ); if (sc->sc_bhalq == (u_int) -1) { if_printf(ifp, "unable to setup a beacon xmit queue!\n"); - goto bad; + goto bad2; } ifp->if_softc = sc; @@ -317,7 +316,7 @@ | IEEE80211_C_HOSTAP /* hostap mode */ | IEEE80211_C_MONITOR /* monitor mode */ | IEEE80211_C_SHPREAMBLE /* short preamble supported */ - | IEEE80211_C_RCVMGT; /* recv management frames */ + ; /* get mac address from hardware */ ath_hal_getmac(ah, ic->ic_myaddr); @@ -326,7 +325,9 @@ ieee80211_ifattach(ifp); /* override default methods */ ic->ic_node_alloc = ath_node_alloc; + sc->sc_node_free = ic->ic_node_free; ic->ic_node_free = ath_node_free; + sc->sc_node_copy = ic->ic_node_copy; ic->ic_node_copy = ath_node_copy; ic->ic_node_getrssi = ath_node_getrssi; sc->sc_newstate = ic->ic_newstate; @@ -355,6 +356,8 @@ sc->sc_rx_th.wr_ihdr.it_present = htole32(ATH_RX_RADIOTAP_PRESENT); return 0; +bad2: + ath_desc_free(sc); bad: if (ah) ath_hal_detach(ah); @@ -432,6 +435,8 @@ DPRINTF(ATH_DEBUG_ANY, ("%s: invalid; ignored\n", __func__)); return; } + if (!ath_hal_intrpend(ah)) /* shared irq, not for us */ + return; if ((ifp->if_flags & (IFF_RUNNING|IFF_UP)) != (IFF_RUNNING|IFF_UP)) { DPRINTF(ATH_DEBUG_ANY, ("%s: if_flags 0x%x\n", __func__, ifp->if_flags)); @@ -476,8 +481,14 @@ taskqueue_enqueue(taskqueue_swi, &sc->sc_rxtask); if (status & HAL_INT_TX) taskqueue_enqueue(taskqueue_swi, &sc->sc_txtask); - if (status & HAL_INT_SWBA) - taskqueue_enqueue(taskqueue_swi, &sc->sc_swbatask); + if (status & HAL_INT_SWBA) { + /* + * Handle beacon transmission directly; deferring + * this is too slow to meet timing constraints + * under load. + */ + ath_beacon_proc(sc, 0); + } if (status & HAL_INT_BMISS) { sc->sc_stats.ast_bmiss++; taskqueue_enqueue(taskqueue_swi, &sc->sc_bmisstask); @@ -1507,14 +1518,18 @@ if (bf->bf_node == ni) bf->bf_node = NULL; } - free(ni, M_DEVBUF); + (*sc->sc_node_free)(ic, ni); } static void ath_node_copy(struct ieee80211com *ic, struct ieee80211_node *dst, const struct ieee80211_node *src) { - *(struct ath_node *)dst = *(const struct ath_node *)src; + struct ath_softc *sc = ic->ic_if.if_softc; + + memcpy(&dst[1], &src[1], + sizeof(struct ath_node) - sizeof(struct ieee80211_node)); + (*sc->sc_node_copy)(ic, dst, src); } ==== //depot/projects/gdb/sys/dev/ath/if_ath_pci.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.7 2004/03/17 17:50:27 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.8 2004/04/02 23:57:10 sam Exp $"); /* * PCI/Cardbus front-end for the Atheros Wireless LAN controller driver. ==== //depot/projects/gdb/sys/dev/ath/if_athioctl.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,7 +33,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/if_athioctl.h,v 1.5 2003/12/28 07:00:32 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athioctl.h,v 1.7 2004/04/02 23:57:10 sam Exp $ */ /* @@ -70,6 +70,8 @@ u_int32_t ast_tx_rts; /* tx frames with rts enabled */ u_int32_t ast_tx_cts; /* tx frames with cts enabled */ u_int32_t ast_tx_shortpre;/* tx frames with short preamble */ + u_int32_t ast_tx_altrate; /* tx frames with alternate rate */ + u_int32_t ast_tx_protect; /* tx frames with protection */ u_int32_t ast_rx_nombuf; /* rx setup failed 'cuz no mbuf */ u_int32_t ast_rx_busdma; /* rx setup failed for dma resrcs */ u_int32_t ast_rx_orn; /* rx failed 'cuz of desc overrun */ @@ -79,6 +81,7 @@ u_int32_t ast_rx_phyerr; /* rx failed 'cuz of PHY err */ u_int32_t ast_rx_phy[32]; /* rx PHY error per-code counts */ u_int32_t ast_rx_tooshort;/* rx discarded 'cuz frame too short */ + u_int32_t ast_rx_toobig; /* rx discarded 'cuz frame too large */ u_int32_t ast_rx_ctl; /* rx discarded 'cuz ctl frame */ u_int32_t ast_be_nombuf; /* beacon setup failed 'cuz no mbuf */ u_int32_t ast_per_cal; /* periodic calibration calls */ ==== //depot/projects/gdb/sys/dev/ath/if_athvar.h#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,7 +33,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.11 2004/04/01 00:38:45 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.14 2004/04/03 03:33:02 sam Exp $ */ /* @@ -93,6 +93,11 @@ struct ieee80211com sc_ic; /* IEEE 802.11 common */ int (*sc_newstate)(struct ieee80211com *, enum ieee80211_state, int); + void (*sc_node_free)(struct ieee80211com *, + struct ieee80211_node *); + void (*sc_node_copy)(struct ieee80211com *, + struct ieee80211_node *, + const struct ieee80211_node *); device_t sc_dev; bus_space_tag_t sc_st; /* bus space tag */ bus_space_handle_t sc_sh; /* bus space handle */ @@ -147,7 +152,6 @@ u_int sc_bhalq; /* HAL q for outgoing beacons */ struct ath_buf *sc_bcbuf; /* beacon buffer */ struct ath_buf *sc_bufptr; /* allocated buffer ptr */ - struct task sc_swbatask; /* swba int processing */ struct task sc_bmisstask; /* bmiss int processing */ struct callout sc_cal_ch; /* callout handle for cals */ ==== //depot/projects/gdb/sys/dev/fb/vga.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/fb/vga.c,v 1.28 2003/08/24 17:46:06 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fb/vga.c,v 1.29 2004/04/03 15:28:25 nectar Exp $"); #include "opt_vga.h" #include "opt_fb.h" @@ -2854,7 +2854,8 @@ u_char *g; u_char *b; - if ((base < 0) || (base >= 256) || (base + count > 256)) + if (count < 0 || base < 0 || count > 256 || base > 256 || + base + count > 256) return EINVAL; r = malloc(count*3, M_DEVBUF, M_WAITOK); @@ -2885,7 +2886,8 @@ u_char *b; int err; - if ((base < 0) || (base >= 256) || (base + count > 256)) + if (count < 0 || base < 0 || count > 256 || base > 256 || + base + count > 256) return EINVAL; r = malloc(count*3, M_DEVBUF, M_WAITOK); ==== //depot/projects/gdb/sys/dev/kbd/kbd.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/kbd/kbd.c,v 1.39 2004/02/21 21:10:43 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/kbd/kbd.c,v 1.41 2004/04/02 16:41:16 des Exp $"); #include "opt_kbd.h" @@ -56,7 +56,7 @@ } genkbd_softc_t; static SLIST_HEAD(, keyboard_driver) keyboard_drivers = - SLIST_HEAD_INITIALIZER(keyboard_drivers); + SLIST_HEAD_INITIALIZER(keyboard_drivers); SET_DECLARE(kbddriver_set, const keyboard_driver_t); @@ -94,14 +94,14 @@ new_kbd = malloc(sizeof(*new_kbd)*newsize, M_DEVBUF, M_NOWAIT|M_ZERO); if (new_kbd == NULL) { splx(s); - return ENOMEM; + return (ENOMEM); } new_kbdsw = malloc(sizeof(*new_kbdsw)*newsize, M_DEVBUF, M_NOWAIT|M_ZERO); if (new_kbdsw == NULL) { free(new_kbd, M_DEVBUF); splx(s); - return ENOMEM; + return (ENOMEM); } bcopy(keyboard, new_kbd, sizeof(*keyboard)*keyboards); bcopy(kbdsw, new_kbdsw, sizeof(*kbdsw)*keyboards); @@ -117,7 +117,7 @@ if (bootverbose) printf("kbd: new array size %d\n", keyboards); - return 0; + return (0); } /* @@ -166,9 +166,9 @@ kbd_add_driver(keyboard_driver_t *driver) { if (SLIST_NEXT(driver, link)) - return EINVAL; + return (EINVAL); SLIST_INSERT_HEAD(&keyboard_drivers, driver, link); - return 0; + return (0); } int @@ -176,7 +176,7 @@ { SLIST_REMOVE(&keyboard_drivers, driver, keyboard_driver, link); SLIST_NEXT(driver, link) = NULL; - return 0; + return (0); } /* register a keyboard and associate it with a function table */ @@ -193,7 +193,7 @@ } if (index >= keyboards) { if (kbd_realloc_array()) - return -1; + return (-1); } kbd->kb_index = index; @@ -208,7 +208,7 @@ if (strcmp(p->name, kbd->kb_name) == 0) { keyboard[index] = kbd; kbdsw[index] = p->kbdsw; - return index; + return (index); } } SET_FOREACH(list, kbddriver_set) { @@ -216,11 +216,11 @@ if (strcmp(p->name, kbd->kb_name) == 0) { keyboard[index] = kbd; kbdsw[index] = p->kbdsw; - return index; + return (index); } } - return -1; + return (-1); } int @@ -230,21 +230,21 @@ int s; if ((kbd->kb_index < 0) || (kbd->kb_index >= keyboards)) - return ENOENT; + return (ENOENT); if (keyboard[kbd->kb_index] != kbd) - return ENOENT; + return (ENOENT); s = spltty(); if (KBD_IS_BUSY(kbd)) { error = (*kbd->kb_callback.kc_func)(kbd, KBDIO_UNLOADING, - kbd->kb_callback.kc_arg); + kbd->kb_callback.kc_arg); if (error) { splx(s); - return error; + return (error); } if (KBD_IS_BUSY(kbd)) { splx(s); - return EBUSY; + return (EBUSY); } } KBD_INVALID(kbd); @@ -252,7 +252,7 @@ kbdsw[kbd->kb_index] = NULL; splx(s); - return 0; + return (0); } /* find a funciton table by the driver name */ @@ -264,15 +264,15 @@ SLIST_FOREACH(p, &keyboard_drivers, link) { if (strcmp(p->name, driver) == 0) - return p->kbdsw; + return (p->kbdsw); } SET_FOREACH(list, kbddriver_set) { p = *list; if (strcmp(p->name, driver) == 0) - return p->kbdsw; + return (p->kbdsw); } - return NULL; + return (NULL); } /* @@ -297,9 +297,9 @@ continue; if ((unit != -1) && (keyboard[i]->kb_unit != unit)) continue; - return i; + return (i); } - return -1; + return (-1); } /* allocate a keyboard */ @@ -311,14 +311,14 @@ int s; if (func == NULL) - return -1; + return (-1); s = spltty(); index = kbd_find_keyboard(driver, unit); if (index >= 0) { if (KBD_IS_BUSY(keyboard[index])) { splx(s); - return -1; + return (-1); } keyboard[index]->kb_token = id; KBD_BUSY(keyboard[index]); @@ -327,7 +327,7 @@ (*kbdsw[index]->clear_state)(keyboard[index]); } splx(s); - return index; + return (index); } int @@ -350,7 +350,7 @@ error = 0; } splx(s); - return error; + return (error); } int @@ -373,7 +373,7 @@ error = 0; } splx(s); - return error; + return (error); } /* get a keyboard structure */ @@ -381,12 +381,12 @@ *kbd_get_keyboard(int index) { if ((index < 0) || (index >= keyboards)) - return NULL; + return (NULL); if (keyboard[index] == NULL) - return NULL; + return (NULL); if (!KBD_IS_VALID(keyboard[index])) - return NULL; - return keyboard[index]; + return (NULL); + return (keyboard[index]); } /* @@ -411,7 +411,7 @@ (*p->configure)(flags); } - return 0; + return (0); } #ifdef KBD_INSTALL_CDEV @@ -449,17 +449,17 @@ { if (kbd->kb_index >= keyboards) - return EINVAL; + return (EINVAL); if (keyboard[kbd->kb_index] != kbd) - return EINVAL; + return (EINVAL); - kbd->kb_dev = make_dev(&kbd_cdevsw, kbd->kb_index, UID_ROOT, GID_WHEEL, 0600, - "%s%r", kbd->kb_name, kbd->kb_unit); + kbd->kb_dev = make_dev(&kbd_cdevsw, kbd->kb_index, UID_ROOT, GID_WHEEL, + 0600, "%s%r", kbd->kb_name, kbd->kb_unit); make_dev_alias(kbd->kb_dev, "kbd%r", kbd->kb_index); kbd->kb_dev->si_drv1 = malloc(sizeof(genkbd_softc_t), M_DEVBUF, - M_WAITOK | M_ZERO); + M_WAITOK | M_ZERO); printf("kbd%d at %s%d\n", kbd->kb_index, kbd->kb_name, kbd->kb_unit); - return 0; + return (0); } int @@ -467,14 +467,14 @@ { if (kbd->kb_index >= keyboards) - return EINVAL; + return (EINVAL); if (keyboard[kbd->kb_index] != kbd) - return EINVAL; + return (EINVAL); free(kbd->kb_dev->si_drv1, M_DEVBUF); destroy_dev(kbd->kb_dev); - return 0; + return (0); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Apr 3 08:11:34 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 71BD016A504; Sat, 3 Apr 2004 08:11: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 2CC3F16A4FC for ; Sat, 3 Apr 2004 08:11:34 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0E66843D5F for ; Sat, 3 Apr 2004 08:11:34 -0800 (PST) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i33GBXGe089734 for ; Sat, 3 Apr 2004 08:11:33 -0800 (PST) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i33GBXC3089724 for perforce@freebsd.org; Sat, 3 Apr 2004 08:11:33 -0800 (PST) (envelope-from julian@freebsd.org) Date: Sat, 3 Apr 2004 08:11:33 -0800 (PST) Message-Id: <200404031611.i33GBXC3089724@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 50264 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, 03 Apr 2004 16:11:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=50264 Change 50264 by julian@julian_jules1 on 2004/04/03 08:11:00 clean up allocatipon of scheduler structure extensions for proc0 Affected files ... .. //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd.c#3 edit .. //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.c#5 edit .. //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.h#3 edit Differences ... ==== //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd.c#3 (text+ko) ==== @@ -80,15 +80,6 @@ #define KSE_CAN_MIGRATE(ke) \ ((ke)->ke_thread->td_pinned == 0 && ((ke)->ke_flags & KEF_BOUND) == 0) -static struct ke_sched ke_sched; -static struct kg_sched kg_sched; -static struct td_sched td_sched; - -struct ke_sched *kse0_sched = &ke_sched; -struct kg_sched *ksegrp0_sched = &kg_sched; -struct p_sched *proc0_sched = NULL; -struct td_sched *thread0_sched = &td_sched; - static int sched_tdcnt; /* Total runnable threads in the system. */ static int sched_quantum; /* Roundrobin scheduling quantum in ticks. */ #define SCHED_QUANTUM (hz / 10) /* Default sched quantum */ @@ -849,16 +840,19 @@ { return (sizeof(struct kse) + sizeof(struct ke_sched)); } + int sched_sizeof_ksegrp(void) { return (sizeof(struct ksegrp) + sizeof(struct kg_sched)); } + int sched_sizeof_proc(void) { return (sizeof(struct proc)); } + int sched_sizeof_thread(void) { ==== //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.c#5 (text+ko) ==== @@ -31,8 +31,16 @@ #include static uma_zone_t kse_zone; + struct kse kse0; +static struct ke_sched ke_sched0; +static struct kg_sched kg_sched0; +static struct td_sched td_sched0; + static struct kse * kse_alloc(void); +static void kse_link(struct proc *p, struct kse *ke, struct ksegrp *kg); +static void kse_unlink(struct kse *ke); + extern struct mtx kse_zombie_lock; TAILQ_HEAD(, kse) zombie_kses = TAILQ_HEAD_INITIALIZER(zombie_kses); @@ -73,13 +81,14 @@ /* * Set up the scheduler specific parts of proc0. */ - kse0.ke_sched = kse0_sched; - ksegrp0.kg_sched = ksegrp0_sched; - proc0.p_sched = proc0_sched; - thread0.td_sched = thread0_sched; + kse0.ke_sched = &ke_sched0; + ksegrp0.kg_sched = &kg_sched0; + proc0.p_sched = NULL; /* XXX */ + thread0.td_sched = &td_sched0; + kse0.ke_state = KES_THREAD; + kse_link(&proc0, &kse0, &ksegrp0); kse0.ke_thread = &thread0; - kse_link(&kse0, &ksegrp0); thread0.td_kse = &kse0; /* we are running */ @@ -105,7 +114,7 @@ mtx_lock_spin(&sched_lock); thread_link(td0, td->td_ksegrp); - kse_link(ke0, td->td_ksegrp); + kse_link(td->td_proc, ke0, td->td_ksegrp); /* Bind this thread and kse together. */ td0->td_kse = ke0; @@ -171,10 +180,8 @@ * KSE is linked into kse group. */ void -kse_link(struct kse *ke, struct ksegrp *kg) +kse_link(struct proc *p, struct kse *ke, struct ksegrp *kg) { - struct proc *p = kg->kg_proc; - TAILQ_INSERT_HEAD(&kg->kg_kseq, ke, ke_kglist); kg->kg_kses++; ke->ke_state = KES_UNQUEUED; @@ -192,7 +199,7 @@ ke = kse_alloc(); if (ke) { - kse_link(ke, kg); + kse_link(p, ke, kg); td->td_kse = ke; ke->ke_thread = td; return (0); @@ -340,7 +347,7 @@ mtx_unlock_spin(&sched_lock); #endif mtx_lock_spin(&sched_lock); - kse_link(newke, kg); + kse_link(kg->kg_proc, newke, kg); sched_fork_kse(curthread, newke); /* Add engine */ kse_reassign(newke); ==== //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.h#3 (text+ko) ==== @@ -129,8 +129,6 @@ void kse_free(struct kse *ke); void kse_stash(struct kse *ke); void kse_reassign(struct kse *ke); -void kse_link(struct kse *ke, struct ksegrp *kg); -void kse_unlink(struct kse *ke); void sched_fork_kse(struct thread *parenttd, struct kse *newke); void sched_exit_kse(struct proc *parent, struct thread *childtd); From owner-p4-projects@FreeBSD.ORG Sat Apr 3 12:30:18 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0D6D316A4D0; Sat, 3 Apr 2004 12:30:18 -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 C604116A4CE for ; Sat, 3 Apr 2004 12:30:17 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BB42243D46 for ; Sat, 3 Apr 2004 12:30:17 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i33KUHGe054054 for ; Sat, 3 Apr 2004 12:30:17 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i33KUH2e054051 for perforce@freebsd.org; Sat, 3 Apr 2004 12:30:17 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sat, 3 Apr 2004 12:30:17 -0800 (PST) Message-Id: <200404032030.i33KUH2e054051@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50275 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, 03 Apr 2004 20:30:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=50275 Change 50275 by marcel@marcel_nfs on 2004/04/03 12:30:10 IFC @50274 Affected files ... .. //depot/projects/gdb/bin/ls/print.c#4 integrate .. //depot/projects/gdb/etc/inetd.conf#5 integrate .. //depot/projects/gdb/etc/newsyslog.conf#3 integrate .. //depot/projects/gdb/sbin/growfs/Makefile#3 integrate .. //depot/projects/gdb/sbin/growfs/debug.c#2 integrate .. //depot/projects/gdb/sbin/growfs/growfs.c#3 integrate .. //depot/projects/gdb/share/man/man5/rc.conf.5#8 integrate .. //depot/projects/gdb/sys/conf/files#11 integrate .. //depot/projects/gdb/sys/i386/i386/elan-mmcr.c#5 integrate .. //depot/projects/gdb/sys/kern/imgact_elf.c#6 integrate .. //depot/projects/gdb/sys/nfsclient/nfs_vnops.c#3 integrate .. //depot/projects/gdb/usr.bin/find/extern.h#2 integrate .. //depot/projects/gdb/usr.bin/find/function.c#2 integrate .. //depot/projects/gdb/usr.bin/find/option.c#2 integrate Differences ... ==== //depot/projects/gdb/bin/ls/print.c#4 (text+ko) ==== @@ -40,7 +40,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/ls/print.c,v 1.68 2004/03/01 19:25:27 cperciva Exp $"); +__FBSDID("$FreeBSD: src/bin/ls/print.c,v 1.69 2004/04/03 16:55:56 bmilekic Exp $"); #include #include @@ -694,11 +694,17 @@ *haveacls = 1; if ((facl = acl_get_file(name, ACL_TYPE_ACCESS)) != NULL) { if (acl_get_entry(facl, ACL_FIRST_ENTRY, &ae) == 1) { - entries = 0; - do - entries++; - while (acl_get_entry(facl, ACL_NEXT_ENTRY, &ae) == 1); - if (entries != 3) + entries = 1; + while (acl_get_entry(facl, ACL_NEXT_ENTRY, &ae) == 1) + if (++entries > 3) + break; + /* + * POSIX.1e requires that ACLs of type ACL_TYPE_ACCESS + * must have at least three entries (owner, group, + * and other). So anything with more than 3 ACLs looks + * interesting to us. + */ + if (entries > 3) buf[10] = '+'; } acl_free(facl); ==== //depot/projects/gdb/etc/inetd.conf#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/inetd.conf,v 1.67 2004/03/11 22:15:28 des Exp $ +# $FreeBSD: src/etc/inetd.conf,v 1.68 2004/04/03 17:52:29 mlaier Exp $ # # Internet server configuration database # @@ -122,4 +122,4 @@ # N.B.: inetd binds to * in the default installation so you should add # an appropriate block rule to your pf.conf # -#ftp-proxy stream tcp nowait root /usr/libexec/ftp-proxy ftp-proxy +#ftp-proxy stream tcp nowait root /usr/libexec/ftp-proxy ftp-proxy ==== //depot/projects/gdb/etc/newsyslog.conf#3 (text+ko) ==== @@ -1,5 +1,5 @@ # configuration file for newsyslog -# $FreeBSD: src/etc/newsyslog.conf,v 1.48 2004/04/02 19:25:27 mlaier Exp $ +# $FreeBSD: src/etc/newsyslog.conf,v 1.49 2004/04/03 17:52:29 mlaier Exp $ # # Entries which do not specify the '/pid_file' field will cause the # syslogd process to be signalled when that log file is rotated. This @@ -29,6 +29,7 @@ /var/log/maillog 640 7 * @T00 J /var/log/messages 644 5 100 * J /var/log/monthly.log 640 12 * $M1D0 JN +/var/log/pflog 600 3 100 * JB /var/run/pflogd.pid /var/log/ppp.log root:network 640 3 100 * J /var/log/security 600 10 100 * J /var/log/sendmail.st 640 10 * 168 B @@ -36,5 +37,3 @@ /var/log/weekly.log 640 5 1 $W6D0 JN /var/log/wtmp 644 3 * @01T05 B /var/log/xferlog 600 7 100 * J -# pflogd sample entry -#/var/log/pflog 600 3 100 * JB /var/run/pflogd.pid ==== //depot/projects/gdb/sbin/growfs/Makefile#3 (text+ko) ==== @@ -1,7 +1,7 @@ # @(#)Makefile 8.8 (Berkeley) 6/21/2000 # # $TSHeader: src/sbin/growfs/Makefile,v 1.4 2000/12/05 19:45:24 tomsoft Exp $ -# $FreeBSD: src/sbin/growfs/Makefile,v 1.6 2004/04/01 20:31:49 johan Exp $ +# $FreeBSD: src/sbin/growfs/Makefile,v 1.7 2004/04/03 17:40:19 le Exp $ # #GFSDBG=YES @@ -10,7 +10,7 @@ SRCS= growfs.c MAN= growfs.8 -WARNS?= 0 +WARNS?= 6 .if defined(GFSDBG) SRCS+= debug.c ==== //depot/projects/gdb/sbin/growfs/debug.c#2 (text+ko) ==== @@ -41,7 +41,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sbin/growfs/debug.c,v 1.8 2003/08/14 18:40:59 rwatson Exp $"; + "$FreeBSD: src/sbin/growfs/debug.c,v 1.9 2004/04/03 17:40:19 le Exp $"; #endif /* not lint */ /* ********************************************************** INCLUDES ***** */ @@ -49,6 +49,7 @@ #include #include +#include #include #include @@ -783,10 +784,10 @@ fprintf(dbg_log, "blocks u_int64_t 0x%08x%08x\n", ((unsigned int *)&(ino->di_blocks))[1], ((unsigned int *)&(ino->di_blocks))[0]); - fprintf(dbg_log, "atime ufs_time_t %10u\n", ino->di_atime); - fprintf(dbg_log, "mtime ufs_time_t %10u\n", ino->di_mtime); - fprintf(dbg_log, "ctime ufs_time_t %10u\n", ino->di_ctime); - fprintf(dbg_log, "birthtime ufs_time_t %10u\n", ino->di_birthtime); + fprintf(dbg_log, "atime ufs_time_t %10jd\n", ino->di_atime); + fprintf(dbg_log, "mtime ufs_time_t %10jd\n", ino->di_mtime); + fprintf(dbg_log, "ctime ufs_time_t %10jd\n", ino->di_ctime); + fprintf(dbg_log, "birthtime ufs_time_t %10jd\n", ino->di_birthtime); fprintf(dbg_log, "mtimensec int32_t 0x%08x\n", ino->di_mtimensec); fprintf(dbg_log, "atimensec int32_t 0x%08x\n", ino->di_atimensec); fprintf(dbg_log, "ctimensec int32_t 0x%08x\n", ino->di_ctimensec); @@ -800,24 +801,24 @@ remaining_blocks=howmany(ino->di_size, sb->fs_bsize); /* XXX ts - +1? */ for(ictr=0; ictr < MIN(NDADDR, remaining_blocks); ictr++) { - fprintf(dbg_log, "db ufs2_daddr_t[%x] 0x%16x\n", ictr, + fprintf(dbg_log, "db ufs2_daddr_t[%x] 0x%16jx\n", ictr, ino->di_db[ictr]); } remaining_blocks-=NDADDR; if(remaining_blocks>0) { - fprintf(dbg_log, "ib ufs2_daddr_t[0] 0x%16x\n", + fprintf(dbg_log, "ib ufs2_daddr_t[0] 0x%16jx\n", ino->di_ib[0]); } remaining_blocks-=howmany(sb->fs_bsize, sizeof(ufs2_daddr_t)); if(remaining_blocks>0) { - fprintf(dbg_log, "ib ufs2_daddr_t[1] 0x%16x\n", + fprintf(dbg_log, "ib ufs2_daddr_t[1] 0x%16jx\n", ino->di_ib[1]); } #define SQUARE(a) ((a)*(a)) remaining_blocks-=SQUARE(howmany(sb->fs_bsize, sizeof(ufs2_daddr_t))); #undef SQUARE if(remaining_blocks>0) { - fprintf(dbg_log, "ib ufs2_daddr_t[2] 0x%16x\n", + fprintf(dbg_log, "ib ufs2_daddr_t[2] 0x%16jx\n", ino->di_ib[2]); } @@ -835,8 +836,7 @@ void dbg_dump_iblk(struct fs *sb, const char *comment, char *block, size_t length) { - unsigned int *mem; - int i, j, size; + unsigned int *mem, i, j, size; if(!dbg_log) { return; ==== //depot/projects/gdb/sbin/growfs/growfs.c#3 (text+ko) ==== @@ -48,7 +48,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sbin/growfs/growfs.c,v 1.17 2004/03/26 23:42:32 le Exp $"; + "$FreeBSD: src/sbin/growfs/growfs.c,v 1.18 2004/04/03 17:40:19 le Exp $"; #endif /* not lint */ /* ********************************************************** INCLUDES ***** */ @@ -65,6 +65,7 @@ #include #include #include +#include #include #include #include @@ -107,10 +108,10 @@ }; #define DIP(dp, field) \ ((sblock.fs_magic == FS_UFS1_MAGIC) ? \ - (dp)->dp1.field : (dp)->dp2.field) + (uint32_t)(dp)->dp1.field : (dp)->dp2.field) static ufs2_daddr_t inoblk; /* inode block address */ static char inobuf[MAXBSIZE]; /* inode block */ -static int maxino; /* last valid inode */ +ino_t maxino; /* last valid inode */ static int unlabeled; /* unlabeled partition, e.g. vinum volume etc. */ /* @@ -366,8 +367,8 @@ { DBG_FUNC("initcg") static caddr_t iobuf; - long i, d, dlower, dupper, blkno, start; - ufs2_daddr_t cbase, dmax; + long d, dlower, dupper, blkno, start; + ufs2_daddr_t i, cbase, dmax; struct ufs1_dinode *dp1; struct ufs2_dinode *dp2; struct csum *cs; @@ -628,9 +629,9 @@ fragnum = fragnum(&sblock, src); *block = dst + fragnum; f->found++; - DBG_PRINT3("scg (%d->%d)[%d] reference updated\n", - f->old, - f->new, + DBG_PRINT3("scg (%jd->%jd)[%d] reference updated\n", + (intmax_t)f->old, + (intmax_t)f->new, fragnum); /* @@ -751,10 +752,12 @@ DBG_PRINT2("jcg dbg: %d %u", cylno, sblock.fs_ncg); +#ifdef FS_DEBUG if (sblock.fs_magic == FS_UFS1_MAGIC) DBG_PRINT2("%d %u", acg.cg_old_ncyl, sblock.fs_old_cpg); +#endif DBG_PRINT0("\n"); acg.cg_ndblk = dmax - cbase; sblock.fs_dsize += acg.cg_ndblk-aocg.cg_ndblk; @@ -1030,8 +1033,8 @@ */ d--; - DBG_PRINT1("d=%d\n", - d); + DBG_PRINT1("d=%jd\n", + (intmax_t)d); if((d+1)%sblock.fs_frag) { /* * The end of the cylinder summary is not a complete @@ -1040,8 +1043,8 @@ DBG_TRC; frag_adjust(d%sblock.fs_fpg, -1); for(; (d+1)%sblock.fs_frag; d--) { - DBG_PRINT1("d=%d\n", - d); + DBG_PRINT1("d=%jd\n", + (intmax_t)d); setbit(cg_blksfree(&acg), d%sblock.fs_fpg); acg.cg_cs.cs_nffree++; sblock.fs_cstotal.cs_nffree++; @@ -1055,7 +1058,7 @@ if(isblock(&sblock, cg_blksfree(&acg), (d%sblock.fs_fpg)/sblock.fs_frag)) { - DBG_PRINT1("d=%d\n", d); + DBG_PRINT1("d=%jd\n", (intmax_t)d); acg.cg_cs.cs_nffree-=sblock.fs_frag; acg.cg_cs.cs_nbfree++; sblock.fs_cstotal.cs_nffree-=sblock.fs_frag; @@ -1080,11 +1083,11 @@ d--; } - DBG_PRINT1("d=%d\n", d); + DBG_PRINT1("d=%jd\n", (intmax_t)d); for(d=rounddown(d, sblock.fs_frag); d >= osblock.fs_csaddr; d-=sblock.fs_frag) { DBG_TRC; - DBG_PRINT1("d=%d\n", d); + DBG_PRINT1("d=%jd\n", (intmax_t)d); setblock(&sblock, cg_blksfree(&acg), (d%sblock.fs_fpg)/sblock.fs_frag); acg.cg_cs.cs_nbfree++; @@ -1256,8 +1259,8 @@ ind=0; frag_adjust(odupper, -1); for(d=odupper; ((d%d) block relocated\n", - bp[i].old, - bp[i].new); + DBG_PRINT2("scg (%jd->%jd) block relocated\n", + (intmax_t)bp[i].old, + (intmax_t)bp[i].new); } /* @@ -1493,8 +1496,8 @@ */ for(i=0; isblock.fs_frag)) { - warnx("error: %d refs found for block %d.", - bp[i].found, bp[i].old); + warnx("error: %jd refs found for block %jd.", + (intmax_t)bp[i].found, (intmax_t)bp[i].old); } } @@ -1539,11 +1542,11 @@ DBG_ENTER; if (lseek(fsi, (off_t)bno * DEV_BSIZE, 0) < 0) { - err(33, "rdfs: seek error: %ld", (long)bno); + err(33, "rdfs: seek error: %jd", (intmax_t)bno); } n = read(fsi, bf, size); if (n != (ssize_t)size) { - err(34, "rdfs: read error: %ld", (long)bno); + err(34, "rdfs: read error: %jd", (intmax_t)bno); } DBG_LEAVE; @@ -2046,6 +2049,7 @@ */ cp=device+strlen(device)-1; lp = get_disklabel(fsi); + pp = NULL; if (lp != NULL) { if (isdigit(*cp)) { pp = &lp->d_partitions[2]; @@ -2076,7 +2080,7 @@ (osblock.fs_magic == FS_UFS2_MAGIC && osblock.fs_sblockloc == sblock_try[i])) && osblock.fs_bsize <= MAXBSIZE && - osblock.fs_bsize >= sizeof(struct fs)) + osblock.fs_bsize >= (int32_t) sizeof(struct fs)) break; } if (sblock_try[i] == -1) { @@ -2106,8 +2110,8 @@ * Are we really growing ? */ if(osblock.fs_size >= sblock.fs_size) { - errx(1, "we are not growing (%d->%d)", osblock.fs_size, - sblock.fs_size); + errx(1, "we are not growing (%jd->%jd)", + (intmax_t)osblock.fs_size, (intmax_t)sblock.fs_size); } @@ -2140,7 +2144,7 @@ } } - printf("new file systemsize is: %d frags\n", sblock.fs_size); + printf("new file systemsize is: %jd frags\n", (intmax_t)sblock.fs_size); /* * Try to access our new last block in the file system. Even if we @@ -2182,8 +2186,8 @@ sblock.fs_ncg--; if (sblock.fs_magic == FS_UFS1_MAGIC) sblock.fs_old_ncyl = sblock.fs_ncg * sblock.fs_old_cpg; - printf("Warning: %d sector(s) cannot be allocated.\n", - fsbtodb(&sblock, sblock.fs_size % sblock.fs_fpg)); + printf("Warning: %jd sector(s) cannot be allocated.\n", + (intmax_t)fsbtodb(&sblock, sblock.fs_size % sblock.fs_fpg)); sblock.fs_size = sblock.fs_ncg * sblock.fs_fpg; } @@ -2387,7 +2391,7 @@ DBG_LEAVE; return; /* only check DIR, FILE, LINK */ } - if (mode == IFLNK && DIP(ino, di_size) < sblock.fs_maxsymlinklen) { + if (mode == IFLNK && DIP(ino, di_size) < (u_int64_t) sblock.fs_maxsymlinklen) { DBG_LEAVE; return; /* skip short symlinks */ } ==== //depot/projects/gdb/share/man/man5/rc.conf.5#8 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man5/rc.conf.5,v 1.212 2004/04/02 19:25:26 mlaier Exp $ +.\" $FreeBSD: src/share/man/man5/rc.conf.5,v 1.213 2004/04/03 17:52:29 mlaier Exp $ .\" .Dd March 30, 2004 .Dt RC.CONF 5 @@ -743,7 +743,7 @@ .Pa /var/log/pflog ) . Check .Pa /etc/newsyslog.conf -to enable logfile rotation for this. +to adjust logfile rotation for this. .It Va pflog_program .Pq Vt str Path to ==== //depot/projects/gdb/sys/conf/files#11 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.880 2004/04/01 17:55:50 des Exp $ +# $FreeBSD: src/sys/conf/files,v 1.881 2004/04/03 18:42:05 phk Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -496,7 +496,7 @@ dev/joy/joy.c optional joy dev/joy/joy_isa.c optional joy isa dev/joy/joy_pccard.c optional joy pccard -dev/led/led.c optional cpu_soekris +dev/led/led.c standard dev/lge/if_lge.c optional lge dev/lnc/if_lnc.c optional lnc dev/lnc/if_lnc_pci.c optional lnc pci ==== //depot/projects/gdb/sys/i386/i386/elan-mmcr.c#5 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/elan-mmcr.c,v 1.26 2004/03/15 21:47:34 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/elan-mmcr.c,v 1.27 2004/04/03 18:42:52 phk Exp $"); #include "opt_cpu.h" #include @@ -77,7 +77,6 @@ static u_int echo_a, echo_d; #endif /* CPU_ELAN_PPS */ -#ifdef CPU_SOEKRIS static u_int led_cookie[32]; static dev_t led_dev[32]; @@ -93,7 +92,6 @@ v ^= 0xc; mmcrptr[v / 2] = u; } -#endif static int sysctl_machdep_elan_gpio_config(SYSCTL_HANDLER_ARGS) @@ -117,7 +115,9 @@ /* Disallow any disabled pins and count pps and echo */ np = ne = 0; for (i = 0; i < 32; i++) { - if (gpio_config[i] == '-' && (buf[i] != '-' && buf[i] != '.')) + if (gpio_config[i] == '-' && buf[i] == '.') + buf[i] = gpio_config[i]; + if (gpio_config[i] == '-' && buf[i] != '-') return (EPERM); if (buf[i] == 'P') { np++; @@ -149,12 +149,15 @@ else v = 0; #ifdef CPU_SOEKRIS + if (i == 9) + ; + else +#endif if (buf[i] != 'l' && buf[i] != 'L' && led_dev[i] != NULL) { led_destroy(led_dev[i]); led_dev[i] = NULL; mmcrptr[(0xc2a + v) / 2] &= ~u; } -#endif switch (buf[i]) { #ifdef CPU_ELAN_PPS case 'P': @@ -177,7 +180,6 @@ gpio_config[i] = buf[i]; break; #endif /* CPU_ELAN_PPS */ -#ifdef CPU_SOEKRIS case 'l': case 'L': if (buf[i] == 'L') @@ -192,7 +194,6 @@ mmcrptr[(0xc2a + v) / 2] |= u; gpio_config[i] = buf[i]; break; -#endif case '.': gpio_config[i] = buf[i]; break; ==== //depot/projects/gdb/sys/kern/imgact_elf.c#6 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/imgact_elf.c,v 1.145 2004/03/18 16:33:05 nectar Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/imgact_elf.c,v 1.146 2004/04/03 20:25:41 marcel Exp $"); #include #include ==== //depot/projects/gdb/sys/nfsclient/nfs_vnops.c#3 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_vnops.c,v 1.216 2004/03/11 18:02:35 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_vnops.c,v 1.217 2004/04/03 17:23:46 peadar Exp $"); /* * vnode op calls for Sun NFS version 2 and 3 @@ -691,6 +691,7 @@ struct thread *td) { struct nfsv2_sattr *sp; + struct nfsnode *np = VTONFS(vp); caddr_t bpos, dpos; u_int32_t *tl; int error = 0, wccflag = NFSV3_WCCRATTR; @@ -726,6 +727,7 @@ } nfsm_request(vp, NFSPROC_SETATTR, td, cred); if (v3) { + np->n_modestamp = 0; nfsm_wcc_data(vp, wccflag); } else nfsm_loadattr(vp, NULL); ==== //depot/projects/gdb/usr.bin/find/extern.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)extern.h 8.3 (Berkeley) 4/16/94 - * $FreeBSD: src/usr.bin/find/extern.h,v 1.19 2003/06/14 13:00:21 markm Exp $ + * $FreeBSD: src/usr.bin/find/extern.h,v 1.20 2004/04/03 17:10:04 bmilekic Exp $ */ #include @@ -52,6 +52,7 @@ creat_f c_Xmin; creat_f c_Xtime; +creat_f c_acl; creat_f c_and; creat_f c_delete; creat_f c_depth; @@ -82,6 +83,7 @@ exec_f f_Xmin; exec_f f_Xtime; +exec_f f_acl; exec_f f_always_true; exec_f f_closeparen; exec_f f_delete; ==== //depot/projects/gdb/usr.bin/find/function.c#2 (text+ko) ==== @@ -41,11 +41,13 @@ #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/usr.bin/find/function.c,v 1.48 2003/06/14 13:00:21 markm Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/find/function.c,v 1.49 2004/04/03 17:10:04 bmilekic Exp $"); #include #include #include +#include +#include #include #include #include @@ -352,6 +354,55 @@ } /* + * -acl function -- + * + * Show files with EXTENDED ACL attributes. + */ +int +f_acl(PLAN *plan__unused, FTSENT *entry) +{ + int match, entries; + acl_entry_t ae; + acl_t facl; + + if (S_ISLNK(entry->fts_statp->st_mode)) + return 0; + if ((match = pathconf(entry->fts_accpath, _PC_ACL_EXTENDED)) <= 0) { + if (match < 0 && errno != EINVAL) + warn("%s", entry->fts_accpath); + else + return 0; + } + match = 0; + if ((facl = acl_get_file(entry->fts_accpath,ACL_TYPE_ACCESS)) != NULL) { + if (acl_get_entry(facl, ACL_FIRST_ENTRY, &ae) == 1) { + /* + * POSIX.1e requires that ACLs of type ACL_TYPE_ACCESS + * must have at least three entries (owner, group, + * other). + */ + entries = 1; + while (acl_get_entry(facl, ACL_NEXT_ENTRY, &ae) == 1) { + if (++entries > 3) { + match = 1; + break; + } + } + } + acl_free(facl); + } else + warn("%s", entry->fts_accpath); + return match; +} + +PLAN * +c_acl(OPTION *option, char ***argvp__unused) +{ + ftsoptions &= ~FTS_NOSTAT; + return (palloc(option)); +} + +/* * -delete functions -- * * True always. Makes its best shot and continues on regardless. ==== //depot/projects/gdb/usr.bin/find/option.c#2 (text+ko) ==== @@ -41,7 +41,7 @@ #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/usr.bin/find/option.c,v 1.20 2003/06/14 13:00:21 markm Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/find/option.c,v 1.21 2004/04/03 17:10:04 bmilekic Exp $"); #include #include @@ -63,6 +63,7 @@ { "(", c_simple, f_openparen, 0 }, { ")", c_simple, f_closeparen, 0 }, { "-a", c_and, NULL, 0 }, + { "-acl", c_acl, f_acl, 0 }, { "-amin", c_Xmin, f_Xmin, F_TIME_A }, { "-and", c_and, NULL, 0 }, { "-anewer", c_newer, f_newer, F_TIME_A }, From owner-p4-projects@FreeBSD.ORG Sat Apr 3 13:09:25 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D561716A4D0; Sat, 3 Apr 2004 13:09:24 -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 9905B16A4CE for ; Sat, 3 Apr 2004 13:09:24 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8DB2143D55 for ; Sat, 3 Apr 2004 13:09:24 -0800 (PST) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i33L9OGe069301 for ; Sat, 3 Apr 2004 13:09:24 -0800 (PST) (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i33L9Nkb069298 for perforce@freebsd.org; Sat, 3 Apr 2004 13:09:23 -0800 (PST) (envelope-from imp@freebsd.org) Date: Sat, 3 Apr 2004 13:09:23 -0800 (PST) Message-Id: <200404032109.i33L9Nkb069298@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Subject: PERFORCE change 50283 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, 03 Apr 2004 21:09:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=50283 Change 50283 by imp@imp_pacopaco on 2004/04/03 13:09:16 IFC @50276 Affected files ... .. //depot/projects/power/sys/alpha/alpha/machdep.c#6 integrate .. //depot/projects/power/sys/alpha/alpha/vm_machdep.c#5 integrate .. //depot/projects/power/sys/amd64/amd64/support.S#6 integrate .. //depot/projects/power/sys/amd64/amd64/vm_machdep.c#7 integrate .. //depot/projects/power/sys/boot/common/loader.8#3 integrate .. //depot/projects/power/sys/conf/NOTES#10 integrate .. //depot/projects/power/sys/conf/files#7 integrate .. //depot/projects/power/sys/conf/files.i386#7 integrate .. //depot/projects/power/sys/conf/majors#8 integrate .. //depot/projects/power/sys/dev/acpica/acpi.c#15 integrate .. //depot/projects/power/sys/dev/acpica/acpivar.h#9 integrate .. //depot/projects/power/sys/dev/ath/if_ath.c#9 integrate .. //depot/projects/power/sys/dev/ath/if_ath_pci.c#6 integrate .. //depot/projects/power/sys/dev/ath/if_athioctl.h#4 integrate .. //depot/projects/power/sys/dev/ath/if_athvar.h#5 integrate .. //depot/projects/power/sys/dev/fb/vga.c#2 integrate .. //depot/projects/power/sys/dev/kbd/kbd.c#5 integrate .. //depot/projects/power/sys/dev/md/md.c#7 integrate .. //depot/projects/power/sys/dev/syscons/syscons.c#5 integrate .. //depot/projects/power/sys/dev/twa/twa.c#2 integrate .. //depot/projects/power/sys/dev/twa/twa_freebsd.c#2 integrate .. //depot/projects/power/sys/dev/twa/twa_includes.h#2 integrate .. //depot/projects/power/sys/dev/uart/uart_cpu_sparc64.c#5 integrate .. //depot/projects/power/sys/dev/uart/uart_dev_ns8250.c#3 integrate .. //depot/projects/power/sys/dev/uart/uart_kbd_sun.c#2 integrate .. //depot/projects/power/sys/dev/usb/usb_subr.c#3 integrate .. //depot/projects/power/sys/i386/conf/GENERIC.hints#3 integrate .. //depot/projects/power/sys/i386/conf/NOTES#9 integrate .. //depot/projects/power/sys/i386/i386/elan-mmcr.c#7 integrate .. //depot/projects/power/sys/i386/i386/uio_machdep.c#2 integrate .. //depot/projects/power/sys/i386/i386/vm_machdep.c#8 integrate .. //depot/projects/power/sys/ia64/ia64/vm_machdep.c#7 integrate .. //depot/projects/power/sys/kern/imgact_elf.c#5 integrate .. //depot/projects/power/sys/kern/kern_fork.c#6 integrate .. //depot/projects/power/sys/kern/kern_thr.c#3 integrate .. //depot/projects/power/sys/kern/kern_thread.c#6 integrate .. //depot/projects/power/sys/kern/subr_bus.c#6 integrate .. //depot/projects/power/sys/kern/sys_process.c#4 integrate .. //depot/projects/power/sys/kern/uipc_cow.c#4 integrate .. //depot/projects/power/sys/kern/uipc_syscalls.c#7 integrate .. //depot/projects/power/sys/net/if_sl.c#4 integrate .. //depot/projects/power/sys/net80211/ieee80211.c#4 integrate .. //depot/projects/power/sys/net80211/ieee80211_input.c#4 integrate .. //depot/projects/power/sys/net80211/ieee80211_node.c#5 integrate .. //depot/projects/power/sys/net80211/ieee80211_node.h#3 integrate .. //depot/projects/power/sys/net80211/ieee80211_output.c#3 integrate .. //depot/projects/power/sys/net80211/ieee80211_proto.c#5 integrate .. //depot/projects/power/sys/net80211/ieee80211_var.h#5 integrate .. //depot/projects/power/sys/netinet6/udp6_usrreq.c#7 integrate .. //depot/projects/power/sys/netipsec/xform_tcp.c#1 branch .. //depot/projects/power/sys/nfsclient/nfs_vnops.c#5 integrate .. //depot/projects/power/sys/pc98/conf/NOTES#6 integrate .. //depot/projects/power/sys/pci/agp_intel.c#5 integrate .. //depot/projects/power/sys/pci/if_rl.c#8 integrate .. //depot/projects/power/sys/pci/if_ste.c#9 integrate .. //depot/projects/power/sys/pci/if_stereg.h#5 integrate .. //depot/projects/power/sys/powerpc/powermac/grackle.c#3 integrate .. //depot/projects/power/sys/powerpc/powerpc/vm_machdep.c#7 integrate .. //depot/projects/power/sys/sparc64/sparc64/uio_machdep.c#2 integrate .. //depot/projects/power/sys/sparc64/sparc64/vm_machdep.c#5 integrate .. //depot/projects/power/sys/sys/proc.h#9 integrate .. //depot/projects/power/sys/sys/sf_buf.h#4 integrate Differences ... ==== //depot/projects/power/sys/alpha/alpha/machdep.c#6 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.218 2004/03/01 19:19:15 kensmith Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.219 2004/04/01 20:56:43 jhb Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -1914,10 +1914,9 @@ if (td->td_md.md_flags & (MDTD_STEP1|MDTD_STEP2)) panic("ptrace_single_step: step breakpoints not removed"); - PROC_UNLOCK(td->td_proc); error = ptrace_read_int(td, pc, &ins.bits); if (error) - goto err; + return (error); switch (ins.branch_format.opcode) { @@ -1957,20 +1956,18 @@ td->td_md.md_sstep[0].addr = addr[0]; error = ptrace_set_bpt(td, &td->td_md.md_sstep[0]); if (error) - goto err; + return (error); if (count == 2) { td->td_md.md_sstep[1].addr = addr[1]; error = ptrace_set_bpt(td, &td->td_md.md_sstep[1]); if (error) { ptrace_clear_bpt(td, &td->td_md.md_sstep[0]); - goto err; + return (error); } td->td_md.md_flags |= MDTD_STEP2; } else td->td_md.md_flags |= MDTD_STEP1; -err: - PROC_LOCK(td->td_proc); return (error); } ==== //depot/projects/power/sys/alpha/alpha/vm_machdep.c#5 (text+ko) ==== @@ -67,7 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.101 2004/03/29 02:01:42 kensmith Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.102 2004/04/03 09:16:24 alc Exp $"); #include #include @@ -405,7 +405,7 @@ * Get an sf_buf from the freelist. Will block if none are available. */ struct sf_buf * -sf_buf_alloc(struct vm_page *m) +sf_buf_alloc(struct vm_page *m, int pri) { struct sf_buf *sf; int error; @@ -414,7 +414,7 @@ while ((sf = SLIST_FIRST(&sf_freelist.sf_head)) == NULL) { sf_buf_alloc_want++; mbstat.sf_allocwait++; - error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM|PCATCH, + error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM | pri, "sfbufa", 0); sf_buf_alloc_want--; ==== //depot/projects/power/sys/amd64/amd64/support.S#6 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.106 2004/03/31 02:03:49 alc Exp $ + * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.107 2004/04/03 05:33:10 alc Exp $ */ #include "opt_ddb.h" @@ -76,15 +76,15 @@ /* Address: %rdi */ ENTRY(pagezero) - lea 4096(%rdi),%rsi + movq $-PAGE_SIZE,%rdx + subq %rdx,%rdi xorq %rax,%rax 1: - movnti %rax,(%rdi) - movnti %rax,8(%rdi) - movnti %rax,16(%rdi) - movnti %rax,24(%rdi) - addq $32,%rdi - cmpq %rsi,%rdi + movnti %rax,(%rdi,%rdx) + movnti %rax,8(%rdi,%rdx) + movnti %rax,16(%rdi,%rdx) + movnti %rax,24(%rdi,%rdx) + addq $32,%rdx jne 1b sfence retq ==== //depot/projects/power/sys/amd64/amd64/vm_machdep.c#7 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.231 2004/03/29 19:38:05 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.232 2004/04/03 09:16:25 alc Exp $"); #include "opt_isa.h" #include "opt_cpu.h" @@ -460,7 +460,7 @@ * Get an sf_buf from the freelist. Will block if none are available. */ struct sf_buf * -sf_buf_alloc(struct vm_page *m) +sf_buf_alloc(struct vm_page *m, int pri) { struct sf_buf *sf; int error; @@ -469,7 +469,7 @@ while ((sf = SLIST_FIRST(&sf_freelist.sf_head)) == NULL) { sf_buf_alloc_want++; mbstat.sf_allocwait++; - error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM|PCATCH, + error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM | pri, "sfbufa", 0); sf_buf_alloc_want--; ==== //depot/projects/power/sys/boot/common/loader.8#3 (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.58 2004/01/27 15:59:38 des Exp $ +.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.59 2004/04/03 12:14:30 le Exp $ .\" .\" Note: The date here should be updated whenever a non-trivial .\" change is made to the manual page. @@ -493,12 +493,12 @@ .Va TCBHASHSIZE or the preset default of 512. Must be a power of 2. -.El .It Va vm.kmem_size Sets the size of kernel memory (bytes). This overrides the value determined when the kernel was compiled. Modifies .Va VM_KMEM_SIZE . +.El .Ss BUILTIN PARSER When a builtin command is executed, the rest of the line is taken by it as arguments, and it is processed by a special parser which ==== //depot/projects/power/sys/conf/NOTES#10 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1211 2004/03/31 18:46:13 vkashyap Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1212 2004/04/02 18:50:56 vkashyap Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1388,14 +1388,6 @@ device twe # 3ware ATA RAID # -# 3ware 9000 series PATA/SATA RAID controller driver and options. -# The driver is implemented as a SIM, and so, needs the CAM infrastructure. -# -options TWA_DEBUG # 0-10; 10 prints the most messages. -options TWA_FLASH_FIRMWARE # firmware image bundled when defined. -device twa # 3ware 9000 series PATA/SATA RAID - -# # The 'ATA' driver supports all ATA and ATAPI devices, including PC Card # devices. You only need one "device ata" for it to find all # PCI and PC Card ATA/ATAPI devices on modern machines. ==== //depot/projects/power/sys/conf/files#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.877 2004/03/20 02:14:02 marcel Exp $ +# $FreeBSD: src/sys/conf/files,v 1.881 2004/04/03 18:42:05 phk Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -499,7 +499,7 @@ dev/joy/joy.c optional joy dev/joy/joy_isa.c optional joy isa dev/joy/joy_pccard.c optional joy pccard -dev/led/led.c optional cpu_soekris +dev/led/led.c standard dev/lge/if_lge.c optional lge dev/lnc/if_lnc.c optional lnc dev/lnc/if_lnc_pci.c optional lnc pci @@ -668,6 +668,7 @@ dev/sound/midi/sequencer.c optional seq midi dev/sound/midi/timer.c optional seq midi dev/sound/pci/als4000.c optional pcm pci +#dev/sound/pci/au88x0.c optional pcm pci dev/sound/pci/cmi.c optional pcm pci dev/sound/pci/cs4281.c optional pcm pci dev/sound/pci/csa.c optional csa pci @@ -730,6 +731,11 @@ dev/syscons/warp/warp_saver.c optional warp_saver dev/tdfx/tdfx_pci.c optional tdfx pci dev/trm/trm.c optional trm +dev/twa/twa.c optional twa +dev/twa/twa_cam.c optional twa +dev/twa/twa_freebsd.c optional twa +dev/twa/twa_fwimg.c optional twa +dev/twa/twa_globals.c optional twa dev/twe/twe.c optional twe dev/twe/twe_freebsd.c optional twe dev/tx/if_tx.c optional tx ==== //depot/projects/power/sys/conf/files.i386#7 (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.i386,v 1.482 2004/03/30 03:45:59 vkashyap Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.483 2004/04/01 10:02:50 des Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -170,11 +170,6 @@ dev/syscons/scvtb.c optional sc dev/syscons/syscons.c optional sc dev/syscons/sysmouse.c optional sc -dev/twa/twa.c optional twa -dev/twa/twa_cam.c optional twa -dev/twa/twa_freebsd.c optional twa -dev/twa/twa_fwimg.c optional twa -dev/twa/twa_globals.c optional twa dev/uart/uart_cpu_i386.c optional uart geom/geom_bsd.c standard geom/geom_bsd_enc.c standard ==== //depot/projects/power/sys/conf/majors#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/majors,v 1.197 2004/02/23 08:55:12 phk Exp $ +# $FreeBSD: src/sys/conf/majors,v 1.198 2004/04/01 10:00:04 des Exp $ # # This list is semi-obsoleted by DEVFS, but for now it still contains # the current allocation of device major numbers. @@ -90,7 +90,6 @@ 183 *smapi SMAPI BIOS interface 185 ce Cronyx Tau-32 E1 adapter 186 sx Specialix I/O8+ driver -187 twa 3ware Apache ATA RAID (controller) 252 ?? entries from 200-252 are reserved for local use 254 internal Used internally by the kernel 255 bad_choice -1 is 255 which has magic meanings internally ==== //depot/projects/power/sys/dev/acpica/acpi.c#15 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.133 2004/03/31 17:35:28 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.134 2004/04/01 04:21:33 njl Exp $ */ #include "opt_acpi.h" @@ -809,82 +809,6 @@ return (0); } -ACPI_HANDLE -acpi_get_handle(device_t dev) -{ - uintptr_t up; - ACPI_HANDLE h; - - if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_HANDLE, &up)) - return(NULL); - h = (ACPI_HANDLE)up; - return (h); -} - -int -acpi_set_handle(device_t dev, ACPI_HANDLE h) -{ - uintptr_t up; - - up = (uintptr_t)h; - return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_HANDLE, up)); -} - -int -acpi_get_magic(device_t dev) -{ - uintptr_t up; - int m; - - if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_MAGIC, &up)) - return(0); - m = (int)up; - return (m); -} - -int -acpi_set_magic(device_t dev, int m) -{ - uintptr_t up; - - up = (uintptr_t)m; - return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_MAGIC, up)); -} - -void * -acpi_get_private(device_t dev) -{ - uintptr_t up; - void *p; - - if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_PRIVATE, &up)) - return (NULL); - p = (void *)up; - return (p); -} - -int -acpi_set_private(device_t dev, void *p) -{ - uintptr_t up; - - up = (uintptr_t)p; - return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_PRIVATE, up)); -} - -ACPI_OBJECT_TYPE -acpi_get_type(device_t dev) -{ - ACPI_HANDLE h; - ACPI_OBJECT_TYPE t; - - if ((h = acpi_get_handle(dev)) == NULL) - return (ACPI_TYPE_NOT_FOUND); - if (AcpiGetType(h, &t) != AE_OK) - return (ACPI_TYPE_NOT_FOUND); - return (t); -} - /* * Handle child resource allocation/removal */ ==== //depot/projects/power/sys/dev/acpica/acpivar.h#9 (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/dev/acpica/acpivar.h,v 1.58 2004/03/31 17:23:46 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.59 2004/04/01 04:21:33 njl Exp $ */ #include "bus_if.h" @@ -142,15 +142,75 @@ #define ACPI_IVAR_MAGIC 0x101 #define ACPI_IVAR_PRIVATE 0x102 -extern ACPI_HANDLE acpi_get_handle(device_t dev); -extern int acpi_set_handle(device_t dev, ACPI_HANDLE h); -extern int acpi_get_magic(device_t dev); -extern int acpi_set_magic(device_t dev, int m); -extern void * acpi_get_private(device_t dev); -extern int acpi_set_private(device_t dev, void *p); -extern ACPI_OBJECT_TYPE acpi_get_type(device_t dev); -struct resource * acpi_bus_alloc_gas(device_t dev, int *rid, - ACPI_GENERIC_ADDRESS *gas); +static __inline ACPI_HANDLE +acpi_get_handle(device_t dev) +{ + uintptr_t up; + + if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_HANDLE, &up)) + return (NULL); + return ((ACPI_HANDLE)up); +} + +static __inline int +acpi_set_handle(device_t dev, ACPI_HANDLE h) +{ + uintptr_t up; + + up = (uintptr_t)h; + return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_HANDLE, up)); +} + +static __inline int +acpi_get_magic(device_t dev) +{ + uintptr_t up; + + if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_MAGIC, &up)) + return(0); + return ((int)up); +} + +static __inline int +acpi_set_magic(device_t dev, int m) +{ + uintptr_t up; + + up = (uintptr_t)m; + return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_MAGIC, up)); +} + +static __inline void * +acpi_get_private(device_t dev) +{ + uintptr_t up; + + if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_PRIVATE, &up)) + return (NULL); + return ((void *)up); +} + +static __inline int +acpi_set_private(device_t dev, void *p) +{ + uintptr_t up; + + up = (uintptr_t)p; + return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_PRIVATE, up)); +} + +static __inline ACPI_OBJECT_TYPE +acpi_get_type(device_t dev) +{ + ACPI_HANDLE h; + ACPI_OBJECT_TYPE t; + + if ((h = acpi_get_handle(dev)) == NULL) + return (ACPI_TYPE_NOT_FOUND); + if (AcpiGetType(h, &t) != AE_OK) + return (ACPI_TYPE_NOT_FOUND); + return (t); +} #ifdef ACPI_DEBUGGER extern void acpi_EnterDebugger(void); @@ -197,6 +257,8 @@ extern ACPI_STATUS acpi_Disable(struct acpi_softc *sc); extern void acpi_UserNotify(const char *subsystem, ACPI_HANDLE h, uint8_t notify); +struct resource * acpi_bus_alloc_gas(device_t dev, int *rid, + ACPI_GENERIC_ADDRESS *gas); struct acpi_parse_resource_set { void (*set_init)(device_t dev, void *arg, void **context); ==== //depot/projects/power/sys/dev/ath/if_ath.c#9 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.47 2004/04/01 00:38:45 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.53 2004/04/03 00:06:23 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -270,7 +270,6 @@ TASK_INIT(&sc->sc_txtask, 0, ath_tx_proc, sc); TASK_INIT(&sc->sc_rxtask, 0, ath_rx_proc, sc); - TASK_INIT(&sc->sc_swbatask, 0, ath_beacon_proc, sc); TASK_INIT(&sc->sc_rxorntask, 0, ath_rxorn_proc, sc); TASK_INIT(&sc->sc_fataltask, 0, ath_fatal_proc, sc); TASK_INIT(&sc->sc_bmisstask, 0, ath_bmiss_proc, sc); @@ -288,7 +287,7 @@ ); if (sc->sc_txhalq == (u_int) -1) { if_printf(ifp, "unable to setup a data xmit queue!\n"); - goto bad; + goto bad2; } sc->sc_bhalq = ath_hal_setuptxqueue(ah, HAL_TX_QUEUE_BEACON, @@ -296,7 +295,7 @@ ); if (sc->sc_bhalq == (u_int) -1) { if_printf(ifp, "unable to setup a beacon xmit queue!\n"); - goto bad; + goto bad2; } ifp->if_softc = sc; @@ -317,7 +316,7 @@ | IEEE80211_C_HOSTAP /* hostap mode */ | IEEE80211_C_MONITOR /* monitor mode */ | IEEE80211_C_SHPREAMBLE /* short preamble supported */ - | IEEE80211_C_RCVMGT; /* recv management frames */ + ; /* get mac address from hardware */ ath_hal_getmac(ah, ic->ic_myaddr); @@ -326,7 +325,9 @@ ieee80211_ifattach(ifp); /* override default methods */ ic->ic_node_alloc = ath_node_alloc; + sc->sc_node_free = ic->ic_node_free; ic->ic_node_free = ath_node_free; + sc->sc_node_copy = ic->ic_node_copy; ic->ic_node_copy = ath_node_copy; ic->ic_node_getrssi = ath_node_getrssi; sc->sc_newstate = ic->ic_newstate; @@ -355,6 +356,8 @@ sc->sc_rx_th.wr_ihdr.it_present = htole32(ATH_RX_RADIOTAP_PRESENT); return 0; +bad2: + ath_desc_free(sc); bad: if (ah) ath_hal_detach(ah); @@ -432,6 +435,8 @@ DPRINTF(ATH_DEBUG_ANY, ("%s: invalid; ignored\n", __func__)); return; } + if (!ath_hal_intrpend(ah)) /* shared irq, not for us */ + return; if ((ifp->if_flags & (IFF_RUNNING|IFF_UP)) != (IFF_RUNNING|IFF_UP)) { DPRINTF(ATH_DEBUG_ANY, ("%s: if_flags 0x%x\n", __func__, ifp->if_flags)); @@ -476,8 +481,14 @@ taskqueue_enqueue(taskqueue_swi, &sc->sc_rxtask); if (status & HAL_INT_TX) taskqueue_enqueue(taskqueue_swi, &sc->sc_txtask); - if (status & HAL_INT_SWBA) - taskqueue_enqueue(taskqueue_swi, &sc->sc_swbatask); + if (status & HAL_INT_SWBA) { + /* + * Handle beacon transmission directly; deferring + * this is too slow to meet timing constraints + * under load. + */ + ath_beacon_proc(sc, 0); + } if (status & HAL_INT_BMISS) { sc->sc_stats.ast_bmiss++; taskqueue_enqueue(taskqueue_swi, &sc->sc_bmisstask); @@ -1507,14 +1518,18 @@ if (bf->bf_node == ni) bf->bf_node = NULL; } - free(ni, M_DEVBUF); + (*sc->sc_node_free)(ic, ni); } static void ath_node_copy(struct ieee80211com *ic, struct ieee80211_node *dst, const struct ieee80211_node *src) { - *(struct ath_node *)dst = *(const struct ath_node *)src; + struct ath_softc *sc = ic->ic_if.if_softc; + + memcpy(&dst[1], &src[1], + sizeof(struct ath_node) - sizeof(struct ieee80211_node)); + (*sc->sc_node_copy)(ic, dst, src); } ==== //depot/projects/power/sys/dev/ath/if_ath_pci.c#6 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.7 2004/03/17 17:50:27 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.8 2004/04/02 23:57:10 sam Exp $"); /* * PCI/Cardbus front-end for the Atheros Wireless LAN controller driver. ==== //depot/projects/power/sys/dev/ath/if_athioctl.h#4 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,7 +33,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/if_athioctl.h,v 1.5 2003/12/28 07:00:32 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athioctl.h,v 1.7 2004/04/02 23:57:10 sam Exp $ */ /* @@ -70,6 +70,8 @@ u_int32_t ast_tx_rts; /* tx frames with rts enabled */ u_int32_t ast_tx_cts; /* tx frames with cts enabled */ u_int32_t ast_tx_shortpre;/* tx frames with short preamble */ + u_int32_t ast_tx_altrate; /* tx frames with alternate rate */ + u_int32_t ast_tx_protect; /* tx frames with protection */ u_int32_t ast_rx_nombuf; /* rx setup failed 'cuz no mbuf */ u_int32_t ast_rx_busdma; /* rx setup failed for dma resrcs */ u_int32_t ast_rx_orn; /* rx failed 'cuz of desc overrun */ @@ -79,6 +81,7 @@ u_int32_t ast_rx_phyerr; /* rx failed 'cuz of PHY err */ u_int32_t ast_rx_phy[32]; /* rx PHY error per-code counts */ u_int32_t ast_rx_tooshort;/* rx discarded 'cuz frame too short */ + u_int32_t ast_rx_toobig; /* rx discarded 'cuz frame too large */ u_int32_t ast_rx_ctl; /* rx discarded 'cuz ctl frame */ u_int32_t ast_be_nombuf; /* beacon setup failed 'cuz no mbuf */ u_int32_t ast_per_cal; /* periodic calibration calls */ ==== //depot/projects/power/sys/dev/ath/if_athvar.h#5 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,7 +33,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.11 2004/04/01 00:38:45 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.14 2004/04/03 03:33:02 sam Exp $ */ /* @@ -93,6 +93,11 @@ struct ieee80211com sc_ic; /* IEEE 802.11 common */ int (*sc_newstate)(struct ieee80211com *, enum ieee80211_state, int); + void (*sc_node_free)(struct ieee80211com *, + struct ieee80211_node *); + void (*sc_node_copy)(struct ieee80211com *, + struct ieee80211_node *, + const struct ieee80211_node *); device_t sc_dev; bus_space_tag_t sc_st; /* bus space tag */ bus_space_handle_t sc_sh; /* bus space handle */ @@ -147,7 +152,6 @@ u_int sc_bhalq; /* HAL q for outgoing beacons */ struct ath_buf *sc_bcbuf; /* beacon buffer */ struct ath_buf *sc_bufptr; /* allocated buffer ptr */ - struct task sc_swbatask; /* swba int processing */ struct task sc_bmisstask; /* bmiss int processing */ struct callout sc_cal_ch; /* callout handle for cals */ ==== //depot/projects/power/sys/dev/fb/vga.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/fb/vga.c,v 1.28 2003/08/24 17:46:06 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fb/vga.c,v 1.29 2004/04/03 15:28:25 nectar Exp $"); #include "opt_vga.h" #include "opt_fb.h" @@ -2854,7 +2854,8 @@ u_char *g; u_char *b; - if ((base < 0) || (base >= 256) || (base + count > 256)) + if (count < 0 || base < 0 || count > 256 || base > 256 || + base + count > 256) return EINVAL; r = malloc(count*3, M_DEVBUF, M_WAITOK); @@ -2885,7 +2886,8 @@ u_char *b; int err; - if ((base < 0) || (base >= 256) || (base + count > 256)) + if (count < 0 || base < 0 || count > 256 || base > 256 || + base + count > 256) return EINVAL; r = malloc(count*3, M_DEVBUF, M_WAITOK); ==== //depot/projects/power/sys/dev/kbd/kbd.c#5 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/kbd/kbd.c,v 1.39 2004/02/21 21:10:43 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/kbd/kbd.c,v 1.41 2004/04/02 16:41:16 des Exp $"); #include "opt_kbd.h" @@ -56,7 +56,7 @@ } genkbd_softc_t; static SLIST_HEAD(, keyboard_driver) keyboard_drivers = - SLIST_HEAD_INITIALIZER(keyboard_drivers); + SLIST_HEAD_INITIALIZER(keyboard_drivers); SET_DECLARE(kbddriver_set, const keyboard_driver_t); @@ -94,14 +94,14 @@ new_kbd = malloc(sizeof(*new_kbd)*newsize, M_DEVBUF, M_NOWAIT|M_ZERO); if (new_kbd == NULL) { splx(s); - return ENOMEM; + return (ENOMEM); } new_kbdsw = malloc(sizeof(*new_kbdsw)*newsize, M_DEVBUF, M_NOWAIT|M_ZERO); if (new_kbdsw == NULL) { free(new_kbd, M_DEVBUF); splx(s); - return ENOMEM; + return (ENOMEM); } bcopy(keyboard, new_kbd, sizeof(*keyboard)*keyboards); bcopy(kbdsw, new_kbdsw, sizeof(*kbdsw)*keyboards); @@ -117,7 +117,7 @@ if (bootverbose) printf("kbd: new array size %d\n", keyboards); - return 0; + return (0); } /* @@ -166,9 +166,9 @@ kbd_add_driver(keyboard_driver_t *driver) { if (SLIST_NEXT(driver, link)) - return EINVAL; + return (EINVAL); SLIST_INSERT_HEAD(&keyboard_drivers, driver, link); - return 0; + return (0); } int @@ -176,7 +176,7 @@ { SLIST_REMOVE(&keyboard_drivers, driver, keyboard_driver, link); SLIST_NEXT(driver, link) = NULL; - return 0; + return (0); } /* register a keyboard and associate it with a function table */ @@ -193,7 +193,7 @@ } if (index >= keyboards) { if (kbd_realloc_array()) - return -1; + return (-1); } kbd->kb_index = index; @@ -208,7 +208,7 @@ if (strcmp(p->name, kbd->kb_name) == 0) { keyboard[index] = kbd; kbdsw[index] = p->kbdsw; - return index; + return (index); } } SET_FOREACH(list, kbddriver_set) { @@ -216,11 +216,11 @@ if (strcmp(p->name, kbd->kb_name) == 0) { keyboard[index] = kbd; kbdsw[index] = p->kbdsw; - return index; + return (index); } } - return -1; + return (-1); } int @@ -230,21 +230,21 @@ int s; if ((kbd->kb_index < 0) || (kbd->kb_index >= keyboards)) - return ENOENT; + return (ENOENT); if (keyboard[kbd->kb_index] != kbd) - return ENOENT; + return (ENOENT); s = spltty(); if (KBD_IS_BUSY(kbd)) { error = (*kbd->kb_callback.kc_func)(kbd, KBDIO_UNLOADING, - kbd->kb_callback.kc_arg); + kbd->kb_callback.kc_arg); if (error) { splx(s); - return error; + return (error); } if (KBD_IS_BUSY(kbd)) { splx(s); - return EBUSY; + return (EBUSY); } } KBD_INVALID(kbd); @@ -252,7 +252,7 @@ kbdsw[kbd->kb_index] = NULL; splx(s); - return 0; + return (0); } /* find a funciton table by the driver name */ @@ -264,15 +264,15 @@ SLIST_FOREACH(p, &keyboard_drivers, link) { if (strcmp(p->name, driver) == 0) - return p->kbdsw; + return (p->kbdsw); } SET_FOREACH(list, kbddriver_set) { p = *list; if (strcmp(p->name, driver) == 0) - return p->kbdsw; + return (p->kbdsw); } - return NULL; + return (NULL); } /* @@ -297,9 +297,9 @@ continue; if ((unit != -1) && (keyboard[i]->kb_unit != unit)) continue; - return i; + return (i); } - return -1; + return (-1); } /* allocate a keyboard */ @@ -311,14 +311,14 @@ int s; if (func == NULL) - return -1; + return (-1); s = spltty(); index = kbd_find_keyboard(driver, unit); if (index >= 0) { if (KBD_IS_BUSY(keyboard[index])) { splx(s); - return -1; + return (-1); } keyboard[index]->kb_token = id; KBD_BUSY(keyboard[index]); @@ -327,7 +327,7 @@ (*kbdsw[index]->clear_state)(keyboard[index]); } splx(s); - return index; + return (index); } int @@ -350,7 +350,7 @@ error = 0; } splx(s); - return error; + return (error); } int @@ -373,7 +373,7 @@ error = 0; } splx(s); - return error; + return (error); } /* get a keyboard structure */ @@ -381,12 +381,12 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Apr 3 15:38:39 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B0B3B16A4D0; Sat, 3 Apr 2004 15:38:38 -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 8B02A16A4CE for ; Sat, 3 Apr 2004 15:38:38 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6CED543D62 for ; Sat, 3 Apr 2004 15:38:38 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i33NccGe003718 for ; Sat, 3 Apr 2004 15:38:38 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i33Nccsn003715 for perforce@freebsd.org; Sat, 3 Apr 2004 15:38:38 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sat, 3 Apr 2004 15:38:38 -0800 (PST) Message-Id: <200404032338.i33Nccsn003715@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50294 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, 03 Apr 2004 23:38:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=50294 Change 50294 by marcel@marcel_nfs on 2004/04/03 15:37:45 Support the boot_gdb environment variable for selecting GDB as the default backend. Affected files ... .. //depot/projects/gdb/sys/alpha/alpha/machdep.c#7 edit Differences ... ==== //depot/projects/gdb/sys/alpha/alpha/machdep.c#7 (text+ko) ==== @@ -1022,6 +1022,8 @@ /* * Initialize debuggers, and break into them if appropriate. */ + if (getenv("boot_gdb") != NULL) + boothowto |= RB_GDB; kdb_init(); #ifdef KDB From owner-p4-projects@FreeBSD.ORG Sat Apr 3 15:57:09 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A69B16A4D0; Sat, 3 Apr 2004 15:57:09 -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 BF17916A4CE for ; Sat, 3 Apr 2004 15:57:08 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B45EC43D55 for ; Sat, 3 Apr 2004 15:57:08 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i33Nv8Ge007800 for ; Sat, 3 Apr 2004 15:57:08 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i33Nv1jU007797 for perforce@freebsd.org; Sat, 3 Apr 2004 15:57:01 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sat, 3 Apr 2004 15:57:01 -0800 (PST) Message-Id: <200404032357.i33Nv1jU007797@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50296 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, 03 Apr 2004 23:57:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=50296 Change 50296 by marcel@marcel_nfs on 2004/04/03 15:56:25 IFC @50295 Affected files ... .. //depot/projects/gdb/contrib/com_err/ChangeLog#2 integrate .. //depot/projects/gdb/contrib/com_err/Makefile.am#2 integrate .. //depot/projects/gdb/contrib/com_err/Makefile.in#2 integrate .. //depot/projects/gdb/contrib/com_err/com_err.c#2 integrate .. //depot/projects/gdb/contrib/com_err/com_err.h#2 integrate .. //depot/projects/gdb/contrib/com_err/com_right.h#2 integrate .. //depot/projects/gdb/contrib/com_err/compile_et.c#2 integrate .. //depot/projects/gdb/contrib/com_err/compile_et.h#2 integrate .. //depot/projects/gdb/contrib/com_err/error.c#2 integrate .. //depot/projects/gdb/contrib/com_err/lex.h#1 branch .. //depot/projects/gdb/contrib/com_err/lex.l#2 integrate .. //depot/projects/gdb/contrib/com_err/parse.y#2 integrate .. //depot/projects/gdb/contrib/com_err/roken_rename.h#2 integrate .. //depot/projects/gdb/crypto/heimdal/ChangeLog#2 integrate .. //depot/projects/gdb/crypto/heimdal/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/NEWS#2 integrate .. //depot/projects/gdb/crypto/heimdal/TODO#2 delete .. //depot/projects/gdb/crypto/heimdal/acinclude.m4#2 delete .. //depot/projects/gdb/crypto/heimdal/aclocal.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/admin/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/admin/ktutil.cat8#2 delete .. //depot/projects/gdb/crypto/heimdal/appl/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/afsutil/ChangeLog#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/afsutil/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/afsutil/afslog.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/ftp/ChangeLog#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/ftp/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/ftp/common/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/ftp/ftp/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/ftp/ftp/ftp.1#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/ftp/ftp/ftp.cat1#2 delete .. //depot/projects/gdb/crypto/heimdal/appl/ftp/ftp/gssapi.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/ftp/ftp/main.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/ftp/ftp/security.h#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/ftp/ftpd/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/ftp/ftpd/ftpd.8#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/ftp/ftpd/ftpd.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/ftp/ftpd/ftpd.cat8#2 delete .. //depot/projects/gdb/crypto/heimdal/appl/ftp/ftpd/ftpusers.cat5#2 delete .. //depot/projects/gdb/crypto/heimdal/appl/kf/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/kf/kf.cat1#2 delete .. //depot/projects/gdb/crypto/heimdal/appl/kf/kfd.cat8#2 delete .. //depot/projects/gdb/crypto/heimdal/appl/login/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/push/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/push/pfrom.cat1#2 delete .. //depot/projects/gdb/crypto/heimdal/appl/push/push.cat8#2 delete .. //depot/projects/gdb/crypto/heimdal/appl/rcp/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/rsh/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/rsh/rshd.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/su/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/telnet/ChangeLog#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/telnet/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/telnet/libtelnet/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/telnet/telnet/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/telnet/telnet/main.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/telnet/telnet/telnet.cat1#2 delete .. //depot/projects/gdb/crypto/heimdal/appl/telnet/telnetd/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/telnet/telnetd/telnetd.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/appl/telnet/telnetd/telnetd.cat8#2 delete .. //depot/projects/gdb/crypto/heimdal/appl/test/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/ChangeLog#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/Makefile.am.common#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/aix.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/auth-modules.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/broken-getaddrinfo.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/broken-getnameinfo.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/broken-glob.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/broken-realloc.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/broken-snprintf.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/c-attribute.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/c-function.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/capabilities.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/check-compile-et.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/check-declaration.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/check-getpwnam_r-posix.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/check-man.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/check-netinet-ip-and-tcp.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/check-type-extra.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/check-x.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/check-xau.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/find-func-no-libs.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/find-func-no-libs2.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/find-func.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/find-if-not-broken.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/have-pragma-weak.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/have-struct-field.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/have-type.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/have-types.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/krb-bigendian.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/krb-func-getcwd-broken.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/krb-func-getlogin.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/krb-ipv6.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/krb-prog-ln-s.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/krb-prog-ranlib.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/krb-prog-yacc.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/krb-readline.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/krb-struct-spwd.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/krb-struct-winsize.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/krb-sys-aix.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/krb-sys-nextstep.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/krb-version.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/mips-abi.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/need-proto.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/osfc2.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/proto-compat.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/retsigtype.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/roken-frag.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/roken.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/test-package.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/cf/wflags.m4#2 integrate .. //depot/projects/gdb/crypto/heimdal/config.guess#2 integrate .. //depot/projects/gdb/crypto/heimdal/config.sub#2 integrate .. //depot/projects/gdb/crypto/heimdal/configure#2 integrate .. //depot/projects/gdb/crypto/heimdal/configure.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/doc/Makefile.am#2 integrate .. //depot/projects/gdb/crypto/heimdal/doc/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/doc/ack.texi#2 integrate .. //depot/projects/gdb/crypto/heimdal/doc/setup.texi#2 integrate .. //depot/projects/gdb/crypto/heimdal/include/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/include/config.h.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/include/kadm5/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/install-sh#2 integrate .. //depot/projects/gdb/crypto/heimdal/kadmin/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/kadmin/kadmin.cat8#2 delete .. //depot/projects/gdb/crypto/heimdal/kadmin/kadmind.cat8#2 delete .. //depot/projects/gdb/crypto/heimdal/kdc/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/kdc/config.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/kdc/connect.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/kdc/hprop.cat8#2 delete .. //depot/projects/gdb/crypto/heimdal/kdc/hpropd.cat8#2 delete .. //depot/projects/gdb/crypto/heimdal/kdc/kaserver.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/kdc/kdc.8#2 integrate .. //depot/projects/gdb/crypto/heimdal/kdc/kdc.cat8#2 delete .. //depot/projects/gdb/crypto/heimdal/kdc/kdc_locl.h#2 integrate .. //depot/projects/gdb/crypto/heimdal/kdc/kerberos4.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/kdc/kerberos5.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/kdc/kstash.cat8#2 delete .. //depot/projects/gdb/crypto/heimdal/kdc/string2key.cat8#2 delete .. //depot/projects/gdb/crypto/heimdal/kpasswd/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/kpasswd/kpasswd.cat1#2 delete .. //depot/projects/gdb/crypto/heimdal/kpasswd/kpasswdd.cat8#2 delete .. //depot/projects/gdb/crypto/heimdal/kuser/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/kuser/kdestroy.cat1#2 delete .. //depot/projects/gdb/crypto/heimdal/kuser/kgetcred.cat1#2 delete .. //depot/projects/gdb/crypto/heimdal/kuser/kinit.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/kuser/kinit.cat1#2 delete .. //depot/projects/gdb/crypto/heimdal/kuser/klist.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/kuser/klist.cat1#2 delete .. //depot/projects/gdb/crypto/heimdal/lib/45/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/asn1/Makefile.am#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/asn1/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/asn1/der_free.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/asn1/der_length.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/asn1/der_locl.h#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/asn1/gen_free.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/asn1/gen_length.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/auth/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/auth/afskauthlib/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/auth/pam/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/auth/sia/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/com_err/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/8003.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/ChangeLog#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/Makefile.am#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/accept_sec_context.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/acquire_cred.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/add_cred.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/arcfour.c#1 branch .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/arcfour.h#1 branch .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/context_time.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/decapsulate.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/encapsulate.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/get_mic.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/gssapi_locl.h#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/init_sec_context.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/release_cred.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/unwrap.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/verify_mic.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/gssapi/wrap.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/hdb/Makefile.am#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/hdb/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/hdb/db3.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/hdb/hdb-ldap.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/hdb/hdb_locl.h#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/kadm5/ChangeLog#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/kadm5/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/kadm5/chpass_s.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/kadm5/init_c.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/kadm5/ipropd_slave.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/kadm5/truncate_log.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/kafs/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/kafs/kafs.cat3#2 delete .. //depot/projects/gdb/crypto/heimdal/lib/krb5/Makefile.am#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/config_file.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/crypto.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/eai_to_heim_errno.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/fcache.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/get_cred.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/get_for_creds.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/get_in_tkt.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/krb5-private.h#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/krb5-protos.h#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/krb5.conf.5#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/krb5.h#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/mcache.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/mk_req_ext.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/mk_safe.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/parse-name-test.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/principal.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/rd_req.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/store.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/ticket.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/transited.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/krb5/verify_krb5_conf.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/roken/ChangeLog#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/roken/Makefile.am#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/roken/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/roken/config.h.in#2 delete .. //depot/projects/gdb/crypto/heimdal/lib/roken/gai_strerror.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/roken/ndbm_wrap.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/roken/roken-common.h#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/sl/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/vers/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/lib/vers/print_version.c#2 integrate .. //depot/projects/gdb/crypto/heimdal/ltconfig#2 integrate .. //depot/projects/gdb/crypto/heimdal/ltmain.sh#2 integrate .. //depot/projects/gdb/crypto/heimdal/missing#2 integrate .. //depot/projects/gdb/crypto/heimdal/mkinstalldirs#2 integrate .. //depot/projects/gdb/crypto/heimdal/tools/Makefile.in#2 integrate .. //depot/projects/gdb/crypto/heimdal/tools/krb5-config.cat1#2 delete .. //depot/projects/gdb/sbin/growfs/Makefile#4 integrate .. //depot/projects/gdb/sbin/growfs/growfs.c#4 integrate .. //depot/projects/gdb/sys/alpha/include/pmap.h#3 integrate .. //depot/projects/gdb/sys/amd64/amd64/pmap.c#5 integrate .. //depot/projects/gdb/sys/amd64/include/pmap.h#3 integrate .. //depot/projects/gdb/sys/dev/uart/uart_bus_ebus.c#2 integrate .. //depot/projects/gdb/sys/i386/i386/db_interface.c#6 integrate .. //depot/projects/gdb/sys/i386/include/cpufunc.h#4 integrate .. //depot/projects/gdb/sys/pci/agp_ali.c#2 integrate .. //depot/projects/gdb/sys/pci/agp_amd.c#3 integrate .. //depot/projects/gdb/sys/pci/agp_i810.c#3 integrate .. //depot/projects/gdb/sys/pci/agp_intel.c#4 integrate .. //depot/projects/gdb/sys/pci/agp_nvidia.c#2 integrate .. //depot/projects/gdb/sys/pci/agp_sis.c#2 integrate .. //depot/projects/gdb/sys/pci/agp_via.c#2 integrate .. //depot/projects/gdb/sys/ufs/ffs/fs.h#2 integrate Differences ... ==== //depot/projects/gdb/contrib/com_err/ChangeLog#2 (text+ko) ==== @@ -1,3 +1,63 @@ +2002-08-20 Johan Danielsson + + * compile_et.c: don't add comma after last enum member + +2002-08-12 Johan Danielsson + + * compile_et.c: just declare er_list directly instead of including + com_right in generated header files + +2002-03-11 Assar Westerlund + + * Makefile.am (libcom_err_la_LDFLAGS): set version to 2:1:1 + +2002-03-10 Assar Westerlund + + * com_err.c (error_message): do not call strerror with a negative error + +2001-05-17 Assar Westerlund + + * Makefile.am: bump version to 2:0:1 + +2001-05-11 Assar Westerlund + + * com_err.h (add_to_error_table): add prototype + * com_err.c (add_to_error_table): new function, from Derrick J + Brashear + +2001-05-06 Assar Westerlund + + * com_err.h: add printf formats for gcc + +2001-02-28 Johan Danielsson + + * error.c (initialize_error_table_r): put table at end of the list + +2001-02-15 Assar Westerlund + + * com_err.c (default_proc): add printf attributes + +2000-08-16 Assar Westerlund + + * Makefile.am: bump version to 1:1:0 + +2000-07-31 Assar Westerlund + + * com_right.h (initialize_error_table_r): fix prototype + +2000-04-05 Assar Westerlund + + * com_err.c (_et_lit): explicitly initialize it to NULL to make + dyld on Darwin/MacOS X happy + +2000-01-16 Assar Westerlund + + * com_err.h: remove __P definition (now in com_right.h). this + file always includes com_right.h so that's where it should reside. + * com_right.h: moved __P here and added it to the function + prototypes + * com_err.h (error_table_name): add __P + 1999-07-03 Assar Westerlund * parse.y (statement): use asprintf ==== //depot/projects/gdb/contrib/com_err/Makefile.am#2 (text+ko) ==== @@ -1,11 +1,11 @@ -# $Id: Makefile.am,v 1.23 1999/04/09 18:26:55 assar Exp $ +# $Id: Makefile.am,v 1.27 2002/03/10 23:52:41 assar Exp $ include $(top_srcdir)/Makefile.am.common YFLAGS = -d lib_LTLIBRARIES = libcom_err.la -libcom_err_la_LDFLAGS = -version-info 1:0:0 +libcom_err_la_LDFLAGS = -version-info 2:1:1 bin_PROGRAMS = compile_et @@ -17,7 +17,7 @@ CLEANFILES = lex.c parse.c parse.h -$(compile_et_OBJECTS): parse.h +$(compile_et_OBJECTS): parse.h parse.c ## XXX broken automake 1.4s compile_et_LDADD = \ $(LIB_roken) \ ==== //depot/projects/gdb/contrib/com_err/Makefile.in#2 (text+ko) ==== @@ -1,6 +1,8 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am +# Makefile.in generated by automake 1.7.9 from Makefile.am. +# @configure_input@ -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -10,173 +12,294 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -# $Id: Makefile.am,v 1.23 1999/04/09 18:26:55 assar Exp $ +@SET_MAKE@ +# $Id: Makefile.am,v 1.27 2002/03/10 23:52:41 assar Exp $ -# $Id: Makefile.am.common,v 1.3 1999/04/01 14:58:43 joda Exp $ +# $Id: Makefile.am.common,v 1.5 2002/05/19 18:35:37 joda Exp $ +# $Id: Makefile.am.common,v 1.37.2.2 2003/10/13 13:15:39 joda Exp $ -# $Id: Makefile.am.common,v 1.12 1999/07/28 00:54:29 assar Exp $ - - -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ - top_builddir = ../.. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ -AFS_EXTRA_LD = @AFS_EXTRA_LD@ +ACLOCAL = @ACLOCAL@ +AIX4_FALSE = @AIX4_FALSE@ +AIX4_TRUE = @AIX4_TRUE@ +AIX_DYNAMIC_AFS_FALSE = @AIX_DYNAMIC_AFS_FALSE@ +AIX_DYNAMIC_AFS_TRUE = @AIX_DYNAMIC_AFS_TRUE@ AIX_EXTRA_KAFS = @AIX_EXTRA_KAFS@ +AIX_FALSE = @AIX_FALSE@ +AIX_TRUE = @AIX_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CANONICAL_HOST = @CANONICAL_HOST@ CATMAN = @CATMAN@ CATMANEXT = @CATMANEXT@ +CATMAN_FALSE = @CATMAN_FALSE@ +CATMAN_TRUE = @CATMAN_TRUE@ CC = @CC@ +CFLAGS = @CFLAGS@ +COMPILE_ET = @COMPILE_ET@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ DBLIB = @DBLIB@ +DCE_FALSE = @DCE_FALSE@ +DCE_TRUE = @DCE_TRUE@ +DEFS = @DEFS@ +DIR_com_err = @DIR_com_err@ +DIR_des = @DIR_des@ +DIR_roken = @DIR_roken@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_LIB45 = @EXTRA_LIB45@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GROFF = @GROFF@ -INCLUDE_ = @INCLUDE_@ -LD = @LD@ +HAVE_DB1_FALSE = @HAVE_DB1_FALSE@ +HAVE_DB1_TRUE = @HAVE_DB1_TRUE@ +HAVE_DB3_FALSE = @HAVE_DB3_FALSE@ +HAVE_DB3_TRUE = @HAVE_DB3_TRUE@ +HAVE_DLOPEN_FALSE = @HAVE_DLOPEN_FALSE@ +HAVE_DLOPEN_TRUE = @HAVE_DLOPEN_TRUE@ +HAVE_NDBM_FALSE = @HAVE_NDBM_FALSE@ +HAVE_NDBM_TRUE = @HAVE_NDBM_TRUE@ +HAVE_OPENSSL_FALSE = @HAVE_OPENSSL_FALSE@ +HAVE_OPENSSL_TRUE = @HAVE_OPENSSL_TRUE@ +HAVE_X_FALSE = @HAVE_X_FALSE@ +HAVE_X_TRUE = @HAVE_X_TRUE@ +INCLUDES_roken = @INCLUDES_roken@ +INCLUDE_des = @INCLUDE_des@ +INCLUDE_hesiod = @INCLUDE_hesiod@ + +INCLUDE_krb4 = @INCLUDE_krb4@ + +INCLUDE_openldap = @INCLUDE_openldap@ + +INCLUDE_readline = @INCLUDE_readline@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +IRIX_FALSE = @IRIX_FALSE@ +IRIX_TRUE = @IRIX_TRUE@ +KRB4_FALSE = @KRB4_FALSE@ +KRB4_TRUE = @KRB4_TRUE@ +KRB5_FALSE = @KRB5_FALSE@ +KRB5_TRUE = @KRB5_TRUE@ +LDFLAGS = @LDFLAGS@ LEX = @LEX@ + +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ -LIB_ = @LIB_@ LIB_AUTH_SUBDIRS = @LIB_AUTH_SUBDIRS@ +LIB_NDBM = @LIB_NDBM@ +LIB_XauFileName = @LIB_XauFileName@ + +LIB_XauReadAuth = @LIB_XauReadAuth@ +LIB_XauWriteAuth = @LIB_XauWriteAuth@ +LIB_bswap16 = @LIB_bswap16@ +LIB_bswap32 = @LIB_bswap32@ +LIB_com_err = @LIB_com_err@ +LIB_com_err_a = @LIB_com_err_a@ +LIB_com_err_so = @LIB_com_err_so@ +LIB_crypt = @LIB_crypt@ +LIB_db_create = @LIB_db_create@ +LIB_dbm_firstkey = @LIB_dbm_firstkey@ +LIB_dbopen = @LIB_dbopen@ +LIB_des = @LIB_des@ +LIB_des_a = @LIB_des_a@ +LIB_des_appl = @LIB_des_appl@ +LIB_des_so = @LIB_des_so@ +LIB_dlopen = @LIB_dlopen@ +LIB_dn_expand = @LIB_dn_expand@ +LIB_el_init = @LIB_el_init@ +LIB_freeaddrinfo = @LIB_freeaddrinfo@ +LIB_gai_strerror = @LIB_gai_strerror@ +LIB_getaddrinfo = @LIB_getaddrinfo@ +LIB_gethostbyname = @LIB_gethostbyname@ +LIB_gethostbyname2 = @LIB_gethostbyname2@ +LIB_getnameinfo = @LIB_getnameinfo@ +LIB_getpwnam_r = @LIB_getpwnam_r@ +LIB_getsockopt = @LIB_getsockopt@ +LIB_hesiod = @LIB_hesiod@ +LIB_hstrerror = @LIB_hstrerror@ LIB_kdb = @LIB_kdb@ +LIB_krb4 = @LIB_krb4@ +LIB_krb_disable_debug = @LIB_krb_disable_debug@ +LIB_krb_enable_debug = @LIB_krb_enable_debug@ +LIB_krb_get_kdc_time_diff = @LIB_krb_get_kdc_time_diff@ +LIB_krb_get_our_ip_for_realm = @LIB_krb_get_our_ip_for_realm@ +LIB_krb_kdctimeofday = @LIB_krb_kdctimeofday@ +LIB_loadquery = @LIB_loadquery@ +LIB_logout = @LIB_logout@ +LIB_logwtmp = @LIB_logwtmp@ +LIB_openldap = @LIB_openldap@ +LIB_openpty = @LIB_openpty@ LIB_otp = @LIB_otp@ +LIB_pidfile = @LIB_pidfile@ +LIB_readline = @LIB_readline@ +LIB_res_nsearch = @LIB_res_nsearch@ +LIB_res_search = @LIB_res_search@ LIB_roken = @LIB_roken@ LIB_security = @LIB_security@ +LIB_setsockopt = @LIB_setsockopt@ +LIB_socket = @LIB_socket@ +LIB_syslog = @LIB_syslog@ +LIB_tgetent = @LIB_tgetent@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ -MAKE_X_PROGS_BIN_PROGS = @MAKE_X_PROGS_BIN_PROGS@ -MAKE_X_PROGS_BIN_SCRPTS = @MAKE_X_PROGS_BIN_SCRPTS@ -MAKE_X_PROGS_LIBEXEC_PROGS = @MAKE_X_PROGS_LIBEXEC_PROGS@ NEED_WRITEAUTH_FALSE = @NEED_WRITEAUTH_FALSE@ NEED_WRITEAUTH_TRUE = @NEED_WRITEAUTH_TRUE@ -NM = @NM@ NROFF = @NROFF@ OBJEXT = @OBJEXT@ +OTP_FALSE = @OTP_FALSE@ +OTP_TRUE = @OTP_TRUE@ PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ VERSION = @VERSION@ VOID_RETSIGTYPE = @VOID_RETSIGTYPE@ WFLAGS = @WFLAGS@ WFLAGS_NOIMPLICITINT = @WFLAGS_NOIMPLICITINT@ WFLAGS_NOUNUSED = @WFLAGS_NOUNUSED@ +X_CFLAGS = @X_CFLAGS@ +X_EXTRA_LIBS = @X_EXTRA_LIBS@ +X_LIBS = @X_LIBS@ +X_PRE_LIBS = @X_PRE_LIBS@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__leading_dot = @am__leading_dot@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +do_roken_rename_FALSE = @do_roken_rename_FALSE@ +do_roken_rename_TRUE = @do_roken_rename_TRUE@ +dpagaix_cflags = @dpagaix_cflags@ +dpagaix_ldadd = @dpagaix_ldadd@ +dpagaix_ldflags = @dpagaix_ldflags@ +el_compat_FALSE = @el_compat_FALSE@ +el_compat_TRUE = @el_compat_TRUE@ +exec_prefix = @exec_prefix@ +have_err_h_FALSE = @have_err_h_FALSE@ +have_err_h_TRUE = @have_err_h_TRUE@ +have_fnmatch_h_FALSE = @have_fnmatch_h_FALSE@ +have_fnmatch_h_TRUE = @have_fnmatch_h_TRUE@ +have_glob_h_FALSE = @have_glob_h_FALSE@ +have_glob_h_TRUE = @have_glob_h_TRUE@ +have_ifaddrs_h_FALSE = @have_ifaddrs_h_FALSE@ +have_ifaddrs_h_TRUE = @have_ifaddrs_h_TRUE@ +have_vis_h_FALSE = @have_vis_h_FALSE@ +have_vis_h_TRUE = @have_vis_h_TRUE@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ -AUTOMAKE_OPTIONS = foreign no-dependencies +SUFFIXES = .et .h .x .1 .3 .5 .8 .cat1 .cat3 .cat5 .cat8 -SUFFIXES = .et .h .1 .3 .5 .8 .cat1 .cat3 .cat5 .cat8 .x +INCLUDES = -I$(top_builddir)/include $(INCLUDES_roken) -INCLUDES = -I$(top_builddir)/include +@do_roken_rename_TRUE@ROKEN_RENAME = -DROKEN_RENAME -AM_CFLAGS = $(WFLAGS) +AM_CFLAGS = $(WFLAGS) -COMPILE_ET = $(top_builddir)/lib/com_err/compile_et +CP = cp buildinclude = $(top_builddir)/include - -LIB_XauReadAuth = @LIB_XauReadAuth@ -LIB_crypt = @LIB_crypt@ -LIB_dbm_firstkey = @LIB_dbm_firstkey@ -LIB_dbopen = @LIB_dbopen@ -LIB_dlopen = @LIB_dlopen@ -LIB_dn_expand = @LIB_dn_expand@ -LIB_el_init = @LIB_el_init@ LIB_getattr = @LIB_getattr@ -LIB_gethostbyname = @LIB_gethostbyname@ LIB_getpwent_r = @LIB_getpwent_r@ -LIB_getpwnam_r = @LIB_getpwnam_r@ -LIB_getsockopt = @LIB_getsockopt@ -LIB_logout = @LIB_logout@ -LIB_logwtmp = @LIB_logwtmp@ LIB_odm_initialize = @LIB_odm_initialize@ -LIB_readline = @LIB_readline@ -LIB_res_search = @LIB_res_search@ LIB_setpcred = @LIB_setpcred@ -LIB_setsockopt = @LIB_setsockopt@ -LIB_socket = @LIB_socket@ -LIB_syslog = @LIB_syslog@ -LIB_tgetent = @LIB_tgetent@ HESIODLIB = @HESIODLIB@ HESIODINCLUDE = @HESIODINCLUDE@ -INCLUDE_hesiod = @INCLUDE_hesiod@ -LIB_hesiod = @LIB_hesiod@ -INCLUDE_krb4 = @INCLUDE_krb4@ -LIB_krb4 = @LIB_krb4@ +NROFF_MAN = groff -mandoc -Tascii -INCLUDE_readline = @INCLUDE_readline@ +LIB_kafs = $(top_builddir)/lib/kafs/libkafs.la $(AIX_EXTRA_KAFS) -LEXLIB = @LEXLIB@ - -cat1dir = $(mandir)/cat1 -cat3dir = $(mandir)/cat3 -cat5dir = $(mandir)/cat5 -cat8dir = $(mandir)/cat8 - -MANRX = \(.*\)\.\([0-9]\) -CATSUFFIX = @CATSUFFIX@ - -NROFF_MAN = groff -mandoc -Tascii - -@KRB4_TRUE@LIB_kafs = $(top_builddir)/lib/kafs/libkafs.la $(AIX_EXTRA_KAFS) +@KRB5_TRUE@LIB_krb5 = $(top_builddir)/lib/krb5/libkrb5.la \ +@KRB5_TRUE@ $(top_builddir)/lib/asn1/libasn1.la -@KRB5_TRUE@LIB_krb5 = $(top_builddir)/lib/krb5/libkrb5.la $(top_builddir)/lib/asn1/libasn1.la @KRB5_TRUE@LIB_gssapi = $(top_builddir)/lib/gssapi/libgssapi.la -CHECK_LOCAL = $(PROGRAMS) +@DCE_TRUE@LIB_kdfs = $(top_builddir)/lib/kdfs/libkdfs.la YFLAGS = -d lib_LTLIBRARIES = libcom_err.la -libcom_err_la_LDFLAGS = -version-info 1:0:0 +libcom_err_la_LDFLAGS = -version-info 2:1:1 bin_PROGRAMS = compile_et @@ -188,117 +311,168 @@ CLEANFILES = lex.c parse.c parse.h -compile_et_LDADD = $(LIB_roken) $(LEXLIB) +compile_et_LDADD = \ + $(LIB_roken) \ + $(LEXLIB) +subdir = lib/com_err +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../../include/config.h -CONFIG_CLEAN_FILES = -LTLIBRARIES = $(lib_LTLIBRARIES) +CONFIG_HEADER = $(top_builddir)/include/config.h +CONFIG_CLEAN_FILES = +LTLIBRARIES = $(lib_LTLIBRARIES) +libcom_err_la_LIBADD = +am_libcom_err_la_OBJECTS = error.lo com_err.lo +libcom_err_la_OBJECTS = $(am_libcom_err_la_OBJECTS) +bin_PROGRAMS = compile_et$(EXEEXT) +PROGRAMS = $(bin_PROGRAMS) -DEFS = @DEFS@ -I. -I$(srcdir) -I../../include -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -X_CFLAGS = @X_CFLAGS@ -X_LIBS = @X_LIBS@ -X_EXTRA_LIBS = @X_EXTRA_LIBS@ -X_PRE_LIBS = @X_PRE_LIBS@ -libcom_err_la_LIBADD = -libcom_err_la_OBJECTS = error.lo com_err.lo -bin_PROGRAMS = compile_et$(EXEEXT) -PROGRAMS = $(bin_PROGRAMS) +am_compile_et_OBJECTS = compile_et.$(OBJEXT) parse.$(OBJEXT) \ + lex.$(OBJEXT) +compile_et_OBJECTS = $(am_compile_et_OBJECTS) +compile_et_DEPENDENCIES = +compile_et_LDFLAGS = -compile_et_OBJECTS = compile_et.$(OBJEXT) parse.$(OBJEXT) lex.$(OBJEXT) -compile_et_DEPENDENCIES = -compile_et_LDFLAGS = -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include +depcomp = +am__depfiles_maybe = +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ + $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -HEADERS = $(include_HEADERS) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS) +LTLEXCOMPILE = $(LIBTOOL) --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS) +YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS) +LTYACCCOMPILE = $(LIBTOOL) --mode=compile $(YACC) $(YFLAGS) $(AM_YFLAGS) +DIST_SOURCES = $(libcom_err_la_SOURCES) $(compile_et_SOURCES) +HEADERS = $(include_HEADERS) -DIST_COMMON = ChangeLog Makefile.am Makefile.in lex.c parse.c +DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.in \ + $(top_srcdir)/Makefile.am.common \ + $(top_srcdir)/cf/Makefile.am.common ChangeLog Makefile.am lex.c \ + parse.c parse.h +SOURCES = $(libcom_err_la_SOURCES) $(compile_et_SOURCES) - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -SOURCES = $(libcom_err_la_SOURCES) $(compile_et_SOURCES) -OBJECTS = $(libcom_err_la_OBJECTS) $(compile_et_OBJECTS) +all: all-am -all: all-redirect .SUFFIXES: -.SUFFIXES: .1 .3 .5 .8 .S .c .cat1 .cat3 .cat5 .cat8 .et .h .l .lo .o .obj .s .x .y -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/Makefile.am.common $(top_srcdir)/cf/Makefile.am.common - cd $(top_srcdir) && $(AUTOMAKE) --foreign lib/com_err/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -mostlyclean-libLTLIBRARIES: - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - -distclean-libLTLIBRARIES: - -maintainer-clean-libLTLIBRARIES: - +.SUFFIXES: .et .h .x .1 .3 .5 .8 .cat1 .cat3 .cat5 .cat8 .c .l .lo .o .obj .y +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/Makefile.am.common $(top_srcdir)/cf/Makefile.am.common $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign lib/com_err/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +libLTLIBRARIES_INSTALL = $(INSTALL) install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(libdir) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ - echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \ - $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f"; \ + $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) - list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \ + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p"; \ + $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \ done -.c.o: - $(COMPILE) -c $< +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" = "$$p" && dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libcom_err.la: $(libcom_err_la_OBJECTS) $(libcom_err_la_DEPENDENCIES) + $(LINK) -rpath $(libdir) $(libcom_err_la_LDFLAGS) $(libcom_err_la_OBJECTS) $(libcom_err_la_LIBADD) $(LIBS) +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(bindir) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \ + else :; fi; \ + done -# FIXME: We should only use cygpath when building on Windows, -# and only if it is available. -.c.obj: - $(COMPILE) -c `cygpath -w $<` +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ + rm -f $(DESTDIR)$(bindir)/$$f; \ + done -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +parse.h: parse.c + @if test ! -f $@; then \ + rm -f parse.c; \ + $(MAKE) parse.c; \ + else :; fi +compile_et$(EXEEXT): $(compile_et_OBJECTS) $(compile_et_DEPENDENCIES) + @rm -f compile_et$(EXEEXT) + $(LINK) $(compile_et_LDFLAGS) $(compile_et_OBJECTS) $(compile_et_LDADD) $(LIBS) mostlyclean-compile: - -rm -f *.o core *.core - -rm -f *.$(OBJEXT) - -clean-compile: + -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c -maintainer-clean-compile: +.c.o: + $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< + +.c.obj: + $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` .c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< + $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< +.l.c: + $(LEXCOMPILE) `test -f $< || echo '$(srcdir)/'`$< + sed '/^#/ s|$(LEX_OUTPUT_ROOT)\.c|$@|' $(LEX_OUTPUT_ROOT).c >$@ + rm -f $(LEX_OUTPUT_ROOT).c -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< +.y.c: + $(YACCCOMPILE) `test -f '$<' || echo '$(srcdir)/'`$< + if test -f y.tab.h; then \ + to=`echo "$*_H" | sed \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ + -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \ + sed "/^#/ s/Y_TAB_H/$$to/g" y.tab.h >$*.ht; \ + rm -f y.tab.h; \ + if cmp -s $*.ht $*.h; then \ + rm -f $*.ht ;\ + else \ + mv $*.ht $*.h; \ + fi; \ + fi + if test -f y.output; then \ + mv y.output $*.output; \ + fi + sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@t && mv $@t $@ + rm -f y.tab.c mostlyclean-libtool: -rm -f *.lo @@ -307,196 +481,219 @@ -rm -rf .libs _libs distclean-libtool: - >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Apr 3 16:58:24 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2615916A4D0; Sat, 3 Apr 2004 16:58:24 -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 E9AE116A4CE for ; Sat, 3 Apr 2004 16:58:23 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DC63743D2D for ; Sat, 3 Apr 2004 16:58:23 -0800 (PST) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i340wNGe026785 for ; Sat, 3 Apr 2004 16:58:23 -0800 (PST) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i340wNEq026782 for perforce@freebsd.org; Sat, 3 Apr 2004 16:58:23 -0800 (PST) (envelope-from julian@freebsd.org) Date: Sat, 3 Apr 2004 16:58:23 -0800 (PST) Message-Id: <200404040058.i340wNEq026782@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 50298 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: Sun, 04 Apr 2004 00:58:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=50298 Change 50298 by julian@julian_jules1 on 2004/04/03 16:57:36 IFC Affected files ... .. //depot/projects/nsched/sys/alpha/alpha/vm_machdep.c#2 integrate .. //depot/projects/nsched/sys/alpha/include/pmap.h#2 integrate .. //depot/projects/nsched/sys/amd64/amd64/pmap.c#2 integrate .. //depot/projects/nsched/sys/amd64/amd64/support.S#2 integrate .. //depot/projects/nsched/sys/amd64/amd64/vm_machdep.c#2 integrate .. //depot/projects/nsched/sys/amd64/include/pmap.h#2 integrate .. //depot/projects/nsched/sys/boot/common/loader.8#2 integrate .. //depot/projects/nsched/sys/conf/files#3 integrate .. //depot/projects/nsched/sys/dev/ath/if_ath.c#2 integrate .. //depot/projects/nsched/sys/dev/ath/if_ath_pci.c#2 integrate .. //depot/projects/nsched/sys/dev/ath/if_athioctl.h#2 integrate .. //depot/projects/nsched/sys/dev/ath/if_athvar.h#2 integrate .. //depot/projects/nsched/sys/dev/fb/vga.c#2 integrate .. //depot/projects/nsched/sys/dev/md/md.c#2 integrate .. //depot/projects/nsched/sys/dev/uart/uart_bus_ebus.c#2 integrate .. //depot/projects/nsched/sys/i386/i386/db_interface.c#2 integrate .. //depot/projects/nsched/sys/i386/i386/elan-mmcr.c#2 integrate .. //depot/projects/nsched/sys/i386/i386/uio_machdep.c#2 integrate .. //depot/projects/nsched/sys/i386/i386/vm_machdep.c#2 integrate .. //depot/projects/nsched/sys/i386/include/cpufunc.h#2 integrate .. //depot/projects/nsched/sys/ia64/ia64/vm_machdep.c#2 integrate .. //depot/projects/nsched/sys/kern/imgact_elf.c#2 integrate .. //depot/projects/nsched/sys/kern/kern_fork.c#3 integrate .. //depot/projects/nsched/sys/kern/kern_thr.c#3 integrate .. //depot/projects/nsched/sys/kern/kern_thread.c#3 integrate .. //depot/projects/nsched/sys/kern/uipc_cow.c#2 integrate .. //depot/projects/nsched/sys/kern/uipc_syscalls.c#2 integrate .. //depot/projects/nsched/sys/net80211/ieee80211_input.c#2 integrate .. //depot/projects/nsched/sys/net80211/ieee80211_node.c#2 integrate .. //depot/projects/nsched/sys/net80211/ieee80211_node.h#2 integrate .. //depot/projects/nsched/sys/net80211/ieee80211_output.c#2 integrate .. //depot/projects/nsched/sys/net80211/ieee80211_var.h#2 integrate .. //depot/projects/nsched/sys/netipsec/xform_tcp.c#1 branch .. //depot/projects/nsched/sys/nfsclient/nfs_vnops.c#2 integrate .. //depot/projects/nsched/sys/pci/agp_ali.c#2 integrate .. //depot/projects/nsched/sys/pci/agp_amd.c#2 integrate .. //depot/projects/nsched/sys/pci/agp_i810.c#2 integrate .. //depot/projects/nsched/sys/pci/agp_intel.c#2 integrate .. //depot/projects/nsched/sys/pci/agp_nvidia.c#2 integrate .. //depot/projects/nsched/sys/pci/agp_sis.c#2 integrate .. //depot/projects/nsched/sys/pci/agp_via.c#2 integrate .. //depot/projects/nsched/sys/pci/if_rl.c#2 integrate .. //depot/projects/nsched/sys/pci/if_ste.c#2 integrate .. //depot/projects/nsched/sys/pci/if_stereg.h#2 integrate .. //depot/projects/nsched/sys/powerpc/powerpc/vm_machdep.c#2 integrate .. //depot/projects/nsched/sys/sparc64/sparc64/uio_machdep.c#2 integrate .. //depot/projects/nsched/sys/sparc64/sparc64/vm_machdep.c#2 integrate .. //depot/projects/nsched/sys/sys/proc.h#3 integrate .. //depot/projects/nsched/sys/sys/sf_buf.h#2 integrate .. //depot/projects/nsched/sys/ufs/ffs/fs.h#2 integrate Differences ... ==== //depot/projects/nsched/sys/alpha/alpha/vm_machdep.c#2 (text+ko) ==== @@ -67,7 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.101 2004/03/29 02:01:42 kensmith Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.102 2004/04/03 09:16:24 alc Exp $"); #include #include @@ -405,7 +405,7 @@ * Get an sf_buf from the freelist. Will block if none are available. */ struct sf_buf * -sf_buf_alloc(struct vm_page *m) +sf_buf_alloc(struct vm_page *m, int pri) { struct sf_buf *sf; int error; @@ -414,7 +414,7 @@ while ((sf = SLIST_FIRST(&sf_freelist.sf_head)) == NULL) { sf_buf_alloc_want++; mbstat.sf_allocwait++; - error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM|PCATCH, + error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM | pri, "sfbufa", 0); sf_buf_alloc_want--; ==== //depot/projects/nsched/sys/alpha/include/pmap.h#2 (text+ko) ==== @@ -43,7 +43,7 @@ * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 * from: i386 pmap.h,v 1.54 1997/11/20 19:30:35 bde Exp - * $FreeBSD: src/sys/alpha/include/pmap.h,v 1.25 2004/03/07 07:13:15 alc Exp $ + * $FreeBSD: src/sys/alpha/include/pmap.h,v 1.26 2004/04/03 21:38:20 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -208,8 +208,6 @@ #ifdef _KERNEL -extern caddr_t CADDR1; -extern pt_entry_t *CMAP1; extern vm_offset_t avail_end; extern vm_offset_t avail_start; extern vm_offset_t phys_avail[]; ==== //depot/projects/nsched/sys/amd64/amd64/pmap.c#2 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.454 2004/03/31 02:03:48 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.455 2004/04/03 20:53:49 alc Exp $"); /* * Manages physical address maps. @@ -200,8 +200,7 @@ * All those kernel PT submaps that BSD is so fond of */ pt_entry_t *CMAP1 = 0; -static pt_entry_t *ptmmap; -caddr_t CADDR1 = 0, ptvmmap = 0; +caddr_t CADDR1 = 0; static pt_entry_t *msgbufmap; struct msgbuf *msgbufp = 0; @@ -507,12 +506,6 @@ SYSMAP(caddr_t, pt_crashdumpmap, crashdumpmap, MAXDUMPPGS); /* - * ptvmmap is used for reading arbitrary physical pages via /dev/mem. - * XXX ptmmap is not used. - */ - SYSMAP(caddr_t, ptmmap, ptvmmap, 1) - - /* * msgbufp is used to map the system message buffer. * XXX msgbufmap is not used. */ ==== //depot/projects/nsched/sys/amd64/amd64/support.S#2 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.106 2004/03/31 02:03:49 alc Exp $ + * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.107 2004/04/03 05:33:10 alc Exp $ */ #include "opt_ddb.h" @@ -76,15 +76,15 @@ /* Address: %rdi */ ENTRY(pagezero) - lea 4096(%rdi),%rsi + movq $-PAGE_SIZE,%rdx + subq %rdx,%rdi xorq %rax,%rax 1: - movnti %rax,(%rdi) - movnti %rax,8(%rdi) - movnti %rax,16(%rdi) - movnti %rax,24(%rdi) - addq $32,%rdi - cmpq %rsi,%rdi + movnti %rax,(%rdi,%rdx) + movnti %rax,8(%rdi,%rdx) + movnti %rax,16(%rdi,%rdx) + movnti %rax,24(%rdi,%rdx) + addq $32,%rdx jne 1b sfence retq ==== //depot/projects/nsched/sys/amd64/amd64/vm_machdep.c#2 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.231 2004/03/29 19:38:05 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.232 2004/04/03 09:16:25 alc Exp $"); #include "opt_isa.h" #include "opt_cpu.h" @@ -460,7 +460,7 @@ * Get an sf_buf from the freelist. Will block if none are available. */ struct sf_buf * -sf_buf_alloc(struct vm_page *m) +sf_buf_alloc(struct vm_page *m, int pri) { struct sf_buf *sf; int error; @@ -469,7 +469,7 @@ while ((sf = SLIST_FIRST(&sf_freelist.sf_head)) == NULL) { sf_buf_alloc_want++; mbstat.sf_allocwait++; - error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM|PCATCH, + error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM | pri, "sfbufa", 0); sf_buf_alloc_want--; ==== //depot/projects/nsched/sys/amd64/include/pmap.h#2 (text+ko) ==== @@ -43,7 +43,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.110 2004/03/07 07:13:15 alc Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.111 2004/04/03 20:53:50 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -263,7 +263,6 @@ extern vm_paddr_t avail_end; extern vm_paddr_t avail_start; extern vm_paddr_t phys_avail[]; -extern char *ptvmmap; /* poor name! */ extern vm_offset_t virtual_avail; extern vm_offset_t virtual_end; ==== //depot/projects/nsched/sys/boot/common/loader.8#2 (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.58 2004/01/27 15:59:38 des Exp $ +.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.59 2004/04/03 12:14:30 le Exp $ .\" .\" Note: The date here should be updated whenever a non-trivial .\" change is made to the manual page. @@ -493,12 +493,12 @@ .Va TCBHASHSIZE or the preset default of 512. Must be a power of 2. -.El .It Va vm.kmem_size Sets the size of kernel memory (bytes). This overrides the value determined when the kernel was compiled. Modifies .Va VM_KMEM_SIZE . +.El .Ss BUILTIN PARSER When a builtin command is executed, the rest of the line is taken by it as arguments, and it is processed by a special parser which ==== //depot/projects/nsched/sys/conf/files#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.880 2004/04/01 17:55:50 des Exp $ +# $FreeBSD: src/sys/conf/files,v 1.881 2004/04/03 18:42:05 phk Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -499,7 +499,7 @@ dev/joy/joy.c optional joy dev/joy/joy_isa.c optional joy isa dev/joy/joy_pccard.c optional joy pccard -dev/led/led.c optional cpu_soekris +dev/led/led.c standard dev/lge/if_lge.c optional lge dev/lnc/if_lnc.c optional lnc dev/lnc/if_lnc_pci.c optional lnc pci ==== //depot/projects/nsched/sys/dev/ath/if_ath.c#2 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.47 2004/04/01 00:38:45 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.53 2004/04/03 00:06:23 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -270,7 +270,6 @@ TASK_INIT(&sc->sc_txtask, 0, ath_tx_proc, sc); TASK_INIT(&sc->sc_rxtask, 0, ath_rx_proc, sc); - TASK_INIT(&sc->sc_swbatask, 0, ath_beacon_proc, sc); TASK_INIT(&sc->sc_rxorntask, 0, ath_rxorn_proc, sc); TASK_INIT(&sc->sc_fataltask, 0, ath_fatal_proc, sc); TASK_INIT(&sc->sc_bmisstask, 0, ath_bmiss_proc, sc); @@ -288,7 +287,7 @@ ); if (sc->sc_txhalq == (u_int) -1) { if_printf(ifp, "unable to setup a data xmit queue!\n"); - goto bad; + goto bad2; } sc->sc_bhalq = ath_hal_setuptxqueue(ah, HAL_TX_QUEUE_BEACON, @@ -296,7 +295,7 @@ ); if (sc->sc_bhalq == (u_int) -1) { if_printf(ifp, "unable to setup a beacon xmit queue!\n"); - goto bad; + goto bad2; } ifp->if_softc = sc; @@ -317,7 +316,7 @@ | IEEE80211_C_HOSTAP /* hostap mode */ | IEEE80211_C_MONITOR /* monitor mode */ | IEEE80211_C_SHPREAMBLE /* short preamble supported */ - | IEEE80211_C_RCVMGT; /* recv management frames */ + ; /* get mac address from hardware */ ath_hal_getmac(ah, ic->ic_myaddr); @@ -326,7 +325,9 @@ ieee80211_ifattach(ifp); /* override default methods */ ic->ic_node_alloc = ath_node_alloc; + sc->sc_node_free = ic->ic_node_free; ic->ic_node_free = ath_node_free; + sc->sc_node_copy = ic->ic_node_copy; ic->ic_node_copy = ath_node_copy; ic->ic_node_getrssi = ath_node_getrssi; sc->sc_newstate = ic->ic_newstate; @@ -355,6 +356,8 @@ sc->sc_rx_th.wr_ihdr.it_present = htole32(ATH_RX_RADIOTAP_PRESENT); return 0; +bad2: + ath_desc_free(sc); bad: if (ah) ath_hal_detach(ah); @@ -432,6 +435,8 @@ DPRINTF(ATH_DEBUG_ANY, ("%s: invalid; ignored\n", __func__)); return; } + if (!ath_hal_intrpend(ah)) /* shared irq, not for us */ + return; if ((ifp->if_flags & (IFF_RUNNING|IFF_UP)) != (IFF_RUNNING|IFF_UP)) { DPRINTF(ATH_DEBUG_ANY, ("%s: if_flags 0x%x\n", __func__, ifp->if_flags)); @@ -476,8 +481,14 @@ taskqueue_enqueue(taskqueue_swi, &sc->sc_rxtask); if (status & HAL_INT_TX) taskqueue_enqueue(taskqueue_swi, &sc->sc_txtask); - if (status & HAL_INT_SWBA) - taskqueue_enqueue(taskqueue_swi, &sc->sc_swbatask); + if (status & HAL_INT_SWBA) { + /* + * Handle beacon transmission directly; deferring + * this is too slow to meet timing constraints + * under load. + */ + ath_beacon_proc(sc, 0); + } if (status & HAL_INT_BMISS) { sc->sc_stats.ast_bmiss++; taskqueue_enqueue(taskqueue_swi, &sc->sc_bmisstask); @@ -1507,14 +1518,18 @@ if (bf->bf_node == ni) bf->bf_node = NULL; } - free(ni, M_DEVBUF); + (*sc->sc_node_free)(ic, ni); } static void ath_node_copy(struct ieee80211com *ic, struct ieee80211_node *dst, const struct ieee80211_node *src) { - *(struct ath_node *)dst = *(const struct ath_node *)src; + struct ath_softc *sc = ic->ic_if.if_softc; + + memcpy(&dst[1], &src[1], + sizeof(struct ath_node) - sizeof(struct ieee80211_node)); + (*sc->sc_node_copy)(ic, dst, src); } ==== //depot/projects/nsched/sys/dev/ath/if_ath_pci.c#2 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.7 2004/03/17 17:50:27 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.8 2004/04/02 23:57:10 sam Exp $"); /* * PCI/Cardbus front-end for the Atheros Wireless LAN controller driver. ==== //depot/projects/nsched/sys/dev/ath/if_athioctl.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,7 +33,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/if_athioctl.h,v 1.5 2003/12/28 07:00:32 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athioctl.h,v 1.7 2004/04/02 23:57:10 sam Exp $ */ /* @@ -70,6 +70,8 @@ u_int32_t ast_tx_rts; /* tx frames with rts enabled */ u_int32_t ast_tx_cts; /* tx frames with cts enabled */ u_int32_t ast_tx_shortpre;/* tx frames with short preamble */ + u_int32_t ast_tx_altrate; /* tx frames with alternate rate */ + u_int32_t ast_tx_protect; /* tx frames with protection */ u_int32_t ast_rx_nombuf; /* rx setup failed 'cuz no mbuf */ u_int32_t ast_rx_busdma; /* rx setup failed for dma resrcs */ u_int32_t ast_rx_orn; /* rx failed 'cuz of desc overrun */ @@ -79,6 +81,7 @@ u_int32_t ast_rx_phyerr; /* rx failed 'cuz of PHY err */ u_int32_t ast_rx_phy[32]; /* rx PHY error per-code counts */ u_int32_t ast_rx_tooshort;/* rx discarded 'cuz frame too short */ + u_int32_t ast_rx_toobig; /* rx discarded 'cuz frame too large */ u_int32_t ast_rx_ctl; /* rx discarded 'cuz ctl frame */ u_int32_t ast_be_nombuf; /* beacon setup failed 'cuz no mbuf */ u_int32_t ast_per_cal; /* periodic calibration calls */ ==== //depot/projects/nsched/sys/dev/ath/if_athvar.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,7 +33,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.11 2004/04/01 00:38:45 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.14 2004/04/03 03:33:02 sam Exp $ */ /* @@ -93,6 +93,11 @@ struct ieee80211com sc_ic; /* IEEE 802.11 common */ int (*sc_newstate)(struct ieee80211com *, enum ieee80211_state, int); + void (*sc_node_free)(struct ieee80211com *, + struct ieee80211_node *); + void (*sc_node_copy)(struct ieee80211com *, + struct ieee80211_node *, + const struct ieee80211_node *); device_t sc_dev; bus_space_tag_t sc_st; /* bus space tag */ bus_space_handle_t sc_sh; /* bus space handle */ @@ -147,7 +152,6 @@ u_int sc_bhalq; /* HAL q for outgoing beacons */ struct ath_buf *sc_bcbuf; /* beacon buffer */ struct ath_buf *sc_bufptr; /* allocated buffer ptr */ - struct task sc_swbatask; /* swba int processing */ struct task sc_bmisstask; /* bmiss int processing */ struct callout sc_cal_ch; /* callout handle for cals */ ==== //depot/projects/nsched/sys/dev/fb/vga.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/fb/vga.c,v 1.28 2003/08/24 17:46:06 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fb/vga.c,v 1.29 2004/04/03 15:28:25 nectar Exp $"); #include "opt_vga.h" #include "opt_fb.h" @@ -2854,7 +2854,8 @@ u_char *g; u_char *b; - if ((base < 0) || (base >= 256) || (base + count > 256)) + if (count < 0 || base < 0 || count > 256 || base > 256 || + base + count > 256) return EINVAL; r = malloc(count*3, M_DEVBUF, M_WAITOK); @@ -2885,7 +2886,8 @@ u_char *b; int err; - if ((base < 0) || (base >= 256) || (base + count > 256)) + if (count < 0 || base < 0 || count > 256 || base > 256 || + base + count > 256) return EINVAL; r = malloc(count*3, M_DEVBUF, M_WAITOK); ==== //depot/projects/nsched/sys/dev/md/md.c#2 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/dev/md/md.c,v 1.119 2004/03/31 21:48:02 luigi Exp $ + * $FreeBSD: src/sys/dev/md/md.c,v 1.120 2004/04/03 09:16:25 alc Exp $ * */ @@ -546,7 +546,7 @@ m = vm_page_grab(sc->object, i, VM_ALLOC_NORMAL|VM_ALLOC_RETRY); VM_OBJECT_UNLOCK(sc->object); - sf = sf_buf_alloc(m); + sf = sf_buf_alloc(m, 0); VM_OBJECT_LOCK(sc->object); if (bp->bio_cmd == BIO_READ) { if (m->valid != VM_PAGE_BITS_ALL) ==== //depot/projects/nsched/sys/dev/uart/uart_bus_ebus.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/uart/uart_bus_ebus.c,v 1.2 2003/09/26 05:14:56 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_bus_ebus.c,v 1.3 2004/04/03 23:02:02 marcel Exp $"); #include #include @@ -61,7 +61,7 @@ static int uart_ebus_probe(device_t dev) { - const char *nm; + const char *nm, *cmpt; struct uart_softc *sc; int error; @@ -69,7 +69,9 @@ sc->sc_class = NULL; nm = ebus_get_name(dev); - if (!strcmp(nm, "su")) { + cmpt = ebus_get_compat(dev); + if (!strcmp(nm, "su") || !strcmp(nm, "su_pnp") || (cmpt != NULL && + (!strcmp(cmpt, "su") || !strcmp(cmpt, "su16550")))) { sc->sc_class = &uart_ns8250_class; return (uart_bus_probe(dev, 0, 0, 0, 0)); } ==== //depot/projects/nsched/sys/i386/i386/db_interface.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/db_interface.c,v 1.80 2004/03/12 21:45:29 trhodes Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/db_interface.c,v 1.81 2004/04/03 22:23:36 marcel Exp $"); /* * Interface to new debugger. @@ -60,19 +60,6 @@ static jmp_buf db_global_jmpbuf; -static __inline u_short -rss(void) -{ - u_short ss; -#if defined(__GNUC__) || defined(__INTEL_COMPILER) - __asm __volatile("mov %%ss,%0" : "=r" (ss)); -#else -#error Function rss() needs to get ported to this compiler. - ss = 0; /* XXXX Fix for other compilers. */ -#endif - return ss; -} - /* * kdb_trap - field a TRACE or BPT trap */ ==== //depot/projects/nsched/sys/i386/i386/elan-mmcr.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/elan-mmcr.c,v 1.26 2004/03/15 21:47:34 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/elan-mmcr.c,v 1.27 2004/04/03 18:42:52 phk Exp $"); #include "opt_cpu.h" #include @@ -77,7 +77,6 @@ static u_int echo_a, echo_d; #endif /* CPU_ELAN_PPS */ -#ifdef CPU_SOEKRIS static u_int led_cookie[32]; static dev_t led_dev[32]; @@ -93,7 +92,6 @@ v ^= 0xc; mmcrptr[v / 2] = u; } -#endif static int sysctl_machdep_elan_gpio_config(SYSCTL_HANDLER_ARGS) @@ -117,7 +115,9 @@ /* Disallow any disabled pins and count pps and echo */ np = ne = 0; for (i = 0; i < 32; i++) { - if (gpio_config[i] == '-' && (buf[i] != '-' && buf[i] != '.')) + if (gpio_config[i] == '-' && buf[i] == '.') + buf[i] = gpio_config[i]; + if (gpio_config[i] == '-' && buf[i] != '-') return (EPERM); if (buf[i] == 'P') { np++; @@ -149,12 +149,15 @@ else v = 0; #ifdef CPU_SOEKRIS + if (i == 9) + ; + else +#endif if (buf[i] != 'l' && buf[i] != 'L' && led_dev[i] != NULL) { led_destroy(led_dev[i]); led_dev[i] = NULL; mmcrptr[(0xc2a + v) / 2] &= ~u; } -#endif switch (buf[i]) { #ifdef CPU_ELAN_PPS case 'P': @@ -177,7 +180,6 @@ gpio_config[i] = buf[i]; break; #endif /* CPU_ELAN_PPS */ -#ifdef CPU_SOEKRIS case 'l': case 'L': if (buf[i] == 'L') @@ -192,7 +194,6 @@ mmcrptr[(0xc2a + v) / 2] |= u; gpio_config[i] = buf[i]; break; -#endif case '.': gpio_config[i] = buf[i]; break; ==== //depot/projects/nsched/sys/i386/i386/uio_machdep.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/uio_machdep.c,v 1.1 2004/03/21 20:28:36 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/uio_machdep.c,v 1.2 2004/04/03 09:16:25 alc Exp $"); #include #include @@ -92,7 +92,7 @@ cnt = n; page_offset = offset & PAGE_MASK; cnt = min(cnt, PAGE_SIZE - page_offset); - sf = sf_buf_alloc(ma[offset >> PAGE_SHIFT]); + sf = sf_buf_alloc(ma[offset >> PAGE_SHIFT], 0); cp = (char *)sf_buf_kva(sf) + page_offset; switch (uio->uio_segflg) { case UIO_USERSPACE: ==== //depot/projects/nsched/sys/i386/i386/vm_machdep.c#2 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.234 2004/03/29 19:38:05 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.235 2004/04/03 09:16:25 alc Exp $"); #include "opt_isa.h" #include "opt_npx.h" @@ -606,7 +606,7 @@ * Get an sf_buf from the freelist. Will block if none are available. */ struct sf_buf * -sf_buf_alloc(struct vm_page *m) +sf_buf_alloc(struct vm_page *m, int pri) { struct sf_head *hash_list; struct sf_buf *sf; @@ -628,7 +628,7 @@ while ((sf = TAILQ_FIRST(&sf_buf_freelist)) == NULL) { sf_buf_alloc_want++; mbstat.sf_allocwait++; - error = msleep(&sf_buf_freelist, &sf_buf_lock, PVM|PCATCH, + error = msleep(&sf_buf_freelist, &sf_buf_lock, PVM | pri, "sfbufa", 0); sf_buf_alloc_want--; ==== //depot/projects/nsched/sys/i386/include/cpufunc.h#2 (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/i386/include/cpufunc.h,v 1.140 2004/03/12 21:45:30 trhodes Exp $ + * $FreeBSD: src/sys/i386/include/cpufunc.h,v 1.141 2004/04/03 22:23:36 marcel Exp $ */ /* @@ -456,6 +456,14 @@ return (sel); } +static __inline u_int +rss(void) +{ + u_int sel; + __asm __volatile("movl %%ss,%0" : "=rm" (sel)); + return (sel); +} + static __inline void load_fs(u_int sel) { ==== //depot/projects/nsched/sys/ia64/ia64/vm_machdep.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ * * from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91 * Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$ - * $FreeBSD: src/sys/ia64/ia64/vm_machdep.c,v 1.81 2004/03/27 17:44:25 marcel Exp $ + * $FreeBSD: src/sys/ia64/ia64/vm_machdep.c,v 1.82 2004/04/03 09:16:26 alc Exp $ */ /* * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. @@ -344,7 +344,7 @@ * Get an sf_buf from the freelist. Will block if none are available. */ struct sf_buf * -sf_buf_alloc(struct vm_page *m) +sf_buf_alloc(struct vm_page *m, int pri) { struct sf_buf *sf; int error; @@ -353,7 +353,7 @@ while ((sf = SLIST_FIRST(&sf_freelist.sf_head)) == NULL) { sf_buf_alloc_want++; mbstat.sf_allocwait++; - error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM|PCATCH, + error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM | pri, "sfbufa", 0); sf_buf_alloc_want--; ==== //depot/projects/nsched/sys/kern/imgact_elf.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/imgact_elf.c,v 1.145 2004/03/18 16:33:05 nectar Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/imgact_elf.c,v 1.146 2004/04/03 20:25:41 marcel Exp $"); #include #include @@ -922,8 +922,7 @@ static void each_writable_segment(struct proc *, segment_callback, void *); static int __elfN(corehdr)(struct thread *, struct vnode *, struct ucred *, int, void *, size_t); -static void __elfN(puthdr)(struct proc *, void *, size_t *, - const prstatus_t *, const prfpregset_t *, const prpsinfo_t *, int); +static void __elfN(puthdr)(struct proc *, void *, size_t *, int); static void __elfN(putnote)(void *, size_t *, const char *, int, const void *, size_t); @@ -953,9 +952,7 @@ * size is calculated. */ hdrsize = 0; - __elfN(puthdr)((struct proc *)NULL, (void *)NULL, &hdrsize, - (const prstatus_t *)NULL, (const prfpregset_t *)NULL, - (const prpsinfo_t *)NULL, seginfo.count); + __elfN(puthdr)(p, (void *)NULL, &hdrsize, seginfo.count); if (hdrsize + seginfo.size >= limit) return (EFAULT); @@ -1115,48 +1112,14 @@ size_t hdrsize; void *hdr; { - struct { - prstatus_t status; - prfpregset_t fpregset; - prpsinfo_t psinfo; - } *tempdata; struct proc *p = td->td_proc; size_t off; - prstatus_t *status; - prfpregset_t *fpregset; - prpsinfo_t *psinfo; - - tempdata = malloc(sizeof(*tempdata), M_TEMP, M_ZERO | M_WAITOK); - status = &tempdata->status; - fpregset = &tempdata->fpregset; - psinfo = &tempdata->psinfo; - - /* Gather the information for the header. */ - status->pr_version = PRSTATUS_VERSION; - status->pr_statussz = sizeof(prstatus_t); - status->pr_gregsetsz = sizeof(gregset_t); - status->pr_fpregsetsz = sizeof(fpregset_t); - status->pr_osreldate = osreldate; - status->pr_cursig = p->p_sig; - status->pr_pid = p->p_pid; - fill_regs(td, &status->pr_reg); - - fill_fpregs(td, fpregset); - psinfo->pr_version = PRPSINFO_VERSION; - psinfo->pr_psinfosz = sizeof(prpsinfo_t); - strlcpy(psinfo->pr_fname, p->p_comm, sizeof(psinfo->pr_fname)); - - /* XXX - We don't fill in the command line arguments properly yet. */ - strlcpy(psinfo->pr_psargs, p->p_comm, sizeof(psinfo->pr_psargs)); - /* Fill in the header. */ bzero(hdr, hdrsize); off = 0; - __elfN(puthdr)(p, hdr, &off, status, fpregset, psinfo, numsegs); + __elfN(puthdr)(p, hdr, &off, numsegs); - free(tempdata, M_TEMP); - /* Write it to the core file. */ return (vn_rdwr_inchunks(UIO_WRITE, vp, hdr, hdrsize, (off_t)0, UIO_SYSSPACE, IO_UNIT | IO_DIRECT, cred, NOCRED, NULL, @@ -1164,13 +1127,18 @@ } static void -__elfN(puthdr)(struct proc *p, void *dst, size_t *off, const prstatus_t *status, - const prfpregset_t *fpregset, const prpsinfo_t *psinfo, int numsegs) +__elfN(puthdr)(struct proc *p, void *dst, size_t *off, int numsegs) { - size_t ehoff; - size_t phoff; - size_t noteoff; - size_t notesz; + struct { + prstatus_t status; + prfpregset_t fpregset; + prpsinfo_t psinfo; + } *tempdata; + prstatus_t *status; + prfpregset_t *fpregset; + prpsinfo_t *psinfo; + struct thread *first, *thr; + size_t ehoff, noteoff, notesz, phoff; ehoff = *off; *off += sizeof(Elf_Ehdr); @@ -1179,14 +1147,77 @@ *off += (numsegs + 1) * sizeof(Elf_Phdr); noteoff = *off; - __elfN(putnote)(dst, off, "FreeBSD", NT_PRSTATUS, status, - sizeof *status); - __elfN(putnote)(dst, off, "FreeBSD", NT_FPREGSET, fpregset, - sizeof *fpregset); + /* + * Don't allocate space for the notes if we're just calculating + * the size of the header. We also don't collect the data. + */ + if (dst != NULL) { + tempdata = malloc(sizeof(*tempdata), M_TEMP, M_ZERO|M_WAITOK); + status = &tempdata->status; + fpregset = &tempdata->fpregset; + psinfo = &tempdata->psinfo; + } else { + tempdata = NULL; + status = NULL; + fpregset = NULL; + psinfo = NULL; + } + + if (dst != NULL) { + psinfo->pr_version = PRPSINFO_VERSION; + psinfo->pr_psinfosz = sizeof(prpsinfo_t); + strlcpy(psinfo->pr_fname, p->p_comm, sizeof(psinfo->pr_fname)); + /* + * XXX - We don't fill in the command line arguments properly + * yet. + */ + strlcpy(psinfo->pr_psargs, p->p_comm, + sizeof(psinfo->pr_psargs)); + } __elfN(putnote)(dst, off, "FreeBSD", NT_PRPSINFO, psinfo, sizeof *psinfo); + + /* + * We want to start with the registers of the first thread in the + * process so that the .reg and .reg2 pseudo-sections created by bfd + * will be identical to the .reg/$PID and .reg2/$PID pseudo-sections. + * This makes sure that any tool that only looks for .reg and .reg2 + * and not for .reg/$PID and .reg2/$PID will behave the same as + * before. The first thread is the thread with an ID equal to the + * process' ID. + */ + first = TAILQ_FIRST(&p->p_threads); + while (first->td_tid > PID_MAX) + first = TAILQ_NEXT(first, td_plist); + thr = first; + do { + if (dst != NULL) { + status->pr_version = PRSTATUS_VERSION; + status->pr_statussz = sizeof(prstatus_t); + status->pr_gregsetsz = sizeof(gregset_t); + status->pr_fpregsetsz = sizeof(fpregset_t); + status->pr_osreldate = osreldate; + status->pr_cursig = p->p_sig; + status->pr_pid = thr->td_tid; + fill_regs(thr, &status->pr_reg); + fill_fpregs(thr, fpregset); + } + __elfN(putnote)(dst, off, "FreeBSD", NT_PRSTATUS, status, + sizeof *status); + __elfN(putnote)(dst, off, "FreeBSD", NT_FPREGSET, fpregset, + sizeof *fpregset); + /* XXX allow for MD specific notes. */ + thr = (thr == first) ? TAILQ_FIRST(&p->p_threads) : + TAILQ_NEXT(thr, td_plist); + if (thr == first) + thr = TAILQ_NEXT(thr, td_plist); + } while (thr != NULL); + notesz = *off - noteoff; + if (dst != NULL) + free(tempdata, M_TEMP); + /* Align up to a page boundary for the program segments. */ *off = round_page(*off); ==== //depot/projects/nsched/sys/kern/kern_fork.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_fork.c,v 1.224 2004/03/14 02:06:27 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_fork.c,v 1.225 2004/04/03 15:59:12 marcel Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -493,6 +493,7 @@ (unsigned) RANGEOF(struct ksegrp, kg_startcopy, kg_endcopy)); #undef RANGEOF + td2->td_tid = p2->p_pid; td2->td_sigstk = td->td_sigstk; /* ==== //depot/projects/nsched/sys/kern/kern_thr.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Apr 3 19:11:04 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1094E16A4D0; Sat, 3 Apr 2004 19:11:04 -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 D9DC116A4CE for ; Sat, 3 Apr 2004 19:11:03 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BACBA43D5F for ; Sat, 3 Apr 2004 19:11:03 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i343B3Ge055859 for ; Sat, 3 Apr 2004 19:11:03 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i343B3JB055856 for perforce@freebsd.org; Sat, 3 Apr 2004 19:11:03 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sat, 3 Apr 2004 19:11:03 -0800 (PST) Message-Id: <200404040311.i343B3JB055856@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50299 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: Sun, 04 Apr 2004 03:11:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=50299 Change 50299 by marcel@marcel_nfs on 2004/04/03 19:10:48 Implement gdb_cpu_getreg(). Affected files ... .. //depot/projects/gdb/sys/alpha/alpha/gdb_machdep.c#4 edit Differences ... ==== //depot/projects/gdb/sys/alpha/alpha/gdb_machdep.c#4 (text+ko) ==== @@ -29,6 +29,7 @@ #include #include +#include #include #include @@ -41,9 +42,42 @@ void * gdb_cpu_getreg(int regnum, size_t *regsz) { + struct trapframe *tf = kdb_frame; *regsz = gdb_cpu_regsz(regnum); switch (regnum) { + case 0: return (&tf->tf_regs[FRAME_V0]); + case 1: return (&tf->tf_regs[FRAME_T0]); + case 2: return (&tf->tf_regs[FRAME_T1]); + case 3: return (&tf->tf_regs[FRAME_T2]); + case 4: return (&tf->tf_regs[FRAME_T3]); + case 5: return (&tf->tf_regs[FRAME_T4]); + case 6: return (&tf->tf_regs[FRAME_T5]); + case 7: return (&tf->tf_regs[FRAME_T6]); + case 8: return (&tf->tf_regs[FRAME_T7]); + case 9: return (&tf->tf_regs[FRAME_S0]); + case 10: return (&tf->tf_regs[FRAME_S1]); + case 11: return (&tf->tf_regs[FRAME_S2]); + case 12: return (&tf->tf_regs[FRAME_S3]); + case 13: return (&tf->tf_regs[FRAME_S4]); + case 14: return (&tf->tf_regs[FRAME_S5]); + case 15: return (&tf->tf_regs[FRAME_S6]); + case 16: return (&tf->tf_regs[FRAME_A0]); + case 17: return (&tf->tf_regs[FRAME_A1]); + case 18: return (&tf->tf_regs[FRAME_A2]); + case 19: return (&tf->tf_regs[FRAME_A3]); + case 20: return (&tf->tf_regs[FRAME_A4]); + case 21: return (&tf->tf_regs[FRAME_A5]); + case 22: return (&tf->tf_regs[FRAME_T8]); + case 23: return (&tf->tf_regs[FRAME_T9]); + case 24: return (&tf->tf_regs[FRAME_T10]); + case 25: return (&tf->tf_regs[FRAME_T11]); + case 26: return (&tf->tf_regs[FRAME_RA]); + case 27: return (&tf->tf_regs[FRAME_T12]); + case 28: return (&tf->tf_regs[FRAME_AT]); + case 29: return (&tf->tf_regs[FRAME_GP]); + case 30: return (&tf->tf_regs[FRAME_SP]); + case 64: return (&tf->tf_regs[FRAME_PC]); } return (NULL); } From owner-p4-projects@FreeBSD.ORG Sat Apr 3 19:17:12 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E4A1916A4D0; Sat, 3 Apr 2004 19:17:11 -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 BF2F416A4CE for ; Sat, 3 Apr 2004 19:17:11 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B856043D46 for ; Sat, 3 Apr 2004 19:17:11 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i343HBGe057737 for ; Sat, 3 Apr 2004 19:17:11 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i343HBox057734 for perforce@freebsd.org; Sat, 3 Apr 2004 19:17:11 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sat, 3 Apr 2004 19:17:11 -0800 (PST) Message-Id: <200404040317.i343HBox057734@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50300 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: Sun, 04 Apr 2004 03:17:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=50300 Change 50300 by marcel@marcel_nfs on 2004/04/03 19:16:20 Set curthread->td_last_frame. Affected files ... .. //depot/projects/gdb/sys/alpha/alpha/interrupt.c#5 edit .. //depot/projects/gdb/sys/alpha/alpha/trap.c#4 edit Differences ... ==== //depot/projects/gdb/sys/alpha/alpha/interrupt.c#5 (text+ko) ==== @@ -109,6 +109,8 @@ intr_restore(s); #endif atomic_add_int(&td->td_intr_nesting_level, 1); + td->td_last_frame = framep; + #if KSTACK_GUARD_PAGES == 0 #ifndef SMP { ==== //depot/projects/gdb/sys/alpha/alpha/trap.c#4 (text+ko) ==== @@ -283,6 +283,13 @@ #endif p = td->td_proc; + if (kdb_active && entry == ALPHA_KENTRY_MM) { + kdb_trap(entry, a0, framep); + return; + } + + td->td_last_frame = framep; + /* GIANT_REQUIRED; * Giant hasn't been acquired yet. @@ -653,6 +660,7 @@ cnt.v_syscall++; td->td_frame = framep; + td->td_last_frame = framep; opc = framep->tf_regs[FRAME_PC] - 4; sticks = td->td_sticks; if (td->td_ucred != p->p_ucred) From owner-p4-projects@FreeBSD.ORG Sat Apr 3 19:29:27 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 44F1916A4D0; Sat, 3 Apr 2004 19:29:27 -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 1EF9916A4CE for ; Sat, 3 Apr 2004 19:29:27 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1844C43D1D for ; Sat, 3 Apr 2004 19:29:27 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i343TQGe059752 for ; Sat, 3 Apr 2004 19:29:26 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i343TQvY059749 for perforce@freebsd.org; Sat, 3 Apr 2004 19:29:26 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sat, 3 Apr 2004 19:29:26 -0800 (PST) Message-Id: <200404040329.i343TQvY059749@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50301 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: Sun, 04 Apr 2004 03:29:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=50301 Change 50301 by marcel@marcel_nfs on 2004/04/03 19:28:46 Don't set td_last_frame before we enter the debugger when kdb_active is set. We would be clobbering the frame that the debugger is actually using. Affected files ... .. //depot/projects/gdb/sys/i386/i386/trap.c#8 edit Differences ... ==== //depot/projects/gdb/sys/i386/i386/trap.c#8 (text+ko) ==== @@ -185,7 +185,6 @@ atomic_add_int(&cnt.v_trap, 1); type = frame.tf_trapno; - td->td_last_frame = &frame; #ifdef KDB if (kdb_active && type == T_PAGEFLT) { @@ -194,6 +193,8 @@ } #endif + td->td_last_frame = &frame; + if ((frame.tf_eflags & PSL_I) == 0) { /* * Buggy application or kernel code has disabled From owner-p4-projects@FreeBSD.ORG Sat Apr 3 19:33:33 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C111016A4D0; Sat, 3 Apr 2004 19:33:32 -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 9B94A16A4CE for ; Sat, 3 Apr 2004 19:33:32 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9464B43D46 for ; Sat, 3 Apr 2004 19:33:32 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i343XWGe061621 for ; Sat, 3 Apr 2004 19:33:32 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i343XWR8061618 for perforce@freebsd.org; Sat, 3 Apr 2004 19:33:32 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sat, 3 Apr 2004 19:33:32 -0800 (PST) Message-Id: <200404040333.i343XWR8061618@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50302 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: Sun, 04 Apr 2004 03:33:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=50302 Change 50302 by marcel@marcel_nfs on 2004/04/03 19:33:17 We don't set tf_esp and tf_ss when we were already in kernel mode. We don't fixup the trapframe. We deal with it when we return the register values in gdb_cpu_getreg(). It's easier because it it works when we switch threads. Affected files ... .. //depot/projects/gdb/sys/i386/i386/gdb_machdep.c#6 edit Differences ... ==== //depot/projects/gdb/sys/i386/i386/gdb_machdep.c#6 (text+ko) ==== @@ -45,6 +45,7 @@ void * gdb_cpu_getreg(int regnum, size_t *regsz) { + static register_t synth; struct trapframe *tf = kdb_frame; *regsz = gdb_cpu_regsz(regnum); @@ -53,16 +54,21 @@ case 1: return (&tf->tf_ecx); case 2: return (&tf->tf_edx); case 3: return (&tf->tf_ebx); - case 4: return (&tf->tf_esp); case 5: return (&tf->tf_ebp); case 6: return (&tf->tf_esi); case 7: return (&tf->tf_edi); case 8: return (&tf->tf_eip); case 9: return (&tf->tf_eflags); case 10: return (&tf->tf_cs); - case 11: return (&tf->tf_ss); case 12: return (&tf->tf_ds); case 13: return (&tf->tf_es); + case 4: + synth = (!ISPL(tf->tf_cs)) ? + (int)&(kdb_thread->td_frame->tf_esp) : tf->tf_esp; + return (&synth); + case 11: + synth = (!ISPL(tf->tf_cs)) ? rss() : tf->tf_ss; + return (&synth); } return (NULL); } From owner-p4-projects@FreeBSD.ORG Sat Apr 3 21:20:45 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 71D8F16A4D0; Sat, 3 Apr 2004 21:20:45 -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 4C1E616A4CE for ; Sat, 3 Apr 2004 21:20:45 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 44BD243D5A for ; Sat, 3 Apr 2004 21:20:45 -0800 (PST) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i345KjGe091678 for ; Sat, 3 Apr 2004 21:20:45 -0800 (PST) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i345Kiqj091675 for perforce@freebsd.org; Sat, 3 Apr 2004 21:20:44 -0800 (PST) (envelope-from julian@freebsd.org) Date: Sat, 3 Apr 2004 21:20:44 -0800 (PST) Message-Id: <200404040520.i345Kiqj091675@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 50308 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: Sun, 04 Apr 2004 05:20:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=50308 Change 50308 by julian@julian_jules1 on 2004/04/03 21:20:00 Don't clear per_thread sched info after we have just set it up. Affected files ... .. //depot/projects/nsched/sys/kern/init_main.c#3 edit Differences ... ==== //depot/projects/nsched/sys/kern/init_main.c#3 (text+ko) ==== @@ -333,7 +333,12 @@ /* * Initialize thread, process and pgrp structures. + * Note, proc_linkup calls scheduler init routines for + * per-thread and per-ksegrp schedular areas which will undo + * what schedinit() does, so call that AFTER the proc_linkup. + * XXXKSE needs cleaning up. */ + proc_linkup(&proc0, &ksegrp0, &thread0); procinit(); /* set up proc zone */ threadinit(); /* set up thead, upcall and KSEGRP zones */ schedinit(); /* scheduler gets its house in order */ @@ -366,7 +371,6 @@ p->p_sysent = &null_sysvec; - proc_linkup(&proc0, &ksegrp0, &thread0); p->p_flag = P_SYSTEM; p->p_sflag = PS_INMEM; From owner-p4-projects@FreeBSD.ORG Sat Apr 3 21:40:11 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF16716A4D0; Sat, 3 Apr 2004 21:40:10 -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 A783316A4CE for ; Sat, 3 Apr 2004 21:40:10 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9C1B543D54 for ; Sat, 3 Apr 2004 21:40:10 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i345eAGe095683 for ; Sat, 3 Apr 2004 21:40:10 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i345eAvc095680 for perforce@freebsd.org; Sat, 3 Apr 2004 21:40:10 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sat, 3 Apr 2004 21:40:10 -0800 (PST) Message-Id: <200404040540.i345eAvc095680@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50311 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: Sun, 04 Apr 2004 05:40:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=50311 Change 50311 by marcel@marcel_nfs on 2004/04/03 21:39:53 IFC @50310 Affected files ... .. //depot/projects/gdb/bin/ps/ps.c#7 integrate .. //depot/projects/gdb/kerberos5/lib/libgssapi/Makefile#3 integrate .. //depot/projects/gdb/sbin/growfs/Makefile#5 integrate .. //depot/projects/gdb/sbin/growfs/growfs.c#5 integrate .. //depot/projects/gdb/sys/boot/sparc64/loader/metadata.c#2 integrate .. //depot/projects/gdb/sys/dev/uart/uart_cpu_sparc64.c#8 integrate .. //depot/projects/gdb/sys/pc98/conf/NOTES#7 integrate Differences ... ==== //depot/projects/gdb/bin/ps/ps.c#7 (text+ko) ==== @@ -51,7 +51,7 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.84 2004/03/30 04:20:33 gad Exp $"); +__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.85 2004/04/04 04:41:51 gad Exp $"); #include #include @@ -124,7 +124,7 @@ dev_t *ttys; uid_t *uids; void *ptr; - }; + } l; }; static int addelem_gid(struct listinfo *, const char *); @@ -443,12 +443,12 @@ parsefmt(dfmt, 0); if (nselectors == 0) { - uidlist.ptr = malloc(sizeof(uid_t)); - if (uidlist.ptr == NULL) + uidlist.l.ptr = malloc(sizeof(uid_t)); + if (uidlist.l.ptr == NULL) errx(1, "malloc failed"); nselectors = 1; uidlist.count = uidlist.maxcount = 1; - *uidlist.uids = getuid(); + *uidlist.l.uids = getuid(); } /* @@ -470,15 +470,15 @@ /* XXX - Apparently there's no KERN_PROC_GID flag. */ if (pgrplist.count == 1) { what = KERN_PROC_PGRP | showthreads; - flag = *pgrplist.pids; + flag = *pgrplist.l.pids; nselectors = 0; } else if (pidlist.count == 1) { what = KERN_PROC_PID | showthreads; - flag = *pidlist.pids; + flag = *pidlist.l.pids; nselectors = 0; } else if (ruidlist.count == 1) { what = KERN_PROC_RUID | showthreads; - flag = *ruidlist.uids; + flag = *ruidlist.l.uids; nselectors = 0; #if 0 /*- @@ -487,16 +487,16 @@ */ } else if (sesslist.count == 1) { what = KERN_PROC_SESSION | showthreads; - flag = *sesslist.pids; + flag = *sesslist.l.pids; nselectors = 0; #endif } else if (ttylist.count == 1) { what = KERN_PROC_TTY | showthreads; - flag = *ttylist.ttys; + flag = *ttylist.l.ttys; nselectors = 0; } else if (uidlist.count == 1) { what = KERN_PROC_UID | showthreads; - flag = *uidlist.uids; + flag = *uidlist.l.uids; nselectors = 0; } else if (all) { /* No need for this routine to select processes. */ @@ -523,7 +523,7 @@ */ if (pidlist.count > 0) { for (elem = 0; elem < pidlist.count; elem++) - if (kp->ki_pid == pidlist.pids[elem]) + if (kp->ki_pid == pidlist.l.pids[elem]) goto keepit; } /* @@ -540,32 +540,34 @@ goto keepit; if (gidlist.count > 0) { for (elem = 0; elem < gidlist.count; elem++) - if (kp->ki_rgid == gidlist.gids[elem]) + if (kp->ki_rgid == gidlist.l.gids[elem]) goto keepit; } if (pgrplist.count > 0) { for (elem = 0; elem < pgrplist.count; elem++) - if (kp->ki_pgid == pgrplist.pids[elem]) + if (kp->ki_pgid == + pgrplist.l.pids[elem]) goto keepit; } if (ruidlist.count > 0) { for (elem = 0; elem < ruidlist.count; elem++) - if (kp->ki_ruid == ruidlist.uids[elem]) + if (kp->ki_ruid == + ruidlist.l.uids[elem]) goto keepit; } if (sesslist.count > 0) { for (elem = 0; elem < sesslist.count; elem++) - if (kp->ki_sid == sesslist.pids[elem]) + if (kp->ki_sid == sesslist.l.pids[elem]) goto keepit; } if (ttylist.count > 0) { for (elem = 0; elem < ttylist.count; elem++) - if (kp->ki_tdev == ttylist.ttys[elem]) + if (kp->ki_tdev == ttylist.l.ttys[elem]) goto keepit; } if (uidlist.count > 0) { for (elem = 0; elem < uidlist.count; elem++) - if (kp->ki_uid == uidlist.uids[elem]) + if (kp->ki_uid == uidlist.l.uids[elem]) goto keepit; } /* @@ -667,7 +669,7 @@ if (inf->count >= inf->maxcount) expand_list(inf); - inf->gids[(inf->count)++] = grp->gr_gid; + inf->l.gids[(inf->count)++] = grp->gr_gid; return (1); } @@ -698,7 +700,7 @@ if (inf->count >= inf->maxcount) expand_list(inf); - inf->pids[(inf->count)++] = tempid; + inf->l.pids[(inf->count)++] = tempid; return (1); } #undef BSD_PID_MAX @@ -733,7 +735,7 @@ if (inf->count >= inf->maxcount) expand_list(inf); - inf->ttys[(inf->count)++] = sb.st_rdev; + inf->l.ttys[(inf->count)++] = sb.st_rdev; return (1); } @@ -779,7 +781,7 @@ if (inf->count >= inf->maxcount) expand_list(inf); - inf->uids[(inf->count)++] = pwd->pw_uid; + inf->l.uids[(inf->count)++] = pwd->pw_uid; return (1); } @@ -871,14 +873,14 @@ int newmax; newmax = (inf->maxcount + 1) << 1; - newlist = realloc(inf->ptr, newmax * inf->elemsize); + newlist = realloc(inf->l.ptr, newmax * inf->elemsize); if (newlist == NULL) { - free(inf->ptr); + free(inf->l.ptr); errx(1, "realloc to %d %ss failed", newmax, inf->lname); } inf->maxcount = newmax; - inf->ptr = newlist; + inf->l.ptr = newlist; return (newlist); } @@ -888,11 +890,11 @@ { inf->count = inf->elemsize = inf->maxcount = 0; - if (inf->ptr != NULL) - free(inf->ptr); + if (inf->l.ptr != NULL) + free(inf->l.ptr); inf->addelem = NULL; inf->lname = NULL; - inf->ptr = NULL; + inf->l.ptr = NULL; } static void @@ -904,7 +906,7 @@ inf->elemsize = elemsize; inf->addelem = artn; inf->lname = lname; - inf->ptr = NULL; + inf->l.ptr = NULL; } VARENT * ==== //depot/projects/gdb/kerberos5/lib/libgssapi/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/kerberos5/lib/libgssapi/Makefile,v 1.9 2004/02/05 18:51:48 ru Exp $ +# $FreeBSD: src/kerberos5/lib/libgssapi/Makefile,v 1.10 2004/04/04 03:31:05 nectar Exp $ LIB= gssapi INCS= gssapi.h @@ -50,6 +50,7 @@ add_cred.c \ add_oid_set_member.c \ address_to_krb5addr.c \ + arcfour.c \ canonicalize_name.c \ compare_name.c \ compat.c \ ==== //depot/projects/gdb/sbin/growfs/Makefile#5 (text+ko) ==== @@ -1,7 +1,7 @@ # @(#)Makefile 8.8 (Berkeley) 6/21/2000 # # $TSHeader: src/sbin/growfs/Makefile,v 1.4 2000/12/05 19:45:24 tomsoft Exp $ -# $FreeBSD: src/sbin/growfs/Makefile,v 1.8 2004/04/03 22:26:43 le Exp $ +# $FreeBSD: src/sbin/growfs/Makefile,v 1.9 2004/04/03 23:56:24 mux Exp $ # #GFSDBG=YES @@ -10,7 +10,7 @@ SRCS= growfs.c MAN= growfs.8 -WARNS?= 0 +WARNS?= 6 .if defined(GFSDBG) SRCS+= debug.c ==== //depot/projects/gdb/sbin/growfs/growfs.c#5 (text+ko) ==== @@ -48,7 +48,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sbin/growfs/growfs.c,v 1.20 2004/04/03 23:30:59 mux Exp $"; + "$FreeBSD: src/sbin/growfs/growfs.c,v 1.21 2004/04/04 04:17:07 bde Exp $"; #endif /* not lint */ /* ********************************************************** INCLUDES ***** */ @@ -67,6 +67,7 @@ #include #include #include +#include #include #include #include ==== //depot/projects/gdb/sys/boot/sparc64/loader/metadata.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/sparc64/loader/metadata.c,v 1.11 2004/01/04 23:20:15 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/sparc64/loader/metadata.c,v 1.12 2004/04/04 05:24:13 marcel Exp $"); #include #include @@ -69,7 +69,7 @@ int md_getboothowto(char *kargs) { - char buf[32]; + char buf[32], buf2[32]; phandle_t options; char *cp; int howto; @@ -131,9 +131,21 @@ if (getenv(howto_names[i].ev) != NULL) howto |= howto_names[i].mask; options = OF_finddevice("/options"); - OF_getprop(options, "output-device", buf, sizeof(buf)); - if (strcmp(buf, "ttya") == 0 || strcmp(buf, "ttyb") == 0) + OF_getprop(options, "input-device", buf, sizeof(buf)); + OF_getprop(options, "output-device", buf2, sizeof(buf2)); + if (strncmp(buf, "tty", sizeof("tty") - 1) == 0 && strncmp(buf2, "tty", + sizeof("tty") - 1) == 0) + howto |= RB_SERIAL; + else if (strcmp(buf, "keyboard") == 0 && strcmp(buf2, "screen") == 0) { + phandle_t chosen; + ihandle_t stdin, stdout; + + chosen = OF_finddevice("/chosen"); + OF_getprop(chosen, "stdin", &stdin, sizeof(stdin)); + OF_getprop(chosen, "stdout", &stdout, sizeof(stdout)); + if (OF_instance_to_package(stdin) == OF_instance_to_package(stdout)) howto |= RB_SERIAL; + } return(howto); } ==== //depot/projects/gdb/sys/dev/uart/uart_cpu_sparc64.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_sparc64.c,v 1.9 2004/04/02 07:33:35 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_sparc64.c,v 1.10 2004/04/04 05:06:26 marcel Exp $"); #include #include @@ -71,13 +71,14 @@ /* * Get the address of the UART that is selected as the console, if the * console is an UART of course. Note that we enforce that both stdin and - * stdout are selected. For weird configurations, use ofw_console(4). + * stdout are selected. * Note that the currently active console (i.e. /chosen/stdout and * /chosen/stdin) may not be the same as the device selected in the * environment (ie /options/output-device and /options/input-device) because - * the user may have changed the environment. In that case I would assume - * that the user expects that FreeBSD uses the new console setting. There's - * no choice, really. + * keyboard and screen were selected but the keyboard was unplugged or the + * user has changed the environment. In the latter case I would assume that + * the user expects that FreeBSD uses the new console setting. + * For weirder configurations, use ofw_console(4). */ static phandle_t uart_cpu_getdev_console(phandle_t options, char *dev, size_t devsz) @@ -89,14 +90,29 @@ return (-1); if ((input = OF_finddevice(dev)) == -1) return (-1); + if (OF_getprop(options, "output-device", buf, sizeof(buf)) == -1) + return (-1); + if (!strcmp(dev, "keyboard") && !strcmp(buf, "screen")) { + phandle_t chosen; + ihandle_t stdin, stdout; + + if ((chosen = OF_finddevice("/chosen")) == -1) + return (-1); + if (OF_getprop(chosen, "stdin", &stdin, sizeof(stdin)) == -1) + return (-1); + if ((input = OF_instance_to_package(stdin)) == -1) + return (-1); + if (OF_getprop(chosen, "stdout", &stdout, sizeof(stdout)) == -1) + return (-1); + if (OF_instance_to_package(stdout) != input) + return (-1); + snprintf(dev, devsz, "ttya"); + } else if (OF_finddevice(buf) != input) + return (-1); if (OF_getprop(input, "device_type", buf, sizeof(buf)) == -1) return (-1); if (strcmp(buf, "serial") != 0) return (-1); - if (OF_getprop(options, "output-device", buf, sizeof(buf)) == -1) - return (-1); - if (OF_finddevice(buf) != input) - return (-1); return (input); } ==== //depot/projects/gdb/sys/pc98/conf/NOTES#7 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/pc98/conf/NOTES,v 1.31 2004/04/01 14:23:41 nyan Exp $ +# $FreeBSD: src/sys/pc98/conf/NOTES,v 1.32 2004/04/04 04:41:52 nyan Exp $ # # @@ -775,7 +775,6 @@ nodevice mlx # Mylex DAC960 nodevice amr # AMI MegaRAID nodevice twe # 3ware ATA RAID -nodevice twa # 3ware 9000 series PATA/SATA RAID nodevice ataraid nodevice cm nodevice cs @@ -809,8 +808,6 @@ nooption DPT_LOST_IRQ nooption DPT_RESET_HBA nooption DPT_TIMEOUT_FACTOR -nooption TWA_DEBUG -nooption TWA_FLASH_FIRMWARE nooption AAC_DEBUG nooption ACPI_MAX_THREADS From owner-p4-projects@FreeBSD.ORG Sat Apr 3 21:44:16 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6731516A4D0; Sat, 3 Apr 2004 21:44:16 -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 4301816A4CE for ; Sat, 3 Apr 2004 21:44:16 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2456743D41 for ; Sat, 3 Apr 2004 21:44:16 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i345iFGe097554 for ; Sat, 3 Apr 2004 21:44:15 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i345iFYS097551 for perforce@freebsd.org; Sat, 3 Apr 2004 21:44:15 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sat, 3 Apr 2004 21:44:15 -0800 (PST) Message-Id: <200404040544.i345iFYS097551@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 50312 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: Sun, 04 Apr 2004 05:44:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=50312 Change 50312 by marcel@marcel_nfs on 2004/04/03 21:43:26 Implement the 'P' command (write register). While here, add comments describing each command. Affected files ... .. //depot/projects/gdb/sys/gdb/gdb_main.c#13 edit Differences ... ==== //depot/projects/gdb/sys/gdb/gdb_main.c#13 (text+ko) ==== @@ -113,19 +113,19 @@ while (gdb_rx_begin() == 0) { printf("GDB: got '%s'\n", gdb_rxp); switch (gdb_rx_char()) { - case '?': + case '?': /* Last signal. */ gdb_tx_begin('S'); gdb_tx_hex(gdb_cpu_signal(type, code), 2); gdb_tx_end(); break; - case 'c': { /* continue */ + case 'c': { /* Continue. */ uintmax_t addr; if (!gdb_rx_varhex(&addr)) gdb_cpu_setreg(GDB_REG_PC, addr); kdb_cpu_clear_singlestep(); return (1); } - case 'g': { + case 'g': { /* Read registers. */ size_t r; gdb_tx_begin(0); for (r = 0; r < GDB_NREGS; r++) @@ -133,10 +133,10 @@ gdb_tx_end(); break; } - case 'G': + case 'G': /* Write registers. */ gdb_tx_err(0); break; - case 'H': { + case 'H': { /* Set thread. */ intmax_t tid; gdb_rx_char(); gdb_rx_varhex(&tid); @@ -145,10 +145,10 @@ gdb_tx_ok(); break; } - case 'k': + case 'k': /* Kill request. */ kdb_cpu_clear_singlestep(); return (1); - case 'm': { + case 'm': { /* Read memory. */ uintmax_t addr, size; if (gdb_rx_varhex(&addr) || gdb_rx_char() != ',' || gdb_rx_varhex(&size)) { @@ -160,10 +160,21 @@ gdb_tx_end(); break; } - case 'M': + case 'M': /* Write memory. */ gdb_tx_err(0); break; - case 'q': + case 'P': { /* Write register. */ + uintmax_t reg, val; + if (gdb_rx_varhex(®) || gdb_rx_char() != '=' || + gdb_rx_varhex(&val)) { + gdb_tx_err(EINVAL); + break; + } + gdb_cpu_setreg(reg, val); + gdb_tx_ok(); + break; + } + case 'q': /* General query. */ if (gdb_rx_equal("fThreadInfo")) { thr_iter = LIST_FIRST(&allproc); gdb_tx_begin('m'); @@ -186,14 +197,14 @@ } else if (!gdb_cpu_query()) gdb_tx_empty(); break; - case 's': { /* single step */ + case 's': { /* Step. */ uintmax_t addr; if (!gdb_rx_varhex(&addr)) gdb_cpu_setreg(GDB_REG_PC, addr); kdb_cpu_set_singlestep(); return (1); } - case 'T': { + case 'T': { /* Thread alive. */ intmax_t tid; pid_t curtid; gdb_rx_varhex(&tid); From owner-p4-projects@FreeBSD.ORG Sat Apr 3 22:48:35 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 94BFC16A4D0; Sat, 3 Apr 2004 22:48:35 -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 6E48F16A4CE for ; Sat, 3 Apr 2004 22:48:35 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4D45B43D4C for ; Sat, 3 Apr 2004 22:48:35 -0800 (PST) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i346mZGe011250 for ; Sat, 3 Apr 2004 22:48:35 -0800 (PST) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i346mYjj011247 for perforce@freebsd.org; Sat, 3 Apr 2004 22:48:34 -0800 (PST) (envelope-from julian@freebsd.org) Date: Sat, 3 Apr 2004 22:48:34 -0800 (PST) Message-Id: <200404040648.i346mYjj011247@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 50315 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: Sun, 04 Apr 2004 06:48:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=50315 Change 50315 by julian@julian_jules1 on 2004/04/03 22:48:02 rethink when teh sched specific regions get cleared. probably needs more thought. Affected files ... .. //depot/projects/nsched/sys/kern/init_main.c#4 edit .. //depot/projects/nsched/sys/kern/kern_thread.c#4 edit Differences ... ==== //depot/projects/nsched/sys/kern/init_main.c#4 (text+ko) ==== ==== //depot/projects/nsched/sys/kern/kern_thread.c#4 (text+ko) ==== @@ -169,6 +169,7 @@ td->td_state = TDS_INACTIVE; td->td_oncpu = NOCPU; td->td_critnest = 1; + sched_newthread(td); } /* @@ -235,6 +236,7 @@ td->td_sleepqueue = sleepq_alloc(); td->td_turnstile = turnstile_alloc(); td->td_sched = (struct td_sched *)&td[1]; + } /* @@ -252,6 +254,18 @@ } /* + * Prepare a ksegrp for use. + */ +static void +thread_ctor(void *mem, int size, void *arg) +{ + struct ksegrp *kg; + + ke = (struct ksegrp *)mem; + sched_newkseg(kg); +} + +/* * Initialize type-stable parts of a ksegrp (when newly created). */ static void @@ -279,7 +293,6 @@ kg->kg_numthreads = 0; kg->kg_runnable = 0; kg->kg_numupcalls = 0; - sched_newkseg(kg); /* link it in now that it's consistent */ p->p_numksegrps++; TAILQ_INSERT_HEAD(&p->p_ksegrps, kg, kg_ksegrp); @@ -369,6 +382,8 @@ ksegrp_link(kg, p); thread_link(td, kg); + sched_newthread(td); + sched_newkseg(kg); } #ifndef _SYS_SYSPROTO_H_ @@ -601,7 +616,7 @@ p = td->td_proc; td2 = NULL; ku = NULL; - /* KSE-enabled processes only, please. */ + /* kSE-enabled processes only, please. */ if (!(p->p_flag & P_SA)) return (EINVAL); PROC_LOCK(p); @@ -827,7 +842,7 @@ tid_zone = uma_zcreate("TID", sizeof(struct tid_bitmap_part), NULL, NULL, NULL, NULL, UMA_ALIGN_CACHE, 0); ksegrp_zone = uma_zcreate("KSEGRP", sched_sizeof_ksegrp(), - NULL, NULL, ksegrp_init, NULL, + ksegrp_ctor, NULL, ksegrp_init, NULL, UMA_ALIGN_CACHE, 0); upcall_zone = uma_zcreate("UPCALL", sizeof(struct kse_upcall), NULL, NULL, NULL, NULL, UMA_ALIGN_CACHE, 0); @@ -1320,7 +1335,6 @@ td->td_proc = p; td->td_ksegrp = kg; td->td_flags = 0; - sched_newthread(td); LIST_INIT(&td->td_contested); callout_init(&td->td_slpcallout, CALLOUT_MPSAFE); @@ -1442,6 +1456,7 @@ bcopy(&td->td_startcopy, &td2->td_startcopy, (unsigned) RANGEOF(struct thread, td_startcopy, td_endcopy)); thread_link(td2, ku->ku_ksegrp); + sched_newthread(td2); /* inherit blocked thread's context */ cpu_set_upcall(td2, td); /* Let the new thread become owner of the upcall */ From owner-p4-projects@FreeBSD.ORG Sat Apr 3 22:51:40 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D7EEA16A4D0; Sat, 3 Apr 2004 22:51:39 -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 B26A116A4CE for ; Sat, 3 Apr 2004 22:51:39 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 954D843D5D for ; Sat, 3 Apr 2004 22:51:39 -0800 (PST) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i346pdGe012380 for ; Sat, 3 Apr 2004 22:51:39 -0800 (PST) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i346pd5c012371 for perforce@freebsd.org; Sat, 3 Apr 2004 22:51:39 -0800 (PST) (envelope-from julian@freebsd.org) Date: Sat, 3 Apr 2004 22:51:39 -0800 (PST) Message-Id: <200404040651.i346pd5c012371@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 50316 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: Sun, 04 Apr 2004 06:51:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=50316 Change 50316 by julian@julian_jules1 on 2004/04/03 22:51:35 typo Affected files ... .. //depot/projects/nsched/sys/kern/kern_thread.c#5 edit Differences ... ==== //depot/projects/nsched/sys/kern/kern_thread.c#5 (text+ko) ==== @@ -257,11 +257,11 @@ * Prepare a ksegrp for use. */ static void -thread_ctor(void *mem, int size, void *arg) +ksegrp_ctor(void *mem, int size, void *arg) { struct ksegrp *kg; - ke = (struct ksegrp *)mem; + kg = (struct ksegrp *)mem; sched_newkseg(kg); } From owner-p4-projects@FreeBSD.ORG Sat Apr 3 23:00:51 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A54E16A4D0; Sat, 3 Apr 2004 23:00:51 -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 43ECF16A4CE for ; Sat, 3 Apr 2004 23:00:51 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3CBDA43D1D for ; Sat, 3 Apr 2004 23:00:51 -0800 (PST) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i3470pGe013510 for ; Sat, 3 Apr 2004 23:00:51 -0800 (PST) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i3470oPC013507 for perforce@freebsd.org; Sat, 3 Apr 2004 23:00:50 -0800 (PST) (envelope-from julian@freebsd.org) Date: Sat, 3 Apr 2004 23:00:50 -0800 (PST) Message-Id: <200404040700.i3470oPC013507@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 50317 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: Sun, 04 Apr 2004 07:00:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=50317 Change 50317 by julian@julian_jules1 on 2004/04/03 23:00:45 hack on hack.. clean this up soon. Affected files ... .. //depot/projects/nsched/sys/kern/init_main.c#5 edit .. //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.c#6 edit Differences ... ==== //depot/projects/nsched/sys/kern/init_main.c#5 (text+ko) ==== @@ -335,10 +335,10 @@ * Initialize thread, process and pgrp structures. * Note, proc_linkup calls scheduler init routines for * per-thread and per-ksegrp schedular areas which will undo - * what schedinit() does, so call that AFTER the proc_linkup. + * what schedinit() does, but that requires that schedinit has run + * so schedinit calls proc_linkup. * XXXKSE needs cleaning up. */ - proc_linkup(&proc0, &ksegrp0, &thread0); procinit(); /* set up proc zone */ threadinit(); /* set up thead, upcall and KSEGRP zones */ schedinit(); /* scheduler gets its house in order */ ==== //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.c#6 (text+ko) ==== @@ -86,6 +86,7 @@ proc0.p_sched = NULL; /* XXX */ thread0.td_sched = &td_sched0; + proc_linkup(&proc0, &ksegrp0, &thread0); kse0.ke_state = KES_THREAD; kse_link(&proc0, &kse0, &ksegrp0); kse0.ke_thread = &thread0; From owner-p4-projects@FreeBSD.ORG Sat Apr 3 23:11:04 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 49FB316A4D1; Sat, 3 Apr 2004 23:11:04 -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 244CE16A4CF for ; Sat, 3 Apr 2004 23:11:04 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1D55043D3F for ; Sat, 3 Apr 2004 23:11:04 -0800 (PST) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i347B3Ge016456 for ; Sat, 3 Apr 2004 23:11:03 -0800 (PST) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i347B3k8016453 for perforce@freebsd.org; Sat, 3 Apr 2004 23:11:03 -0800 (PST) (envelope-from julian@freebsd.org) Date: Sat, 3 Apr 2004 23:11:03 -0800 (PST) Message-Id: <200404040711.i347B3k8016453@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 50318 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: Sun, 04 Apr 2004 07:11:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=50318 Change 50318 by julian@julian_jules1 on 2004/04/03 23:10:56 ordering problem (again) Affected files ... .. //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.c#7 edit Differences ... ==== //depot/projects/nsched/sys/kern/scheduler/4bsd/sched_4bsd_kse.c#7 (text+ko) ==== @@ -87,11 +87,10 @@ thread0.td_sched = &td_sched0; proc_linkup(&proc0, &ksegrp0, &thread0); - kse0.ke_state = KES_THREAD; kse_link(&proc0, &kse0, &ksegrp0); kse0.ke_thread = &thread0; thread0.td_kse = &kse0; /* we are running */ - + kse0.ke_state = KES_THREAD; kse_zone = uma_zcreate("KSE", sched_sizeof_kse(), NULL, NULL, kse_init, NULL, UMA_ALIGN_CACHE, 0);