Date: Fri, 12 Mar 2004 16:24:02 -0800 (PST) From: Robert Watson <rwatson@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 48836 for review Message-ID: <200403130024.i2D0O2mH034321@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=48836 Change 48836 by rwatson@rwatson_paprika on 2004/03/12 16:23:14 Integrate netperf_socket: FreeBSD now compiles (and runs) with ICC. vfinddev() API change (no need to specify VCHR) More mad NDIS hackery. Less pf debugging output. md deadlock removal. phk provided a clone_setup() API, so I can now fix up locking in cloned device drivers. Various GEOM bugfixes relating to teardown. NULL argv no longer allowed by execve() sparc64 boot kludge relating to cpu_driver mnt_reservedvnlist goes away. Affected files ... .. //depot/projects/netperf_socket/sys/amd64/amd64/trap.c#4 integrate .. //depot/projects/netperf_socket/sys/amd64/include/cpufunc.h#5 integrate .. //depot/projects/netperf_socket/sys/boot/arc/include/arcfuncs.h#2 integrate .. //depot/projects/netperf_socket/sys/boot/common/load_elf.c#2 integrate .. //depot/projects/netperf_socket/sys/boot/i386/boot2/boot2.c#2 integrate .. //depot/projects/netperf_socket/sys/compat/linux/linux_stats.c#3 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/kern_ndis.c#5 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/subr_ndis.c#4 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/subr_ntoskrnl.c#5 integrate .. //depot/projects/netperf_socket/sys/conf/files#8 integrate .. //depot/projects/netperf_socket/sys/conf/files.i386#4 integrate .. //depot/projects/netperf_socket/sys/conf/kern.mk#4 integrate .. //depot/projects/netperf_socket/sys/conf/kern.pre.mk#3 integrate .. //depot/projects/netperf_socket/sys/conf/kmod.mk#4 integrate .. //depot/projects/netperf_socket/sys/contrib/pf/net/if_pflog.c#2 integrate .. //depot/projects/netperf_socket/sys/contrib/pf/net/if_pfsync.c#2 integrate .. //depot/projects/netperf_socket/sys/contrib/pf/net/pf_ioctl.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/advansys/advmcode.h#2 integrate .. //depot/projects/netperf_socket/sys/dev/aic7xxx/aicasm/Makefile#3 integrate .. //depot/projects/netperf_socket/sys/dev/aic7xxx/aicasm/aicasm.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/ata/ata-chipset.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/ata/ata-pci.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/cx/machdep.h#2 integrate .. //depot/projects/netperf_socket/sys/dev/hifn/hifn7751reg.h#2 integrate .. //depot/projects/netperf_socket/sys/dev/ichsmb/ichsmb.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/if_ndis/if_ndis.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/iir/iir.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/isp/ispvar.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/mcd/mcdreg.h#2 integrate .. //depot/projects/netperf_socket/sys/dev/md/md.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/mpt/mpilib/mpi_type.h#2 integrate .. //depot/projects/netperf_socket/sys/dev/nmdm/nmdm.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/patm/if_patm.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/patm/if_patm_attach.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/patm/if_patm_intr.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/patm/if_patm_ioctl.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/patm/if_patm_rtables.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/patm/if_patm_rx.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/patm/if_patm_tx.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/scd/scdreg.h#2 integrate .. //depot/projects/netperf_socket/sys/dev/snp/snp.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/vinum/vinumconfig.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/vinum/vinumio.c#3 integrate .. //depot/projects/netperf_socket/sys/fs/specfs/spec_vnops.c#3 integrate .. //depot/projects/netperf_socket/sys/geom/geom.h#3 integrate .. //depot/projects/netperf_socket/sys/geom/geom_dump.c#2 integrate .. //depot/projects/netperf_socket/sys/geom/geom_event.c#3 integrate .. //depot/projects/netperf_socket/sys/geom/geom_int.h#2 integrate .. //depot/projects/netperf_socket/sys/geom/geom_subr.c#4 integrate .. //depot/projects/netperf_socket/sys/gnu/ext2fs/ext2_lookup.c#3 integrate .. //depot/projects/netperf_socket/sys/gnu/ext2fs/ext2_vfsops.c#3 integrate .. //depot/projects/netperf_socket/sys/gnu/ext2fs/ext2_vnops.c#2 integrate .. //depot/projects/netperf_socket/sys/i386/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/netperf_socket/sys/i386/i386/db_interface.c#3 integrate .. //depot/projects/netperf_socket/sys/i386/i386/identcpu.c#3 integrate .. //depot/projects/netperf_socket/sys/i386/i386/in_cksum.c#2 integrate .. //depot/projects/netperf_socket/sys/i386/i386/trap.c#3 integrate .. //depot/projects/netperf_socket/sys/i386/include/_types.h#2 integrate .. //depot/projects/netperf_socket/sys/i386/include/atomic.h#2 integrate .. //depot/projects/netperf_socket/sys/i386/include/bus_at386.h#2 integrate .. //depot/projects/netperf_socket/sys/i386/include/cpufunc.h#3 integrate .. //depot/projects/netperf_socket/sys/i386/include/critical.h#3 integrate .. //depot/projects/netperf_socket/sys/i386/include/endian.h#2 integrate .. //depot/projects/netperf_socket/sys/i386/include/ieeefp.h#2 integrate .. //depot/projects/netperf_socket/sys/i386/include/in_cksum.h#2 integrate .. //depot/projects/netperf_socket/sys/i386/include/ioctl_bt848.h#2 integrate .. //depot/projects/netperf_socket/sys/i386/include/ioctl_meteor.h#2 integrate .. //depot/projects/netperf_socket/sys/i386/include/pcpu.h#2 integrate .. //depot/projects/netperf_socket/sys/i386/include/profile.h#2 integrate .. //depot/projects/netperf_socket/sys/i386/include/stdarg.h#2 integrate .. //depot/projects/netperf_socket/sys/i386/isa/npx.c#3 integrate .. //depot/projects/netperf_socket/sys/i386/isa/prof_machdep.c#2 integrate .. //depot/projects/netperf_socket/sys/ia64/ia64/machdep.c#3 integrate .. //depot/projects/netperf_socket/sys/isofs/cd9660/cd9660_vfsops.c#2 integrate .. //depot/projects/netperf_socket/sys/kern/kern_condvar.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/kern_conf.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/kern_exec.c#4 integrate .. //depot/projects/netperf_socket/sys/kern/kern_synch.c#5 integrate .. //depot/projects/netperf_socket/sys/kern/subr_prof.c#2 integrate .. //depot/projects/netperf_socket/sys/kern/subr_sleepqueue.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/subr_smp.c#4 integrate .. //depot/projects/netperf_socket/sys/kern/subr_turnstile.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_bio.c#4 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_mount.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_subr.c#4 integrate .. //depot/projects/netperf_socket/sys/libkern/quad.h#2 integrate .. //depot/projects/netperf_socket/sys/net/if_tap.c#3 integrate .. //depot/projects/netperf_socket/sys/net/if_tun.c#3 integrate .. //depot/projects/netperf_socket/sys/netatm/atm_ioctl.h#2 integrate .. //depot/projects/netperf_socket/sys/nfs4client/nfs4_vnops.c#3 integrate .. //depot/projects/netperf_socket/sys/nfsclient/bootp_subr.c#3 integrate .. //depot/projects/netperf_socket/sys/nfsclient/nfs_bio.c#3 integrate .. //depot/projects/netperf_socket/sys/nfsclient/nfs_subs.c#2 integrate .. //depot/projects/netperf_socket/sys/nfsclient/nfs_vnops.c#2 integrate .. //depot/projects/netperf_socket/sys/nfsserver/nfs_serv.c#2 integrate .. //depot/projects/netperf_socket/sys/pci/if_de.c#2 integrate .. //depot/projects/netperf_socket/sys/pci/if_pcn.c#2 integrate .. //depot/projects/netperf_socket/sys/pci/if_rl.c#3 integrate .. //depot/projects/netperf_socket/sys/pci/if_sf.c#2 integrate .. //depot/projects/netperf_socket/sys/pci/if_sis.c#2 integrate .. //depot/projects/netperf_socket/sys/pci/if_sk.c#3 integrate .. //depot/projects/netperf_socket/sys/pci/if_ste.c#2 integrate .. //depot/projects/netperf_socket/sys/pci/if_ti.c#3 integrate .. //depot/projects/netperf_socket/sys/pci/if_tl.c#2 integrate .. //depot/projects/netperf_socket/sys/pci/if_vr.c#2 integrate .. //depot/projects/netperf_socket/sys/pci/if_wb.c#2 integrate .. //depot/projects/netperf_socket/sys/pci/if_xl.c#2 integrate .. //depot/projects/netperf_socket/sys/sparc64/include/_types.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/assym.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/buf.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/cdefs.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/conf.h#3 integrate .. //depot/projects/netperf_socket/sys/sys/dir.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/ioctl.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/kernel.h#4 integrate .. //depot/projects/netperf_socket/sys/sys/linker_set.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/mdioctl.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/mount.h#3 integrate .. //depot/projects/netperf_socket/sys/sys/param.h#5 integrate .. //depot/projects/netperf_socket/sys/sys/queue.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/sleepqueue.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/syslimits.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/vnode.h#2 integrate .. //depot/projects/netperf_socket/sys/ufs/ffs/ffs_softdep.c#3 integrate .. //depot/projects/netperf_socket/sys/ufs/ufs/ufs_lookup.c#2 integrate .. //depot/projects/netperf_socket/sys/ufs/ufs/ufs_vnops.c#3 integrate .. //depot/projects/netperf_socket/sys/vm/vm_map.h#2 integrate Differences ... ==== //depot/projects/netperf_socket/sys/amd64/amd64/trap.c#4 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.273 2004/03/08 00:17:27 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.274 2004/03/11 00:17:45 marcel Exp $"); /* * AMD64 Trap and System call handling @@ -629,10 +629,6 @@ printf("Idle\n"); } -#ifdef KDB - if (kdb_trap(&psl)) - return; -#endif #ifdef DDB if ((debugger_on_panic || db_active) && kdb_trap(type, 0, frame)) return; ==== //depot/projects/netperf_socket/sys/amd64/include/cpufunc.h#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/include/cpufunc.h,v 1.141 2004/03/08 00:24:15 peter Exp $ + * $FreeBSD: src/sys/amd64/include/cpufunc.h,v 1.142 2004/03/11 13:38:54 bde Exp $ */ /* @@ -119,6 +119,8 @@ __asm __volatile("sti"); } +#ifdef _KERNEL + #define HAVE_INLINE_FFS static __inline int @@ -162,6 +164,8 @@ return (mask == 0 ? mask : (int)bsrq((u_long)mask) + 1); } +#endif /* _KERNEL */ + static __inline void halt(void) { ==== //depot/projects/netperf_socket/sys/boot/arc/include/arcfuncs.h#2 (text+ko) ==== @@ -23,11 +23,11 @@ * (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/boot/arc/include/arcfuncs.h,v 1.2 1999/08/28 00:39:34 peter Exp $ + * $FreeBSD: src/sys/boot/arc/include/arcfuncs.h,v 1.3 2004/03/12 21:45:25 trhodes Exp $ * */ -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) #define INLINE inline #else #define INLINE /**/ ==== //depot/projects/netperf_socket/sys/boot/common/load_elf.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/boot/common/load_elf.c,v 1.29 2003/08/25 23:30:41 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/common/load_elf.c,v 1.30 2004/03/11 10:07:24 bde Exp $"); #include <sys/param.h> #include <sys/exec.h> @@ -492,7 +492,7 @@ ef->strsz = 0; for (i = 0; i < ndp; i++) { - if (dp[i].d_tag == NULL) + if (dp[i].d_tag == 0) break; switch (dp[i].d_tag) { case DT_HASH: ==== //depot/projects/netperf_socket/sys/boot/i386/boot2/boot2.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.67 2003/11/15 10:04:06 bde Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.68 2004/03/12 21:45:25 trhodes Exp $"); #include <sys/param.h> #include <sys/disklabel.h> @@ -139,7 +139,17 @@ static int xgetc(int); static int getc(int); +#if defined(__GNUC__) || defined(__INTEL_COMPILER) #define memcpy __builtin_memcpy +#else +static void memcpy(char *, const char *, int); +static void +memcpy(char *dst, const char *src, int len) +{ + while (len--) + *dst++ = *src++; +} +#endif static inline int strcmp(const char *s1, const char *s2) ==== //depot/projects/netperf_socket/sys/compat/linux/linux_stats.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_stats.c,v 1.57 2004/02/21 21:32:14 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_stats.c,v 1.58 2004/03/11 16:33:10 phk Exp $"); #include "opt_mac.h" @@ -366,7 +366,7 @@ * ustat in that case. */ dev = udev2dev(makeudev(args->dev >> 8, args->dev & 0xFF)); - if (dev != NODEV && vfinddev(dev, VCHR, &vp)) { + if (dev != NODEV && vfinddev(dev, &vp)) { if (vp->v_mount == NULL) return (EINVAL); #ifdef MAC ==== //depot/projects/netperf_socket/sys/compat/ndis/kern_ndis.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.41 2004/03/07 02:49:06 wpaul Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.42 2004/03/11 09:50:00 wpaul Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1293,7 +1293,7 @@ adapter = sc->ndis_block.nmb_miniportadapterctx; intrdisfunc = sc->ndis_chars.nmc_disable_interrupts_func; NDIS_UNLOCK(sc); - if (adapter == NULL || intrdisfunc) + if (adapter == NULL || intrdisfunc == NULL) return; intrdisfunc(adapter); ==== //depot/projects/netperf_socket/sys/compat/ndis/subr_ndis.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.49 2004/03/04 00:17:14 wpaul Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.51 2004/03/11 09:40:00 wpaul Exp $"); /* * This file implements a translation layer between the BSD networking @@ -472,6 +472,7 @@ block = (ndis_miniport_block *)adapter_handle; block->nmb_miniportadapterctx = adapter_ctx; block->nmb_checkforhangsecs = hangsecs; + block->nmb_flags = flags; return(NDIS_STATUS_SUCCESS); } @@ -1045,10 +1046,6 @@ timer = arg; - timerfunc = (ndis_timer_function)timer->nmt_dpc.nk_deferedfunc; - timerfunc(NULL, timer->nmt_dpc.nk_deferredctx, NULL, NULL); - ntoskrnl_wakeup(&timer->nmt_ktimer.nk_header); - /* Automatically reload timer. */ tv.tv_sec = 0; @@ -1058,6 +1055,10 @@ timer->nmt_dpc.nk_sysarg2 = ndis_tick; callout_reset(ch, tvtohz(&tv), timer->nmt_dpc.nk_sysarg2, timer); + timerfunc = (ndis_timer_function)timer->nmt_dpc.nk_deferedfunc; + timerfunc(NULL, timer->nmt_dpc.nk_deferredctx, NULL, NULL); + ntoskrnl_wakeup(&timer->nmt_ktimer.nk_header); + return; } ==== //depot/projects/netperf_socket/sys/compat/ndis/subr_ntoskrnl.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.26 2004/03/04 23:04:02 wpaul Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.27 2004/03/10 07:43:11 wpaul Exp $"); #include <sys/ctype.h> #include <sys/unistd.h> @@ -431,12 +431,12 @@ */ __stdcall static uint32_t -ntoskrnl_waitforobj(obj, reason, mode, alertable, timeout) +ntoskrnl_waitforobj(obj, reason, mode, alertable, duetime) nt_dispatch_header *obj; uint32_t reason; uint32_t mode; uint8_t alertable; - int64_t *timeout; + int64_t *duetime; { struct thread *td = curthread; kmutant *km; @@ -485,22 +485,26 @@ /* * The timeout value is specified in 100 nanosecond units * and can be a positive or negative number. If it's positive, - * then the timeout is absolute, and we need to convert it + * then the duetime is absolute, and we need to convert it * to an absolute offset relative to now in order to use it. - * If it's negative, then the timeout is relative and we + * If it's negative, then the duetime is relative and we * just have to convert the units. */ - if (timeout != NULL) { - if (*timeout < 0) { - tv.tv_sec = - (*timeout) / 10000000 ; - tv.tv_usec = (- (*timeout) / 10) - + if (duetime != NULL) { + if (*duetime < 0) { + tv.tv_sec = - (*duetime) / 10000000; + tv.tv_usec = (- (*duetime) / 10) - (tv.tv_sec * 1000000); } else { ntoskrnl_time(&curtime); - tv.tv_sec = ((*timeout) - curtime) / 10000000 ; - tv.tv_usec = ((*timeout) - curtime) / 10 - - (tv.tv_sec * 1000000); + if (*duetime < curtime) + tv.tv_sec = tv.tv_usec = 0; + else { + tv.tv_sec = ((*duetime) - curtime) / 10000000; + tv.tv_usec = ((*duetime) - curtime) / 10 - + (tv.tv_sec * 1000000); + } } } @@ -508,10 +512,10 @@ if (td->td_proc->p_flag & P_KTHREAD) error = kthread_suspend(td->td_proc, - timeout == NULL ? 0 : tvtohz(&tv)); + duetime == NULL ? 0 : tvtohz(&tv)); else error = tsleep(td, PPAUSE|PDROP, "ndisws", - timeout == NULL ? 0 : tvtohz(&tv)); + duetime == NULL ? 0 : tvtohz(&tv)); mtx_pool_lock(ndis_mtxpool, ntoskrnl_dispatchlock); @@ -549,14 +553,14 @@ __stdcall static uint32_t ntoskrnl_waitforobjs(cnt, obj, wtype, reason, mode, - alertable, timeout, wb_array) + alertable, duetime, wb_array) uint32_t cnt; nt_dispatch_header *obj[]; uint32_t wtype; uint32_t reason; uint32_t mode; uint8_t alertable; - int64_t *timeout; + int64_t *duetime; wait_block *wb_array; { struct thread *td = curthread; @@ -622,16 +626,20 @@ wcnt++; } - if (timeout != NULL) { - if (*timeout < 0) { - tv.tv_sec = - (*timeout) / 10000000 ; - tv.tv_usec = (- (*timeout) / 10) - + if (duetime != NULL) { + if (*duetime < 0) { + tv.tv_sec = - (*duetime) / 10000000; + tv.tv_usec = (- (*duetime) / 10) - (tv.tv_sec * 1000000); } else { ntoskrnl_time(&curtime); - tv.tv_sec = ((*timeout) - curtime) / 10000000 ; - tv.tv_usec = ((*timeout) - curtime) / 10 - - (tv.tv_sec * 1000000); + if (*duetime < curtime) + tv.tv_sec = tv.tv_usec = 0; + else { + tv.tv_sec = ((*duetime) - curtime) / 10000000; + tv.tv_usec = ((*duetime) - curtime) / 10 - + (tv.tv_sec * 1000000); + } } } @@ -641,10 +649,10 @@ if (td->td_proc->p_flag & P_KTHREAD) error = kthread_suspend(td->td_proc, - timeout == NULL ? 0 : tvtohz(&tv)); + duetime == NULL ? 0 : tvtohz(&tv)); else error = tsleep(td, PPAUSE|PDROP, "ndisws", - timeout == NULL ? 0 : tvtohz(&tv)); + duetime == NULL ? 0 : tvtohz(&tv)); mtx_pool_lock(ndis_mtxpool, ntoskrnl_dispatchlock); nanotime(&t2); @@ -670,7 +678,7 @@ if (error || wtype == WAITTYPE_ANY) break; - if (timeout != NULL) { + if (duetime != NULL) { tv.tv_sec -= (t2.tv_sec - t1.tv_sec); tv.tv_usec -= (t2.tv_nsec - t1.tv_nsec) / 1000; } @@ -1658,11 +1666,7 @@ timer = arg; dpc = timer->k_dpc; - timerfunc = (kdpc_func)dpc->k_deferedfunc; - timerfunc(dpc, dpc->k_deferredctx, dpc->k_sysarg1, dpc->k_sysarg2); - ntoskrnl_wakeup(&timer->k_header); - /* * If this is a periodic timer, re-arm it * so it will fire again. @@ -1675,6 +1679,14 @@ 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); + } + + ntoskrnl_wakeup(&timer->k_header); + return; } @@ -1741,9 +1753,10 @@ return(FALSE); if (timer->k_handle.callout != NULL && - callout_pending(timer->k_handle.callout)) + callout_pending(timer->k_handle.callout)) { + untimeout(ntoskrnl_timercall, timer, timer->k_handle); pending = TRUE; - else + } else pending = FALSE; timer->k_duetime = duetime; @@ -1752,14 +1765,18 @@ timer->k_dpc = dpc; if (duetime < 0) { - tv.tv_sec = - (duetime) / 10000000 ; + tv.tv_sec = - (duetime) / 10000000; tv.tv_usec = (- (duetime) / 10) - (tv.tv_sec * 1000000); } else { ntoskrnl_time(&curtime); - tv.tv_sec = ((duetime) - curtime) / 10000000 ; - tv.tv_usec = ((duetime) - curtime) / 10 - - (tv.tv_sec * 1000000); + if (duetime < curtime) + tv.tv_sec = tv.tv_usec = 0; + else { + tv.tv_sec = ((duetime) - curtime) / 10000000; + tv.tv_usec = ((duetime) - curtime) / 10 - + (tv.tv_sec * 1000000); + } } timer->k_handle = timeout(ntoskrnl_timercall, timer, tvtohz(&tv)); ==== //depot/projects/netperf_socket/sys/conf/files#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.873 2004/03/08 10:54:35 benno Exp $ +# $FreeBSD: src/sys/conf/files,v 1.874 2004/03/12 21:36:12 trhodes Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -6,12 +6,12 @@ # aicasm optional ahc \ dependency "$S/dev/aic7xxx/aicasm/*.[chyl]" \ - compile-with "${MAKE} -f $S/dev/aic7xxx/aicasm/Makefile MAKESRCPATH=$S/dev/aic7xxx/aicasm" \ + compile-with "CC=${CC} ${MAKE} -f $S/dev/aic7xxx/aicasm/Makefile MAKESRCPATH=$S/dev/aic7xxx/aicasm" \ no-obj no-implicit-rule \ clean "aicasm* y.tab.h" aicasm optional ahd \ dependency "$S/dev/aic7xxx/aicasm/*.[chyl]" \ - compile-with "${MAKE} -f $S/dev/aic7xxx/aicasm/Makefile MAKESRCPATH=$S/dev/aic7xxx/aicasm" \ + compile-with "CC=${CC} ${MAKE} -f $S/dev/aic7xxx/aicasm/Makefile MAKESRCPATH=$S/dev/aic7xxx/aicasm" \ no-obj no-implicit-rule \ clean "aicasm* y.tab.h" aic7xxx_{seq.h,reg.h,reg_print.c} optional ahc \ ==== //depot/projects/netperf_socket/sys/conf/files.i386#4 (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.467 2004/03/02 16:48:19 rik Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.468 2004/03/12 17:31:29 wpaul Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -74,11 +74,11 @@ compat/linux/linux_sysctl.c optional compat_linux compat/linux/linux_uid16.c optional compat_linux compat/linux/linux_util.c optional compat_linux -compat/ndis/kern_ndis.c optional ndisapi pci pccard -compat/ndis/subr_hal.c optional ndisapi pci pccard -compat/ndis/subr_ndis.c optional ndisapi pci pccard -compat/ndis/subr_ntoskrnl.c optional ndisapi pci pccard -compat/ndis/subr_pe.c optional ndisapi pci pccard +compat/ndis/kern_ndis.c optional ndisapi pci +compat/ndis/subr_hal.c optional ndisapi pci +compat/ndis/subr_ndis.c optional ndisapi pci +compat/ndis/subr_ntoskrnl.c optional ndisapi pci +compat/ndis/subr_pe.c optional ndisapi pci compat/pecoff/imgact_pecoff.c optional pecoff_support compat/svr4/imgact_svr4.c optional compat_svr4 compat/svr4/svr4_fcntl.c optional compat_svr4 @@ -136,6 +136,9 @@ 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_pci.c optional ndis pci +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 dev/kbd/atkbdc.c optional atkbdc dev/kbd/kbd.c optional atkbd ==== //depot/projects/netperf_socket/sys/conf/kern.mk#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.mk,v 1.40 2004/03/03 09:35:06 obrien Exp $ +# $FreeBSD: src/sys/conf/kern.mk,v 1.41 2004/03/12 21:36:12 trhodes Exp $ # # Warning flags for compiling the kernel and components of the kernel. @@ -6,9 +6,14 @@ # Note that the newly added -Wcast-qual is responsible for generating # most of the remaining warnings. Warnings introduced with -Wall will # also pop up, but are easier to fix. +.if ${CC} == "icc" +#CWARNFLAGS= -w2 # use this if you are terribly bored +CWARNFLAGS= +.else CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \ -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual \ -fformat-extensions -std=c99 +.endif # # The following flags are next up for working on: # -W @@ -22,7 +27,7 @@ # use of code cache tag lines) and uses more stack (less efficient use of data # cache tag lines) # -.if ${MACHINE_ARCH} == "i386" +.if ${MACHINE_ARCH} == "i386" && ${CC} != "icc" CFLAGS+= -mno-align-long-strings -mpreferred-stack-boundary=2 INLINE_LIMIT?= 8000 .endif @@ -80,4 +85,12 @@ # GCC 3.0 and above like to do certain optimizations based on the # assumption that the program is linked against libc. Stop this. # +.if ${CC} == "icc" +CFLAGS+= -nolib_inline +.else CFLAGS+= -ffreestanding +.endif + +.if ${CC} == "icc" +CFLAGS+= -restrict +.endif ==== //depot/projects/netperf_socket/sys/conf/kern.pre.mk#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.42 2004/02/26 03:53:52 mlaier Exp $ +# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.43 2004/03/12 21:36:12 trhodes Exp $ # Part of a unified Makefile for building kernels. This part contains all # of the definitions that need to be before %BEFORE_DEPEND. @@ -16,14 +16,28 @@ OBJCOPY?= objcopy SIZE?= size +.if ${CC} == "icc" +COPTFLAGS?=-O +.else COPTFLAGS?=-O -pipe -.if ${COPTFLAGS:M-O[23s]} != "" +. if ${COPTFLAGS:M-O[23s]} != "" COPTFLAGS+= -fno-strict-aliasing +. endif .endif .if !defined(NO_CPU_COPTFLAGS) +. if ${CC} == "icc" +COPTFLAGS+= ${_ICC_CPUCFLAGS:C/(-x[^M^K^W]+)[MKW]+|-x[MKW]+/\1/} +. else COPTFLAGS+= ${_CPUCFLAGS} +. endif .endif -INCLUDES= -nostdinc -I- ${INCLMAGIC} -I. -I$S +.if ${CC} == "icc" +NOSTDINC= -X +.else +NOSTDINC= -nostdinc +.endif + +INCLUDES= ${NOSTDINC} -I- ${INCLMAGIC} -I. -I$S # This hack lets us use the Intel ACPICA code without spamming a new # include path into 100+ source files. @@ -43,19 +57,34 @@ COPTS= ${INCLUDES} -D_KERNEL -include opt_global.h CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS} +.if ${CC} != "icc" CFLAGS+= -fno-common -finline-limit=${INLINE_LIMIT} WERROR?= -Werror +.endif # XXX LOCORE means "don't declare C stuff" not "for locore.s". ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS} .if defined(PROFLEVEL) && ${PROFLEVEL} >= 1 +. if ${CC} == "icc" +CFLAGS+= -DGPROF +. else CFLAGS+= -DGPROF -falign-functions=16 +. endif .if ${PROFLEVEL} >= 2 CFLAGS+= -DGPROF4 -DGUPROF +. if ${CC} == "icc" +# XXX doesn't work yet +#PROF= -prof_gen +. else PROF= -finstrument-functions +. endif .else +. if ${CC} == "icc" +PROF= -p +. else PROF= -pg +. endif .endif .endif DEFINED_PROF= ${PROF} ==== //depot/projects/netperf_socket/sys/conf/kmod.mk#4 (text+ko) ==== @@ -1,5 +1,5 @@ # From: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91 -# $FreeBSD: src/sys/conf/kmod.mk,v 1.154 2004/03/06 21:23:56 ru Exp $ +# $FreeBSD: src/sys/conf/kmod.mk,v 1.155 2004/03/12 21:36:12 trhodes Exp $ # # The include file <bsd.kmod.mk> handles installing Kernel Loadable Device # drivers (KLD's). @@ -70,6 +70,10 @@ .SUFFIXES: .out .o .c .cc .cxx .C .y .l .s .S +.if ${CC} == "icc" +_ICC_CFLAGS:= ${CFLAGS:C/(-x[^M^K^W]+)[MKW]+|-x[MKW]+/\1/} +CFLAGS= ${_ICC_CFLAGS} +.endif CFLAGS+= ${COPTS} -D_KERNEL CFLAGS+= -DKLD_MODULE @@ -78,7 +82,12 @@ # such paths after -nostdinc. It doesn't seem to be possible to # add to the front of `make' variable. _ICFLAGS:= ${CFLAGS:M-I*} -CFLAGS+= -nostdinc -I- ${INCLMAGIC} ${_ICFLAGS} +.if ${CC} == "icc" +NOSTDINC= -X +.else +NOSTDINC= -nostdinc +.endif +CFLAGS+= ${NOSTDINC} -I- ${INCLMAGIC} ${_ICFLAGS} .if defined(KERNBUILDDIR) CFLAGS+= -include ${KERNBUILDDIR}/opt_global.h .endif @@ -102,11 +111,15 @@ CFLAGS+= -I@/../include -I${DESTDIR}/usr/include .endif # @ +.if ${CC} != "icc" CFLAGS+= -finline-limit=${INLINE_LIMIT} +.endif # Disallow common variables, and if we end up with commons from # somewhere unexpected, allocate storage for them in the module itself. +.if ${CC} != "icc" CFLAGS+= -fno-common +.endif LDFLAGS+= -d -warn-common CFLAGS+= ${DEBUG_FLAGS} ==== //depot/projects/netperf_socket/sys/contrib/pf/net/if_pflog.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/pf/net/if_pflog.c,v 1.2 2004/02/26 02:34:12 mlaier Exp $ */ +/* $FreeBSD: src/sys/contrib/pf/net/if_pflog.c,v 1.3 2004/03/10 15:08:21 mlaier Exp $ */ /* $OpenBSD: if_pflog.c,v 1.9 2003/05/14 08:42:00 canacar Exp $ */ /* * The authors of this code are John Ioannidis (ji@tla.org), @@ -363,7 +363,6 @@ case MOD_LOAD: LIST_INIT(&pflog_list); if_clone_attach(&pflog_cloner); - printf("pflog: $Name: $\n"); break; case MOD_UNLOAD: ==== //depot/projects/netperf_socket/sys/contrib/pf/net/if_pfsync.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.2 2004/02/26 02:34:12 mlaier Exp $ */ +/* $FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.3 2004/03/10 15:08:21 mlaier Exp $ */ /* $OpenBSD: if_pfsync.c,v 1.6 2003/06/21 09:07:01 djm Exp $ */ /* @@ -527,7 +527,6 @@ case MOD_LOAD: LIST_INIT(&pfsync_list); if_clone_attach(&pfsync_cloner); - printf("pfsync: $Name: $\n"); break; case MOD_UNLOAD: ==== //depot/projects/netperf_socket/sys/contrib/pf/net/pf_ioctl.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.2 2004/02/26 02:34:12 mlaier Exp $ */ +/* $FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.3 2004/03/10 15:08:21 mlaier Exp $ */ /* $OpenBSD: pf_ioctl.c,v 1.81 2003/08/22 21:50:34 david Exp $ */ /* @@ -3221,7 +3221,6 @@ ++pfaltq_ref; mtx_unlock(&pf_altq_mtx); #endif - printf("pf: $Name: $\n"); return (0); } ==== //depot/projects/netperf_socket/sys/dev/advansys/advmcode.h#2 (text+ko) ==== @@ -1,7 +1,7 @@ /* * Exported interface to downloadable microcode for AdvanSys SCSI Adapters * - * $FreeBSD: src/sys/dev/advansys/advmcode.h,v 1.6 2000/01/14 03:33:38 gibbs Exp $ + * $FreeBSD: src/sys/dev/advansys/advmcode.h,v 1.7 2004/03/10 20:52:47 phk Exp $ * * Obtained from: * @@ -14,6 +14,6 @@ * modification. */ -extern u_int16_t adv_mcode[]; +extern u_int8_t adv_mcode[]; extern u_int16_t adv_mcode_size; extern u_int32_t adv_mcode_chksum; ==== //depot/projects/netperf_socket/sys/dev/aic7xxx/aicasm/Makefile#3 (text+ko) ==== @@ -1,6 +1,7 @@ +# # $Id: //depot/aic7xxx/freebsd/dev/aic7xxx/aicasm/Makefile#2 $ # -# $FreeBSD: src/sys/dev/aic7xxx/aicasm/Makefile,v 1.17 2004/02/05 22:44:24 ru Exp $ +# $FreeBSD: src/sys/dev/aic7xxx/aicasm/Makefile,v 1.18 2004/03/12 21:36:12 trhodes Exp $ PROG= aicasm @@ -22,7 +23,13 @@ DEPENDFILE= .endif -CFLAGS+= -nostdinc -I/usr/include -I. +.if ${CC} == "icc" +CFLAGS+= -restrict +NOSTDINC= -X +.else +NOSTDINC= -nostdinc +.endif +CFLAGS+= ${NOSTDINC} -I/usr/include -I. .ifdef MAKESRCPATH CFLAGS+= -I${MAKESRCPATH} .endif ==== //depot/projects/netperf_socket/sys/dev/aic7xxx/aicasm/aicasm.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ * * $Id: //depot/aic7xxx/aic7xxx/aicasm/aicasm.c#23 $ * - * $FreeBSD: src/sys/dev/aic7xxx/aicasm/aicasm.c,v 1.36 2003/12/17 00:01:11 gibbs Exp $ + * $FreeBSD: src/sys/dev/aic7xxx/aicasm/aicasm.c,v 1.37 2004/03/12 21:45:25 trhodes Exp $ */ #include <sys/types.h> #include <sys/mman.h> @@ -143,7 +143,7 @@ yydebug = 0; mmdebug = 0; #endif - while ((ch = getopt(argc, argv, "d:i:l:n:o:p:r:I:")) != -1) { + while ((ch = getopt(argc, argv, "d:i:l:n:o:p:r:I:X")) != -1) { switch(ch) { case 'd': #if DEBUG @@ -244,6 +244,9 @@ } break; } + case 'X': + /* icc version of -nostdinc */ + break; case '?': default: usage(); @@ -309,7 +312,7 @@ { (void)fprintf(stderr, -"usage: %-16s [-nostdinc] [-I-] [-I directory] [-o output_file]\n" +"usage: %-16s [-nostdinc|-X] [-I-] [-I directory] [-o output_file]\n" " [-r register_output_file [-p register_diag_file -i includefile]]\n" " [-l program_list_file]\n" " input_file\n", appname); ==== //depot/projects/netperf_socket/sys/dev/ata/ata-chipset.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.63 2004/03/04 16:39:59 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.64 2004/03/11 14:08:10 sos Exp $"); #include "opt_ata.h" #include <sys/param.h> @@ -2138,7 +2138,8 @@ { ATA_VIA8237, 0x00, VIA133, 0x00, ATA_UDMA6, "VIA 8237" }, { 0, 0, 0, 0, 0, 0 }}; static struct ata_chip_id new_ids[] = - {{ ATA_VIA8237_1, 0x00, 0x00, 0x00, ATA_SA150, "VIA 8237" }, + {{ ATA_VIA6410, 0x00, 0x00, 0x00, ATA_UDMA6, "VIA 6410" }, + { ATA_VIA6420, 0x00, 0x00, 0x00, ATA_SA150, "VIA 6420" }, { 0, 0, 0, 0, 0, 0 }}; char buffer[64]; ==== //depot/projects/netperf_socket/sys/dev/ata/ata-pci.h#3 (text+ko) ==== @@ -25,7 +25,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/dev/ata/ata-pci.h,v 1.25 2004/02/25 09:55:49 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-pci.h,v 1.26 2004/03/11 14:08:11 sos Exp $ */ /* structure holding chipset config info */ @@ -224,11 +224,12 @@ #define ATA_VIA8233C 0x31091106 #define ATA_VIA8235 0x31771106 #define ATA_VIA8237 0x32271106 -#define ATA_VIA8237_1 0x31491106 #define ATA_VIA8361 0x31121106 #define ATA_VIA8363 0x03051106 #define ATA_VIA8371 0x03911106 #define ATA_VIA8662 0x31021106 +#define ATA_VIA6410 0x31641106 +#define ATA_VIA6420 0x31491106 /* chipset setup related defines */ #define ATPOLD 1 ==== //depot/projects/netperf_socket/sys/dev/cx/machdep.h#2 (text+ko) ==== @@ -15,7 +15,7 @@ * all derivative works or modified versions. * * Cronyx Id: machdep.h,v 1.3.4.3 2003/11/27 14:21:58 rik Exp $ - * $FreeBSD: src/sys/dev/cx/machdep.h,v 1.1 2003/12/03 07:29:38 imp Exp $ + * $FreeBSD: src/sys/dev/cx/machdep.h,v 1.2 2004/03/12 21:45:26 trhodes Exp $ */ /* @@ -84,7 +84,7 @@ #endif #ifndef inline -# if __GNUC__ >= 2 +# if __GNUC__ >= 2 || defined(__INTEL_COMPILER) # define inline __inline__ # else # define inline /**/ >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403130024.i2D0O2mH034321>