freebsd-nq/sys
Bill Paul 63ba67b69c - Correct one aspect of the driver_object/device_object/IRP framework:
when we create a PDO, the driver_object associated with it is that
  of the parent driver, not the driver we're trying to attach. For
  example, if we attach a PCI device, the PDO we pass to the NdisAddDevice()
  function should contain a pointer to fake_pci_driver, not to the NDIS
  driver itself. For PCI or PCMCIA devices this doesn't matter because
  the child never needs to talk to the parent bus driver, but for USB,
  the child needs to be able to send IRPs to the parent USB bus driver, and
  for that to work the parent USB bus driver has to be hung off the PDO.

  This involves modifying windrv_lookup() so that we can search for
  bus drivers by name, if necessary. Our fake bus drivers attach themselves
  as "PCI Bus," "PCCARD Bus" and "USB Bus," so we can search for them
  using those names.

  The individual attachment stubs now create and attach PDOs to the
  parent bus drivers instead of hanging them off the NDIS driver's
  object, and in if_ndis.c, we now search for the correct driver
  object depending on the bus type, and use that to find the correct PDO.

  With this fix, I can get my sample USB ethernet driver to deliver
  an IRP to my fake parent USB bus driver's dispatch routines.

- Add stub modules for USB support: subr_usbd.c, usbd_var.h and
  if_ndis_usb.c. The subr_usbd.c module is hooked up the build
  but currently doesn't do very much. It provides the stub USB
  parent driver object and a dispatch routine for
  IRM_MJ_INTERNAL_DEVICE_CONTROL. The only exported function at
  the moment is USBD_GetUSBDIVersion(). The if_ndis_usb.c stub
  compiles, but is not hooked up to the build yet. I'm putting
  these here so I can keep them under source code control as I
  flesh them out.
2005-02-24 21:49:14 +00:00
..
alpha Use a common multi-inclusion protection, and add such a 2005-02-19 21:16:48 +00:00
amd64 According to kern_poll.c, you cannot use DEVICE_POLLING with SMP. Add a 2005-02-23 04:13:11 +00:00
arm MFp4: get the code that set the pc correctly to work, remove a few IQ31244 2005-02-20 21:34:59 +00:00
boot Document the new default init_path. 2005-02-17 11:14:45 +00:00
bsm Add a stub audit_kevents.h, which defines exactly one audit event: 2005-02-02 14:27:36 +00:00
cam Reference a pointer correctly when copying to it's location. 2005-02-21 00:28:36 +00:00
coda Replace the workaround for a deadlock bug in Coda with a different 2005-02-20 23:01:57 +00:00
compat - Correct one aspect of the driver_object/device_object/IRP framework: 2005-02-24 21:49:14 +00:00
conf - Correct one aspect of the driver_object/device_object/IRP framework: 2005-02-24 21:49:14 +00:00
contrib Do not fail to initialize callouts (on SMP only) -- it leads to crashing. 2005-02-22 04:27:05 +00:00
crypto Start the dreaded NOFOO -> NO_FOO conversion. 2004-12-21 08:47:35 +00:00
ddb Start each of the license/copyright comments with /*- 2005-01-06 01:34:41 +00:00
dev - Correct one aspect of the driver_object/device_object/IRP framework: 2005-02-24 21:49:14 +00:00
doc
fs remove dead code 2005-02-22 19:02:24 +00:00
gdb /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 18:27:30 +00:00
geom Correctly calculate what to do and how to retry a request to a plex when 2005-02-23 14:59:14 +00:00
gnu move ptr deref's to after null ptr checks 2005-02-24 01:40:52 +00:00
i4b /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 22:18:23 +00:00
i386 Correct an off-by-one error in the number of settings est announces. 2005-02-24 20:20:11 +00:00
ia64 Use a common multi-inclusion protection, and add such a 2005-02-19 21:16:48 +00:00
isa Use the local APIC timer to drive the various kernel clocks on SMP machines 2005-02-08 20:25:07 +00:00
isofs/cd9660 Conditionalize cd9660 chattiness regarding the nature of the file system 2005-02-18 10:49:55 +00:00
kern Bump the maximum number of levels to 64 and add warning messages about 2005-02-24 20:21:41 +00:00
libkern Add strspn() to libkern. 2005-02-10 20:39:39 +00:00
modules - Correct one aspect of the driver_object/device_object/IRP framework: 2005-02-24 21:49:14 +00:00
net o Move ifcr_count sanity check up and reject negative values before we 2005-02-24 13:14:41 +00:00
net80211 mark timestamp for pending fragments 2005-02-23 04:52:30 +00:00
netatalk When generating a phase II ARP lookup from aarpwhohas(), use a 2005-02-22 14:37:22 +00:00
netatm In the current world order, solisten() implements the state transition of 2005-02-21 21:58:17 +00:00
netgraph In the current world order, solisten() implements the state transition of 2005-02-21 21:58:17 +00:00
netinet Fix problem when master comes up with one interface down, and preempts 2005-02-24 09:05:28 +00:00
netinet6 eliminate dead code 2005-02-23 22:53:04 +00:00
netipsec /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
netipx In the current world order, solisten() implements the state transition of 2005-02-21 21:58:17 +00:00
netkey fixed an unexpected addr/port matching failure in IPv6 SA management 2005-01-10 13:06:42 +00:00
netnatm Mark netatm and netnatm explicitly as requiring Giant, as they still do. 2005-02-17 14:21:22 +00:00
netncp avoid potential null ptr derefs 2005-02-23 22:44:38 +00:00
netsmb /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
nfs /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
nfs4client Follow v_id changes in NFSv[23] 2005-02-22 15:15:28 +00:00
nfsclient vp->v_id is a private field for the vfs namecache and it is a big mistake 2005-02-22 14:52:00 +00:00
nfsserver Don't try to create vnode_pager objects on other filesystems vnodes, 2005-01-24 22:09:13 +00:00
opencrypto /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
pc98 Fix to support Buffalo HYPERMEMORY. 2005-02-24 13:15:05 +00:00
pccard Remove more deadwood that never got implemented in NEWCARD, since NEWCARD 2005-02-15 02:54:53 +00:00
pci Return BUS_PROBE_DEFAULT instead of 0. 2005-02-24 21:32:56 +00:00
posix4 /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
powerpc Use a common multi-inclusion protection, and add such a 2005-02-19 21:16:48 +00:00
rpc /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
security Remove an accidental clearing of the new label pointer on a system V 2005-02-24 16:08:41 +00:00
sparc64 Silence witness warnings about duplicate pmap lock emitted since 2005-02-18 15:37:34 +00:00
sys Introduce defines for different levels of match in the bus probe routine to 2005-02-24 19:22:54 +00:00
tools Add VOP_FOO_APV() which takes a pointer to the vop_vector. 2005-02-08 12:54:32 +00:00
ufs - Add VOP locking asserts in several functions that have been implicated in 2005-02-22 23:56:42 +00:00
vm Revert the first part of revision 1.114 and modify the second part. On 2005-02-24 06:13:01 +00:00
Makefile Add a NO_BOOT knob to prevent building the boot blocks and loader. 2004-08-19 09:54:28 +00:00