PERFORCE change 120682 for review
Sam Leffler
sam at FreeBSD.org
Thu May 31 20:37:38 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=120682
Change 120682 by sam at 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 <sys/cdefs.h>
-__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<b12>"
"\016CX16" /* CMPXCHG16B Instruction */
"\017xTPR" /* Send Task Priority Messages*/
- "\020<b15>"
+ "\020PDCM" /* Perf/Debug Capability MSR */
"\021<b16>"
"\022<b17>"
"\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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/systm.h>
#include <sys/syslog.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/systm.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <sys/types.h>
#include <sys/systm.h>
@@ -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 <sys/cdefs.h>
-__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 <contrib/dev/acpica/acpi.h>
+#include <sys/bus.h>
#include <sys/kernel.h>
#include <machine/bus.h>
#include <machine/pci_cfgreg.h>
+#include <dev/acpica/acpivar.h>
#include <dev/pci/pcireg.h>
/*
@@ -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 <vlan_name> destroy
+ Intel Network Connection ifconfig <vlan_name> 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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/systm.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/bus.h>
@@ -84,6 +84,7 @@
#include <sys/kernel.h>
#include <sys/module.h>
#include <sys/kthread.h>
+#include <sys/interrupt.h>
#include <sys/lock.h>
#include <sys/malloc.h>
#include <sys/mutex.h>
@@ -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) <<<
More information about the p4-projects
mailing list