From owner-p4-projects@FreeBSD.ORG Thu May 31 20:37:38 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E1FC116A468; Thu, 31 May 2007 20:37:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B5F8416A46E for ; Thu, 31 May 2007 20:37:37 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A324113C458 for ; Thu, 31 May 2007 20:37:37 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l4VKbbeS067252 for ; Thu, 31 May 2007 20:37:37 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l4VKbWxP067153 for perforce@freebsd.org; Thu, 31 May 2007 20:37:32 GMT (envelope-from sam@freebsd.org) Date: Thu, 31 May 2007 20:37:32 GMT Message-Id: <200705312037.l4VKbWxP067153@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 120682 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 May 2007 20:37:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=120682 Change 120682 by sam@sam_ebb on 2007/05/31 20:37:10 IFC @ 120681 Affected files ... .. //depot/projects/wifi/sys/amd64/amd64/identcpu.c#10 integrate .. //depot/projects/wifi/sys/amd64/amd64/intr_machdep.c#15 integrate .. //depot/projects/wifi/sys/amd64/include/specialreg.h#6 integrate .. //depot/projects/wifi/sys/arm/arm/intr.c#13 integrate .. //depot/projects/wifi/sys/coda/coda_vnops.c#16 integrate .. //depot/projects/wifi/sys/compat/linux/linux_misc.c#17 integrate .. //depot/projects/wifi/sys/compat/ndis/subr_ndis.c#21 integrate .. //depot/projects/wifi/sys/compat/opensolaris/kern/opensolaris_kobj.c#3 integrate .. //depot/projects/wifi/sys/compat/opensolaris/sys/vnode.h#3 integrate .. //depot/projects/wifi/sys/conf/files#51 integrate .. //depot/projects/wifi/sys/conf/options#33 integrate .. //depot/projects/wifi/sys/dev/acpica/Osd/OsdHardware.c#7 integrate .. //depot/projects/wifi/sys/dev/acpica/acpi_dock.c#4 integrate .. //depot/projects/wifi/sys/dev/em/README#8 integrate .. //depot/projects/wifi/sys/dev/em/if_em.c#25 integrate .. //depot/projects/wifi/sys/dev/fxp/if_fxp.c#22 integrate .. //depot/projects/wifi/sys/dev/md/md.c#16 integrate .. //depot/projects/wifi/sys/dev/pccard/pccard.c#16 integrate .. //depot/projects/wifi/sys/dev/pccard/pccardvarp.h#4 integrate .. //depot/projects/wifi/sys/dev/pccbb/pccbb.c#15 integrate .. //depot/projects/wifi/sys/dev/pccbb/pccbbvar.h#8 integrate .. //depot/projects/wifi/sys/dev/sound/clone.c#1 branch .. //depot/projects/wifi/sys/dev/sound/clone.h#1 branch .. //depot/projects/wifi/sys/dev/sound/pci/via8233.c#13 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/buffer.c#9 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/channel.c#12 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/channel.h#5 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/dsp.c#14 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/dsp.h#5 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/feeder.c#9 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/mixer.c#12 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/sndstat.c#8 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/sound.c#11 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/sound.h#12 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/vchan.c#11 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/vchan.h#3 integrate .. //depot/projects/wifi/sys/dev/sound/unit.c#1 branch .. //depot/projects/wifi/sys/dev/sound/unit.h#1 branch .. //depot/projects/wifi/sys/dev/sound/usb/uaudio.c#14 integrate .. //depot/projects/wifi/sys/dev/sound/version.h#1 branch .. //depot/projects/wifi/sys/fs/devfs/devfs_vnops.c#34 integrate .. //depot/projects/wifi/sys/fs/fifofs/fifo_vnops.c#16 integrate .. //depot/projects/wifi/sys/fs/smbfs/smbfs_vnops.c#15 integrate .. //depot/projects/wifi/sys/fs/unionfs/union.h#6 integrate .. //depot/projects/wifi/sys/fs/unionfs/union_subr.c#12 integrate .. //depot/projects/wifi/sys/fs/unionfs/union_vnops.c#21 integrate .. //depot/projects/wifi/sys/i386/i386/intr_machdep.c#14 integrate .. //depot/projects/wifi/sys/i386/ibcs2/imgact_coff.c#6 integrate .. //depot/projects/wifi/sys/i386/include/specialreg.h#7 integrate .. //depot/projects/wifi/sys/ia64/ia64/interrupt.c#11 integrate .. //depot/projects/wifi/sys/kern/kern_acct.c#12 integrate .. //depot/projects/wifi/sys/kern/kern_conf.c#19 integrate .. //depot/projects/wifi/sys/kern/kern_descrip.c#26 integrate .. //depot/projects/wifi/sys/kern/kern_exec.c#23 integrate .. //depot/projects/wifi/sys/kern/kern_intr.c#18 integrate .. //depot/projects/wifi/sys/kern/kern_ktrace.c#11 integrate .. //depot/projects/wifi/sys/kern/kern_linker.c#9 integrate .. //depot/projects/wifi/sys/kern/kern_sig.c#19 integrate .. //depot/projects/wifi/sys/kern/kern_sx.c#11 integrate .. //depot/projects/wifi/sys/kern/link_elf.c#8 integrate .. //depot/projects/wifi/sys/kern/link_elf_obj.c#6 integrate .. //depot/projects/wifi/sys/kern/tty_cons.c#7 integrate .. //depot/projects/wifi/sys/kern/uipc_sockbuf.c#6 integrate .. //depot/projects/wifi/sys/kern/vfs_syscalls.c#23 integrate .. //depot/projects/wifi/sys/kern/vfs_vnops.c#22 integrate .. //depot/projects/wifi/sys/kern/vnode_if.src#15 integrate .. //depot/projects/wifi/sys/modules/sound/sound/Makefile#6 integrate .. //depot/projects/wifi/sys/net/if_bridge.c#14 integrate .. //depot/projects/wifi/sys/netinet/sctp_bsd_addr.c#7 integrate .. //depot/projects/wifi/sys/netinet/sctp_constants.h#10 integrate .. //depot/projects/wifi/sys/netinet/sctp_indata.c#10 integrate .. //depot/projects/wifi/sys/netinet/sctp_input.c#10 integrate .. //depot/projects/wifi/sys/netinet/sctp_os_bsd.h#8 integrate .. //depot/projects/wifi/sys/netinet/sctp_output.c#10 integrate .. //depot/projects/wifi/sys/netinet/sctp_pcb.c#10 integrate .. //depot/projects/wifi/sys/netinet/sctp_pcb.h#7 integrate .. //depot/projects/wifi/sys/netinet/sctputil.c#10 integrate .. //depot/projects/wifi/sys/netinet/sctputil.h#9 integrate .. //depot/projects/wifi/sys/netinet/tcp_usrreq.c#26 integrate .. //depot/projects/wifi/sys/pc98/pc98/machdep.c#12 integrate .. //depot/projects/wifi/sys/powerpc/powerpc/intr_machdep.c#5 integrate .. //depot/projects/wifi/sys/security/audit/audit.c#6 integrate .. //depot/projects/wifi/sys/security/audit/audit.h#4 integrate .. //depot/projects/wifi/sys/security/audit/audit_bsm_token.c#4 integrate .. //depot/projects/wifi/sys/security/audit/audit_private.h#4 integrate .. //depot/projects/wifi/sys/security/audit/audit_syscalls.c#6 integrate .. //depot/projects/wifi/sys/sparc64/sparc64/intr_machdep.c#6 integrate .. //depot/projects/wifi/sys/sun4v/sun4v/intr_machdep.c#5 integrate .. //depot/projects/wifi/sys/sys/conf.h#18 integrate .. //depot/projects/wifi/sys/sys/filedesc.h#13 integrate .. //depot/projects/wifi/sys/sys/sx.h#10 integrate .. //depot/projects/wifi/sys/sys/vnode.h#34 integrate .. //depot/projects/wifi/sys/ufs/ufs/ufs_quota.c#11 integrate .. //depot/projects/wifi/sys/vm/swap_pager.c#18 integrate .. //depot/projects/wifi/sys/vm/vm_map.c#18 integrate Differences ... ==== //depot/projects/wifi/sys/amd64/amd64/identcpu.c#10 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.153 2007/03/26 18:03:29 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.154 2007/05/30 14:23:26 des Exp $"); #include "opt_cpu.h" @@ -236,7 +236,7 @@ "\015" "\016CX16" /* CMPXCHG16B Instruction */ "\017xTPR" /* Send Task Priority Messages*/ - "\020" + "\020PDCM" /* Perf/Debug Capability MSR */ "\021" "\022" "\023DCA" /* Direct Cache Access */ @@ -342,13 +342,8 @@ } if (cpu_feature & CPUID_HTT && strcmp(cpu_vendor, - "AuthenticAMD") == 0) { + "AuthenticAMD") == 0) cpu_feature &= ~CPUID_HTT; - if (bootverbose) - printf("\nHTT bit cleared - FreeBSD" - " does not have licensing issues" - " requiring it.\n"); - } /* * If this CPU supports HTT or CMP then mention the ==== //depot/projects/wifi/sys/amd64/amd64/intr_machdep.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/amd64/amd64/intr_machdep.c,v 1.32 2007/05/08 21:29:12 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.33 2007/05/31 19:25:34 piso Exp $ */ /* @@ -310,7 +310,7 @@ struct thread *td; struct intr_event *ie; struct intr_handler *ih; - int error, vector, thread; + int error, vector, thread, ret; td = curthread; @@ -356,6 +356,7 @@ * a trapframe as its argument. */ td->td_intr_nesting_level++; + ret = 0; thread = 0; critical_enter(); TAILQ_FOREACH(ih, &ie->ie_handlers, ih_next) { @@ -367,9 +368,17 @@ ih->ih_filter, ih->ih_argument == NULL ? frame : ih->ih_argument, ih->ih_name); if (ih->ih_argument == NULL) - ih->ih_filter(frame); + ret = ih->ih_filter(frame); else - ih->ih_filter(ih->ih_argument); + ret = ih->ih_filter(ih->ih_argument); + /* + * Wrapper handler special case: see + * i386/intr_machdep.c::intr_execute_handlers() + */ + if (!thread) { + if (ret == FILTER_SCHEDULE_THREAD) + thread = 1; + } } /* ==== //depot/projects/wifi/sys/amd64/include/specialreg.h#6 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * from: @(#)specialreg.h 7.1 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.38 2007/03/20 20:22:45 jkim Exp $ + * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.39 2007/05/31 11:26:44 des Exp $ */ #ifndef _MACHINE_SPECIALREG_H_ @@ -123,6 +123,7 @@ #define CPUID2_CNXTID 0x00000400 #define CPUID2_CX16 0x00002000 #define CPUID2_XTPR 0x00004000 +#define CPUID2_PDCM 0x00008000 #define CPUID2_DCA 0x00040000 /* ==== //depot/projects/wifi/sys/arm/arm/intr.c#13 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.14 2007/02/23 12:18:27 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.15 2007/05/31 19:25:34 piso Exp $"); #include #include #include @@ -104,7 +104,7 @@ struct intr_event *event; struct intr_handler *ih; struct thread *td = curthread; - int i, thread; + int i, thread, ret; PCPU_LAZY_INC(cnt.v_intr); td->td_intr_nesting_level++; @@ -116,13 +116,22 @@ continue; /* Execute fast handlers. */ + ret = 0; thread = 0; TAILQ_FOREACH(ih, &event->ie_handlers, ih_next) { if (ih->ih_filter == NULL) thread = 1; else - ih->ih_filter(ih->ih_argument ? + ret = ih->ih_filter(ih->ih_argument ? ih->ih_argument : frame); + /* + * Wrapper handler special case: see + * i386/intr_machdep.c::intr_execute_handlers() + */ + if (!thread) { + if (ret == FILTER_SCHEDULE_THREAD) + thread = 1; + } } /* Schedule thread if needed. */ ==== //depot/projects/wifi/sys/coda/coda_vnops.c#16 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/coda/coda_vnops.c,v 1.71 2007/05/18 13:02:12 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/coda/coda_vnops.c,v 1.72 2007/05/31 11:51:48 kib Exp $"); #include #include @@ -257,7 +257,7 @@ cp->c_inode = inode; /* Open the cache file. */ - error = VOP_OPEN(vp, flag, cred, td, -1); + error = VOP_OPEN(vp, flag, cred, td, NULL); if (error) { printf("coda_open: VOP_OPEN on container failed %d\n", error); return (error); @@ -410,7 +410,7 @@ opened_internally = 1; MARK_INT_GEN(CODA_OPEN_STATS); error = VOP_OPEN(vp, (rw == UIO_READ ? FREAD : FWRITE), - cred, td, -1); + cred, td, NULL); printf("coda_rdwr: Internally Opening %p\n", vp); if (error) { printf("coda_rdwr: VOP_OPEN on container failed %d\n", error); @@ -1525,7 +1525,7 @@ if (cp->c_ovp == NULL) { opened_internally = 1; MARK_INT_GEN(CODA_OPEN_STATS); - error = VOP_OPEN(vp, FREAD, cred, td, -1); + error = VOP_OPEN(vp, FREAD, cred, td, NULL); printf("coda_readdir: Internally Opening %p\n", vp); if (error) { printf("coda_readdir: VOP_OPEN on container failed %d\n", error); ==== //depot/projects/wifi/sys/compat/linux/linux_misc.c#17 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.209 2007/05/18 07:10:43 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.210 2007/05/31 11:51:48 kib Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -305,7 +305,7 @@ if (error) goto cleanup; #endif - error = VOP_OPEN(vp, FREAD, td->td_ucred, td, -1); + error = VOP_OPEN(vp, FREAD, td->td_ucred, td, NULL); if (error) goto cleanup; @@ -1451,6 +1451,7 @@ int linux_gettid(struct thread *td, struct linux_gettid_args *args) { + #ifdef DEBUG if (ldebug(gettid)) printf(ARGS(gettid, "")); ==== //depot/projects/wifi/sys/compat/ndis/subr_ndis.c#21 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.107 2007/04/06 11:18:57 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.108 2007/05/31 11:51:49 kib Exp $"); /* * This file implements a translation layer between the BSD networking @@ -2961,7 +2961,7 @@ NDINIT(&nd, LOOKUP, FOLLOW | MPSAFE, UIO_SYSSPACE, path, td); flags = FREAD; - error = vn_open(&nd, &flags, 0, -1); + error = vn_open(&nd, &flags, 0, NULL); if (error) { *status = NDIS_STATUS_FILE_NOT_FOUND; ExFreePool(fh); ==== //depot/projects/wifi/sys/compat/opensolaris/kern/opensolaris_kobj.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_kobj.c,v 1.3 2007/05/02 01:03:10 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_kobj.c,v 1.4 2007/05/31 11:51:49 kib Exp $"); #include #include @@ -77,7 +77,7 @@ flags = FREAD; NDINIT(&nd, LOOKUP, NOFOLLOW, UIO_SYSSPACE, file, td); - error = vn_open_cred(&nd, &flags, 0, td->td_ucred, -1); + error = vn_open_cred(&nd, &flags, 0, td->td_ucred, NULL); NDFREE(&nd, NDF_ONLY_PNBUF); if (error != 0) return (NULL); ==== //depot/projects/wifi/sys/compat/opensolaris/sys/vnode.h#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/compat/opensolaris/sys/vnode.h,v 1.2 2007/04/23 00:52:06 pjd Exp $ + * $FreeBSD: src/sys/compat/opensolaris/sys/vnode.h,v 1.3 2007/05/31 11:51:49 kib Exp $ */ #ifndef _OPENSOLARIS_SYS_VNODE_H_ @@ -170,7 +170,7 @@ td->td_proc->p_fd->fd_cdir = rootvnode; NDINIT(&nd, LOOKUP, NOFOLLOW, UIO_SYSSPACE, pnamep, td); - error = vn_open_cred(&nd, &filemode, createmode, td->td_ucred, -1); + error = vn_open_cred(&nd, &filemode, createmode, td->td_ucred, NULL); NDFREE(&nd, NDF_ONLY_PNBUF); if (error == 0) { /* We just unlock so we hold a reference. */ ==== //depot/projects/wifi/sys/conf/files#51 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1211 2007/05/25 09:48:18 kmacy Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1213 2007/05/31 19:47:39 thompsa Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -916,6 +916,8 @@ dev/sn/if_sn_isa.c optional sn isa dev/sn/if_sn_pccard.c optional sn pccard dev/snp/snp.c optional snp +dev/sound/clone.c optional sound +dev/sound/unit.c optional sound dev/sound/isa/ad1816.c optional snd_ad1816 isa dev/sound/isa/ess.c optional snd_ess isa dev/sound/isa/gusc.c optional snd_gusc isa @@ -1557,13 +1559,13 @@ net/bpf.c standard net/bpf_jitter.c optional bpf_jitter net/bpf_filter.c optional bpf | netgraph_bpf -net/bridgestp.c optional if_bridge +net/bridgestp.c optional bridge | if_bridge net/bsd_comp.c optional ppp_bsdcomp net/ieee8023ad_lacp.c optional lagg net/if.c standard net/if_arcsubr.c optional arcnet net/if_atmsubr.c optional atm -net/if_bridge.c optional if_bridge +net/if_bridge.c optional bridge | if_bridge net/if_clone.c standard net/if_disc.c optional disc net/if_edsc.c optional edsc ==== //depot/projects/wifi/sys/conf/options#33 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.588 2007/05/15 16:43:01 mav Exp $ +# $FreeBSD: src/sys/conf/options,v 1.589 2007/05/30 17:39:44 rrs Exp $ # # On the handling of kernel options # @@ -422,6 +422,7 @@ SCTP_SACK_RWND_LOGGING opt_sctp.h SCTP_FLIGHT_LOGGING opt_sctp.h SCTP_MBUF_LOGGING opt_sctp.h +SCTP_PACKET_LOGGING opt_sctp.h # Netgraph(4). Use option NETGRAPH to enable the base netgraph code. # Each netgraph node type can be either be compiled into the kernel ==== //depot/projects/wifi/sys/dev/acpica/Osd/OsdHardware.c#7 (text+ko) ==== @@ -30,13 +30,15 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdHardware.c,v 1.21 2006/09/24 09:39:17 hrs Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdHardware.c,v 1.22 2007/05/31 00:52:32 njl Exp $"); #include +#include #include #include #include +#include #include /* @@ -232,10 +234,6 @@ return (AE_OK); } -/* XXX should use acpivar.h but too many include dependencies */ -extern ACPI_STATUS acpi_GetInteger(ACPI_HANDLE handle, char *path, int - *number); - /* * Depth-first recursive case for finding the bus, given the slot/function. */ @@ -271,10 +269,8 @@ /* Get the parent's slot and function. */ status = acpi_GetInteger(parent, "_ADR", &adr); - if (ACPI_FAILURE(status)) { - printf("acpi_bus_number: can't get _ADR\n"); + if (ACPI_FAILURE(status)) return (bus); - } slot = ACPI_HIWORD(adr); func = ACPI_LOWORD(adr); @@ -288,7 +284,7 @@ header = pci_cfgregread(bus, slot, func, PCIR_HDRTYPE, 1) & PCIM_HDRTYPE; if (header == PCIM_HDRTYPE_BRIDGE && subclass == PCIS_BRIDGE_PCI) bus = pci_cfgregread(bus, slot, func, PCIR_SECBUS_1, 1); - if (header == PCIM_HDRTYPE_CARDBUS && subclass == PCIS_BRIDGE_CARDBUS) + else if (header == PCIM_HDRTYPE_CARDBUS && subclass == PCIS_BRIDGE_CARDBUS) bus = pci_cfgregread(bus, slot, func, PCIR_SECBUS_2, 1); return (bus); } @@ -328,7 +324,8 @@ bus = acpi_bus_number(rhandle, parent, *PciId); (*PciId)->Bus = bus; if (bootverbose) { - printf("AcpiOsDerivePciId: bus %d dev %d func %d\n", - (*PciId)->Bus, (*PciId)->Device, (*PciId)->Function); + printf("AcpiOsDerivePciId: %s -> bus %d dev %d func %d\n", + acpi_name(chandle), (*PciId)->Bus, (*PciId)->Device, + (*PciId)->Function); } } ==== //depot/projects/wifi/sys/dev/acpica/acpi_dock.c#4 (text) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpi_dock.c,v 1.5 2007/03/22 18:16:40 jkim Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi_dock.c,v 1.6 2007/05/31 08:49:51 takawata Exp $ */ #include "opt_acpi.h" @@ -41,11 +41,6 @@ #define _COMPONENT ACPI_DOCK ACPI_MODULE_NAME("DOCK") -/* For Notify handler */ -#define ACPI_DOCK_NOTIFY_BUS_CHECK 0x00 -#define ACPI_DOCK_NOTIFY_DEVICE_CHECK 0x01 -#define ACPI_DOCK_NOTIFY_EJECT_REQUEST 0x03 - /* For Docking status */ #define ACPI_DOCK_STATUS_UNKNOWN -1 #define ACPI_DOCK_STATUS_UNDOCKED 0 @@ -397,11 +392,11 @@ ACPI_SERIAL_BEGIN(dock); switch (notify) { - case ACPI_DOCK_NOTIFY_BUS_CHECK: - case ACPI_DOCK_NOTIFY_DEVICE_CHECK: + case ACPI_NOTIFY_BUS_CHECK: + case ACPI_NOTIFY_DEVICE_CHECK: acpi_dock_device_check(dev); break; - case ACPI_DOCK_NOTIFY_EJECT_REQUEST: + case ACPI_NOTIFY_EJECT_REQUEST: acpi_dock_removal(dev); break; default: ==== //depot/projects/wifi/sys/dev/em/README#8 (text+ko) ==== @@ -1,8 +1,8 @@ -$FreeBSD: src/sys/dev/em/README,v 1.14 2007/05/04 00:00:11 jfv Exp $ -FreeBSD Driver for the Gigabit Family of Adapters -============================================================ +$FreeBSD: src/sys/dev/em/README,v 1.15 2007/05/30 23:32:21 jfv Exp $ +FreeBSD* Driver for Intel Network Connection +============================================= -April 18, 2007 +May 30, 2007 Contents @@ -21,8 +21,8 @@ Overview ======== -This file describes the FreeBSD* driver for the Gigabit Family of -Adapters. This driver has been developed for use with FreeBSD, Release 6.x. +This file describes the FreeBSD* driver for Intel Network Connection. +This driver has been developed for use with FreeBSD, Release 7.x. For questions related to hardware requirements, refer to the documentation supplied with your Gigabit adapter. All hardware requirements listed @@ -88,13 +88,6 @@ cd em-x.x.x/src cp *.[ch] /usr/src/sys/dev/em - cp Makefile.kernel /usr/src/sys/modules/em/Makefile - - NOTE: At this point you MUST install a patch, kernbuild.patch, which is - located in the patches directory. This is applied as shown below where - "$PATH_TO_KERNBUILD_PATCH" is the location of the kernbuild.patch: - - cd /usr/src/sys; patch -p1 < $PATH_TO_KERNBUILD_PATCH Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in /usr/src/sys/i386/conf, and ensure the following line is present: @@ -211,6 +204,8 @@ Intel(R) PRO/1000 PT Network Connection Intel(R) PRO/1000 PT Dual Port Server Adapter Intel(R) PRO/1000 PT Dual Port Network Connection + Intel(R) PRO/1000 PT Quad Port Server Adapter + Intel(R) PRO/1000 PF Quad Port Server Adapter Intel(R) PRO/1000 PF Server Adapter Intel(R) PRO/1000 PF Network Connection Intel(R) PRO/1000 PF Dual Port Server Adapter @@ -262,17 +257,12 @@ To remove a VLAN interface: - ifconfig destroy + Intel Network Connection ifconfig destroy Polling ------- - NOTES: Device Polling is only valid for non-SMP (Symmetric MultiProcessing) - kernels. - The driver has to be compiled into the kernel for Device Polling to be - enabled in the driver. - To enable polling in the driver, add the following options to the kernel configuration, and then recompile the kernel: @@ -280,9 +270,9 @@ options HZ=1000 At runtime use: - sysctl kern.polling.enable=1 to turn polling on - Use: - sysctl kern.polling.enable=0 to turn polling off + ifconfig emX polling (to turn polling on) + and: + ifconfig emX -polling (to turn it off) Checksum Offload @@ -317,20 +307,25 @@ TSO --- - The FreeBSD driver now offers support for TSO (TCP Segmentation Offload). - To enable this support perform the following: + The FreeBSD driver offers support for TSO (TCP Segmentation Offload). + + You can enable/disable it in two ways/places: + + - sysctl net.inet.tcp.tso=0 (or 1 to enable it) + + Doing this disables TSO in the stack and will affect all adapters. + + - ifconfig emX -tso + + Doing this will disable TSO only for this adapter. - Patch the kernel with the patch supplied in the tarball. - Rebuild and install the kernel. - Recompile the driver. You must alter the Makefile to build the driver with - E1000_TSO defined. + To enable: - Enable or disable TSO: - sysctl net.inet.tcp.tso=1 or 0 - 0=disabled, 1=enabled (TSO is enabled by default). + - ifconfig emX tso - NOTE: TSO is not supported on 82547 and 82544-based adapters, as well as - older adapters. + NOTES: By default only PCI-Express adapters are ENABLED to do TSO. Others + can be enabled by the user at their own risk + TSO is not supported on 82547 and 82544-based adapters, as well as older adapters. Known Limitations @@ -346,14 +341,7 @@ check your system's BIOS by downloading the Linux Firmware Developer Kit that can be obtained at http://www.linuxfirmwarekit.org/ - FreeBSD version 4.x with Symmetric MultiProcessing (SMP) - -------------------------------------------------------- - In FreeBSD version 4.x with Symmetric MultiProcessing (SMP), there is a known - issue on some newer hardware. The problem is kernel generic and only in SMP - mode. The workaround is to either use FreeBSD version 4.x in single processor - mode, or use FreeBSD 5.4 or later. - There are known performance issues with this driver when running UDP traffic with Jumbo Frames. ---------------------------------------------------------------------------- @@ -369,12 +357,12 @@ The driver can be compiled with the following changes: - Edit ./em.x.x.x/src/if_em.h to uncomment the #define E1000_MASTER_SLAVE - from within the comments. For example, change from: + Edit ./em.x.x.x/src/if_em.h to change the #define EM_MASTER_SLAVE + For example, change from: - /* #define E1000_MASTER_SLAVE 2 */ + #define EM_MASTER_SLAVE e1000_ms_hw_default to: - #define E1000_MASTER_SLAVE 2 + #define EM_MASTER_SLAVE 2 Use one of the following options: 1 = Master mode ==== //depot/projects/wifi/sys/dev/em/if_em.c#25 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.179 2007/05/24 18:11:11 jfv Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.180 2007/05/30 23:32:21 jfv Exp $*/ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -89,7 +89,7 @@ /********************************************************************* * Driver version: *********************************************************************/ -char em_driver_version[] = "Version - 6.5.2"; +char em_driver_version[] = "Version - 6.5.3"; /********************************************************************* @@ -720,10 +720,10 @@ adapter->pcix_82544 = FALSE; /* Get control from any management/hw control */ - if (((adapter->hw.mac.type != e1000_82573) && - (adapter->hw.mac.type != e1000_ich8lan) && - (adapter->hw.mac.type != e1000_ich9lan)) || - !e1000_check_mng_mode(&adapter->hw)) + if (((adapter->hw.mac.type == e1000_82573) || + (adapter->hw.mac.type == e1000_ich8lan) || + (adapter->hw.mac.type == e1000_ich9lan)) && + e1000_check_mng_mode(&adapter->hw)) em_get_hw_control(adapter); /* Tell the stack that the interface is not active */ @@ -779,11 +779,13 @@ e1000_phy_hw_reset(&adapter->hw); em_release_manageability(adapter); - if (((adapter->hw.mac.type != e1000_82573) && - (adapter->hw.mac.type != e1000_ich8lan) && - (adapter->hw.mac.type != e1000_ich9lan)) || - !e1000_check_mng_mode(&adapter->hw)) + + if (((adapter->hw.mac.type == e1000_82573) || + (adapter->hw.mac.type == e1000_ich8lan) || + (adapter->hw.mac.type == e1000_ich9lan)) && + e1000_check_mng_mode(&adapter->hw)) em_release_hw_control(adapter); + if (adapter->wol) { E1000_WRITE_REG(&adapter->hw, E1000_WUC, E1000_WUC_PME_EN); E1000_WRITE_REG(&adapter->hw, E1000_WUFC, adapter->wol); @@ -845,11 +847,13 @@ em_stop(adapter); em_release_manageability(adapter); - if (((adapter->hw.mac.type != e1000_82573) && - (adapter->hw.mac.type != e1000_ich8lan) && - (adapter->hw.mac.type != e1000_ich9lan)) || - !e1000_check_mng_mode(&adapter->hw)) + + if (((adapter->hw.mac.type == e1000_82573) || + (adapter->hw.mac.type == e1000_ich8lan) || + (adapter->hw.mac.type == e1000_ich9lan)) && + e1000_check_mng_mode(&adapter->hw)) em_release_hw_control(adapter); + if (adapter->wol) { E1000_WRITE_REG(&adapter->hw, E1000_WUC, E1000_WUC_PME_EN); E1000_WRITE_REG(&adapter->hw, E1000_WUFC, adapter->wol); @@ -871,10 +875,10 @@ em_init_locked(adapter); /* Get control from any management/hw control */ - if (((adapter->hw.mac.type != e1000_82573) && - (adapter->hw.mac.type != e1000_ich8lan) && - (adapter->hw.mac.type != e1000_ich9lan)) || - !e1000_check_mng_mode(&adapter->hw)) + if (((adapter->hw.mac.type == e1000_82573) || + (adapter->hw.mac.type == e1000_ich8lan) || + (adapter->hw.mac.type == e1000_ich9lan)) && + e1000_check_mng_mode(&adapter->hw)) em_get_hw_control(adapter); em_init_manageability(adapter); @@ -3151,8 +3155,8 @@ /* Program the Transmit Control Register */ tctl = E1000_READ_REG(&adapter->hw, E1000_TCTL); tctl &= ~E1000_TCTL_CT; - tctl = E1000_TCTL_PSP | E1000_TCTL_RTLC | E1000_TCTL_EN | - (E1000_COLLISION_THRESHOLD << E1000_CT_SHIFT); + tctl |= (E1000_TCTL_PSP | E1000_TCTL_RTLC | E1000_TCTL_EN | + (E1000_COLLISION_THRESHOLD << E1000_CT_SHIFT)); if (adapter->hw.mac.type >= e1000_82571) tctl |= E1000_TCTL_MULR; @@ -4628,7 +4632,6 @@ hw->dev_spec = malloc(size, M_DEVBUF, M_NOWAIT | M_ZERO); if (hw->dev_spec == NULL) error = ENOMEM; - bzero(hw->dev_spec, size); return (error); } ==== //depot/projects/wifi/sys/dev/fxp/if_fxp.c#22 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.265 2007/03/28 18:10:50 remko Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.266 2007/05/30 03:46:04 kevlo Exp $"); /* * Intel EtherExpress Pro/100B PCI Fast Ethernet driver @@ -249,7 +249,7 @@ static int fxp_serial_ifmedia_upd(struct ifnet *ifp); static void fxp_serial_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr); -static volatile int fxp_miibus_readreg(device_t dev, int phy, int reg); +static int fxp_miibus_readreg(device_t dev, int phy, int reg); static void fxp_miibus_writereg(device_t dev, int phy, int reg, int value); static void fxp_load_ucode(struct fxp_softc *sc); @@ -2323,7 +2323,7 @@ return (0); } -static volatile int +static int fxp_miibus_readreg(device_t dev, int phy, int reg) { struct fxp_softc *sc = device_get_softc(dev); ==== //depot/projects/wifi/sys/dev/md/md.c#16 (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.167 2006/12/14 11:34:07 kib Exp $ + * $FreeBSD: src/sys/dev/md/md.c,v 1.168 2007/05/31 11:51:49 kib Exp $ * */ @@ -913,7 +913,7 @@ if ((mdio->md_options & MD_READONLY) != 0) flags &= ~FWRITE; NDINIT(&nd, LOOKUP, FOLLOW | MPSAFE, UIO_SYSSPACE, sc->file, td); - error = vn_open(&nd, &flags, 0, -1); + error = vn_open(&nd, &flags, 0, NULL); if (error != 0) return (error); vfslocked = NDHASGIANT(&nd); ==== //depot/projects/wifi/sys/dev/pccard/pccard.c#16 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pccard/pccard.c,v 1.117 2007/02/23 12:18:49 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pccard/pccard.c,v 1.118 2007/05/31 19:29:20 piso Exp $"); #include #include @@ -118,7 +118,8 @@ static int pccard_release_resource(device_t dev, device_t child, int type, int rid, struct resource *r); static void pccard_child_detached(device_t parent, device_t dev); -static int pccard_intr(void *arg); +static int pccard_filter(void *arg); +static void pccard_intr(void *arg); static int pccard_setup_intr(device_t dev, device_t child, struct resource *irq, int flags, driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep); @@ -1177,7 +1178,7 @@ } static int -pccard_intr(void *arg) +pccard_filter(void *arg) { struct pccard_function *pf = (struct pccard_function*) arg; int reg; @@ -1208,12 +1209,20 @@ doisr = 0; } if (doisr) { - if (pf->filt_handler != NULL) - pf->filt_handler(pf->intr_handler_arg); + if (pf->intr_filter != NULL) + return (pf->intr_filter(pf->intr_handler_arg)); else - pf->intr_handler(pf->intr_handler_arg); + return (FILTER_SCHEDULE_THREAD); } - return (FILTER_HANDLED); + return (FILTER_STRAY); +} + +static void +pccard_intr(void *arg) +{ + struct pccard_function *pf = (struct pccard_function*) arg; + + pf->intr_handler(pf->intr_handler_arg); } static int @@ -1226,19 +1235,13 @@ struct pccard_function *pf = ivar->pf; int err; - if (pf->intr_handler != NULL) + if (pf->intr_filter != NULL || pf->intr_handler != NULL) panic("Only one interrupt handler per function allowed"); - if (filt != NULL && intr != NULL) - return (EINVAL); - if (filt != NULL) - err = bus_generic_setup_intr(dev, child, irq, flags, - pccard_intr, NULL, pf, cookiep); - else - err = bus_generic_setup_intr(dev, child, irq, flags, - NULL, (driver_intr_t *)pccard_intr, pf, cookiep); + err = bus_generic_setup_intr(dev, child, irq, flags, pccard_filter, + pccard_intr, pf, cookiep); if (err != 0) return (err); - pf->filt_handler = filt; + pf->intr_filter = filt; pf->intr_handler = intr; pf->intr_handler_arg = arg; pf->intr_handler_cookie = *cookiep; ==== //depot/projects/wifi/sys/dev/pccard/pccardvarp.h#4 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/pccard/pccardvarp.h,v 1.3 2007/02/23 12:18:49 piso Exp $ + * $FreeBSD: src/sys/dev/pccard/pccardvarp.h,v 1.4 2007/05/31 19:29:20 piso Exp $ */ #ifndef _PCCARD_PCCARDVARP_H @@ -112,7 +112,7 @@ bus_addr_t pf_mfc_iobase; bus_addr_t pf_mfc_iomax; int pf_flags; - driver_filter_t *filt_handler; + driver_filter_t *intr_filter; driver_intr_t *intr_handler; void *intr_handler_arg; void *intr_handler_cookie; ==== //depot/projects/wifi/sys/dev/pccbb/pccbb.c#15 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb.c,v 1.160 2007/05/16 19:53:49 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb.c,v 1.161 2007/05/31 19:29:20 piso Exp $"); #include #include @@ -84,6 +84,7 @@ #include #include #include +#include #include #include #include @@ -176,6 +177,7 @@ device_t child); static void cbb_cardbus_power_disable_socket(device_t brdev, device_t child); +static int cbb_func_filt(void *arg); static void cbb_func_intr(void *arg); static void @@ -365,18 +367,19 @@ struct cbb_softc *sc = device_get_softc(dev); int err; + if (filt == NULL && intr == NULL) + return (EINVAL); /* * Well, this is no longer strictly true. You can have multiple * FAST ISRs, but can't mix fast and slow, so we have to assume * least common denominator until the base system supports mixing * and matching better. */ - if (filt != NULL) - return (EINVAL); ih = malloc(sizeof(struct cbb_intrhand), M_DEVBUF, M_NOWAIT); if (ih == NULL) return (ENOMEM); *cookiep = ih; + ih->filt = filt; ih->intr = intr; ih->arg = arg; ih->sc = sc; @@ -385,7 +388,7 @@ * XXX for now that's all we need to do. */ err = BUS_SETUP_INTR(device_get_parent(dev), child, irq, flags, >>> TRUNCATED FOR MAIL (1000 lines) <<<