freebsd-dev/sys/dev
Bill Paul 450a94af7a Deal with a few bootstrap issues:
We can't call KeFlushQueuedDpcs() during bootstrap (cold == 1), since
the flush operation sleeps to wait for completion, and we can't sleep
here (clowns will eat us).

On an i386 SMP system, if we're loaded/probed/attached during bootstrap,
smp_rendezvous() won't run us anywhere except CPU 0 (since the other CPUs
aren't launched until later), which means we won't be able to set up
the GDTs anywhere except CPU 0. To deal with this case, ctxsw_utow()
now checks to see if the TID for the current processor has been properly
initialized and sets up the GTD for the current CPU if not.

Lastly, in if_ndis.c:ndis_shutdown(), do an ndis_stop() to insure we
really halt the NIC and stop interrupts from happening.

Note that loading a driver during bootstrap is, unfortunately, kind of
a hit or miss sort of proposition. In Windows, the expectation is that
by the time a given driver's MiniportInitialize() method is called,
the system is already in 'multiuser' state, i.e. it's up and running
enough to support all the stuff specified in the NDIS API, which includes
the underlying OS-supplied facilities it implicitly depends on, such as
having all CPUs running, having the DPC queues initialized, WorkItem
threads running, etc. But in UNIX, a lot of that stuff won't work during
bootstrap. This causes a problem since we need to call MiniportInitialize()
at least once during ndis_attach() in order to find out what kind of NIC
we have and learn its station address.

What this means is that some cards just plain won't work right if
you try to pre-load the driver along with the kernel: they'll only be
probed/attach correctly if the driver is kldloaded _after_ the system
has reached multiuser. I can't really think of a way around this that
would still preserve the ability to use an NDIS device for diskless
booting.
2005-05-20 04:00:50 +00:00
..
aac Fix some busdma API violations in the dumpsys handler. 2005-05-02 22:56:52 +00:00
acpi_support Fix my copyright. 2005-05-14 10:51:16 +00:00
acpica Use General definition for general notify. 2005-05-19 09:13:26 +00:00
adlink Instead of a rather useless generation number, use a sample number to 2005-03-19 12:55:46 +00:00
advansys Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 19:24:22 +00:00
agp Add nForce3-250. 2005-04-08 18:04:39 +00:00
aha Simplify aha resource management, and fix a few bugs in unwinding 2005-01-19 06:54:10 +00:00
ahb Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
aic Remove ifdef PC98. 2005-04-13 13:02:58 +00:00
aic7xxx remove useless ptr check; cur_column can never be null 2005-03-31 05:00:31 +00:00
amd Use BUS_PROBE_DEFAULT 2005-03-06 06:55:11 +00:00
amr handle potential null ptr 2005-03-31 04:58:10 +00:00
an check copyin/copyout return values 2005-03-28 17:52:12 +00:00
ar Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 19:06:12 +00:00
arcmsr Properly mask off the status bits when checking to see if the ccb is still 2005-05-03 07:11:19 +00:00
arl Since if_arl doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-13 22:54:19 +00:00
asr Only create the rdpti alias if the asr device creation succeeds. 2005-04-29 04:47:11 +00:00
ata Make certain the the 48bit flag is reset if we dont translate LBA. 2005-05-17 12:31:54 +00:00
ath honor new IEEE80211_KEY_GROUP key flag 2005-04-12 17:56:43 +00:00
atkbdc Backout previous diffs - this functionality is already provided by the 2005-04-07 23:59:37 +00:00
auxio Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
awi reclaim mbuf chain when ieee80211_crypto_encap fails 2005-03-08 17:01:03 +00:00
bfe Releasing TX/RX descriptor dmamaps during device detachment instead of 2005-03-17 13:59:30 +00:00
bge Support the 5714C 2005-05-19 21:08:59 +00:00
bktr Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 19:06:12 +00:00
buslogic Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
cardbus Use STAILQ in preference to SLIST for the resources. Insert new resources 2005-03-18 05:19:50 +00:00
ciss Support passthru ioctl commands from 32bit binaries. 2005-05-18 05:31:34 +00:00
cm Since if_cm doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-13 22:57:44 +00:00
cnw Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
cp Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
cpufreq Only activate ICH speedstep if we're going to use it. No bugs were observed 2005-03-20 01:25:21 +00:00
cs Fix the worst offenders of style(9) with a small style sweep. 2005-01-28 06:50:59 +00:00
ct Change a directory layout for pc98. 2005-05-10 12:02:18 +00:00
ctau Use dynamic major number allocation. 2005-02-27 22:16:58 +00:00
cx netchild's mega-patch to isolate compiler dependencies into a central 2005-03-02 21:33:29 +00:00
cy Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
dc Fix newer Xircom CBE2-100 cards that were reporting 2005-04-18 03:31:29 +00:00
dcons Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
de Return BUS_PROBE_DEFAULT instead of 0. 2005-02-24 21:32:56 +00:00
dec Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
digi Staticize some symbols that are each only used in one corresponding .c file. 2005-05-06 20:53:34 +00:00
dpt Remove unnecessary dpt_free(). 2005-04-13 05:03:14 +00:00
drm Fix a panic on X startup for drivers that don't init maps themselves by storing 2005-04-24 19:03:32 +00:00
ed Remove ifdef PC98. 2005-04-13 13:02:58 +00:00
eisa Now that the Adaptec 2842 has its own probe routine, no need to have 2005-03-17 17:36:07 +00:00
em Run em_local_timer() once per second instead of running it once per 2 seconds. 2005-04-05 07:06:47 +00:00
en Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
ep Make it clear that the statement following the conditional is a NOP. 2005-04-13 06:42:43 +00:00
esp - Try to not leak resources in the attach functions of the esp(4) SBus 2005-05-19 14:51:10 +00:00
ex Include necessary declarations 2005-01-20 20:06:44 +00:00
exca Properly calculate the offset in mapping the memory of pccards. This 2005-01-11 00:32:43 +00:00
fatm Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
fb check copyin return values when loading pallete 2005-03-26 18:01:35 +00:00
fdc If we fail a sanity check for the resources just allocated, make sure 2005-03-15 08:02:47 +00:00
fe Perliminary support for Fujitsu SCSI LAN combo card. At least for the 2005-02-20 19:40:29 +00:00
firewire Explicitly hold a reference to the cdev we have just cloned. This 2005-03-31 12:19:44 +00:00
fxp Be more conservative when enabling extended features. There are fxp(4) 2005-04-22 13:05:53 +00:00
gem Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
gfb Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
harp Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
hatm Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
hfa Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
hifn Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
hme Release the IRQ resource on detach. This fixes repeatedly loading and 2005-04-05 17:51:56 +00:00
hptmv check copyin return value (and while we're at it copyout too) 2005-03-31 05:15:27 +00:00
hwpmc Add convenience APIs pmc_width() and pmc_capabilities() to -lpmc. 2005-05-01 14:11:49 +00:00
ic cosmetic change. 2005-05-14 10:26:31 +00:00
ichsmb Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:17:35 +00:00
ichwd Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
ida Test for NULL before use. 2005-04-13 17:39:43 +00:00
idt Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:17:35 +00:00
ie Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
ieee488 Don't leak mutex on open failure. 2005-04-04 17:37:35 +00:00
if_ndis Deal with a few bootstrap issues: 2005-05-20 04:00:50 +00:00
iicbus Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
iir Correct improper permissions on /dev/iir. The earlier permissions 2005-05-06 02:33:46 +00:00
io
ips Remove an extra mutex unlock in the morpheus interrupt handler. 2005-04-26 13:38:29 +00:00
ipw Initial import of ipw, iwi, ral and ural drivers: 2005-04-18 18:47:38 +00:00
isp Fix some incorrectly swapped fields in an ICB. 2005-05-11 03:00:50 +00:00
ispfw Roll firmware to the latest version. There are a bunch of features 2005-01-29 01:12:37 +00:00
iwi Print a warning once when trying to bring up interface before firmware load. 2005-05-15 21:02:51 +00:00
ixgb Convert to the faster bus_dmamap_load_mbuf_sg() interface. 2005-05-18 07:45:08 +00:00
joy
kbd Move the pc98 keymap define into pckbdtables.h because it should be used 2005-05-12 13:39:31 +00:00
led Add placeholder mutex argument to new_unrhdr(). 2005-03-07 11:05:47 +00:00
lge Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:17:35 +00:00
lnc Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:17:35 +00:00
mc146818 o mc146818(4): 2005-05-19 21:20:42 +00:00
mca
mcd netchild's mega-patch to isolate compiler dependencies into a central 2005-03-02 21:33:29 +00:00
md Request a CPU private mapping from sf_buf_alloc(). If the swap-backed 2005-02-13 21:51:50 +00:00
mem Fix module builds for i386 and amd64. 2004-08-04 18:30:31 +00:00
mii Support the 5714C 2005-05-19 21:08:59 +00:00
mk48txx - Add locking. 2005-05-19 21:16:50 +00:00
mlx plug resource leak 2005-03-31 21:58:53 +00:00
mly Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:10:49 +00:00
mpt Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:10:49 +00:00
mse Minor style(9) changes 2005-04-08 05:22:58 +00:00
my Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:10:49 +00:00
ncv takawata tells me that KXLC0003 also works with this driver, so add it 2005-02-03 23:39:29 +00:00
nge fix null ptr deref when nge_newbuf is called with an existing mbuf 2005-03-28 17:49:03 +00:00
nmdm Explicitly hold a reference to the cdev we have just cloned. This 2005-03-31 12:19:44 +00:00
nsp Minor style nits 2005-02-04 02:32:43 +00:00
null Use dynamic major number allocation. 2005-02-27 22:01:09 +00:00
nve Fix typo in a comment. 2005-05-08 08:54:23 +00:00
ofw Sync with openfirm(4) and check the return value of malloc() although 2005-05-19 15:23:17 +00:00
owi MF dev/wi: merge the pccard lists. 2005-02-03 00:40:35 +00:00
patm Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:10:49 +00:00
pbio Skip PNP probes. If there are isapnp or pnpbios instances of this driver, 2005-02-11 03:56:13 +00:00
pccard Initial import of ipw, iwi, ral and ural drivers: 2005-04-18 18:47:38 +00:00
pccbb Since cbb implements the pcib_ interface, it must also implement the 2005-04-13 16:35:15 +00:00
pcf - Introduce an ofw_bus kobj-interface for retrieving the OFW node and a 2004-08-12 17:41:33 +00:00
pci Add a detach for pci bridge and pci bus drivers. This allows one to 2005-04-29 06:22:41 +00:00
pdq Offer unhandled IOCTLS to fddi_ioctl(). 2005-03-24 01:58:20 +00:00
ppbus In ppsintr, we needed ppsdev to get to the softc and nothing else. 2005-04-14 15:56:10 +00:00
ppc don't use C keyword register as CPP macro argument name 2005-04-12 23:32:26 +00:00
pst Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:10:49 +00:00
puc Sort Oxford Semi entires. Add entry for OXCB950, a PCI/CardBus 2005-04-22 07:49:35 +00:00
ral Initial import of ipw, iwi, ral and ural drivers: 2005-04-18 18:47:38 +00:00
random Revert to the more correct array size, and correct a KASSERT to 2005-03-29 11:08:45 +00:00
ray Make a bunch of malloc types static. 2005-02-10 12:02:37 +00:00
rc Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
re Unbreak build with POLLING. I should really listen and test with NOTES 2005-03-13 01:54:41 +00:00
rndtest Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
rp - Use pci_get_device() and pci_get_vendor() when we only want one part 2005-03-25 03:10:51 +00:00
sab Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
safe Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY in 2005-03-01 08:58:06 +00:00
sbni Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
sbsh Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY in 2005-03-01 08:58:06 +00:00
scd netchild's mega-patch to isolate compiler dependencies into a central 2005-03-02 21:33:29 +00:00
sf Fix style(9) issues with __P removal. 2005-02-24 22:33:05 +00:00
si Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY in 2005-03-01 08:58:06 +00:00
sio Oops, revert a commit that snuck in with the earlier critical section 2005-04-05 18:06:28 +00:00
sk Deal with failed malloc calls[1]. 2005-04-25 10:18:24 +00:00
smbus Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
sn Only attach to network functions. I'm not aware of any multifunction 2005-01-20 19:59:31 +00:00
snc Only send packet to bpf if we are committed to send it. Previously it was 2005-02-21 17:30:10 +00:00
snp Explicitly hold a reference to the cdev we have just cloned. This 2005-03-31 12:19:44 +00:00
sound Take advantage of ebus(4) having switched to SYS_RES_MEMORY for the 2005-05-19 18:13:49 +00:00
speaker - Move timerreg.h to <arch>/include and split i8253 specific defines into 2005-05-14 09:10:02 +00:00
sr Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY in 2005-03-01 08:58:06 +00:00
stg Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY in 2005-03-01 08:58:06 +00:00
streams Use kern_open() directly rather than a stackgap detour via open(). 2005-02-07 18:22:20 +00:00
sx Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY in 2005-03-01 08:58:06 +00:00
sym eliminate double free when sym_cam_attach fails 2005-03-26 18:17:58 +00:00
syscons Remove old epson note support. 2005-05-15 09:07:42 +00:00
tdfx Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return 2005-03-01 07:50:12 +00:00
tga Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return 2005-03-01 07:50:12 +00:00
ti If resource allocation fails, we could wind up freeing the cdev without it 2005-03-31 17:16:40 +00:00
trm Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return 2005-03-01 07:50:12 +00:00
twa Make call to tw_cl_deferred_interrupt in twa_poll, not dependent on the 2005-04-29 20:03:20 +00:00
twe Use correct flags for bus_dma_tag_create(). 2005-03-06 20:57:54 +00:00
tx Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return 2005-03-01 07:50:12 +00:00
txp Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return 2005-03-01 07:50:12 +00:00
uart In uart_cnprobe(), fill in the cn_name field of the consdev structure. 2005-05-08 20:25:09 +00:00
ubsec Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return 2005-03-01 07:50:12 +00:00
usb Recognize the integrated USB controllers of Sun PCIO-2 chips which 2005-05-19 23:00:46 +00:00
utopia Split the chip-specific code from the generic Utopia code. This simplifies 2005-02-24 16:56:36 +00:00
vge Remove the extra EEPROM reload step I added before. vge_reset() 2005-04-25 23:26:20 +00:00
vkbd Dont clear all flags in vkbd_clear_state_locked(). Clear only COMPOSE flag. 2005-05-16 17:21:10 +00:00
vr Fix style(9) issues with __P removal. 2005-02-24 22:33:05 +00:00
vx Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return 2005-03-01 07:50:12 +00:00
watchdog
wds Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
wi Invert conditional and use continue to reduce nesting. 2005-04-13 03:36:24 +00:00
wl Move if_wl_i82586.h into sys/dev/wl. 2005-05-09 04:47:58 +00:00
xe u_intXX_t -> uintXX_t 2005-01-20 19:32:37 +00:00
zs The zs(4) driver is superseded by uart(4) and broken in -CURRENT. Remove 2005-02-27 15:23:58 +00:00