freebsd-skq/sys/dev
peter f10fa038c1 With this commit, I hereby pronounce gensetdefs past its use-by date.
Replace the a.out emulation of 'struct linker_set' with something
a little more flexible.  <sys/linker_set.h> now provides macros for
accessing elements and completely hides the implementation.

The linker_set.h macros have been on the back burner in various
forms since 1998 and has ideas and code from Mike Smith (SET_FOREACH()),
John Polstra (ELF clue) and myself (cleaned up API and the conversion
of the rest of the kernel to use it).

The macros declare a strongly typed set.  They return elements with the
type that you declare the set with, rather than a generic void *.

For ELF, we use the magic ld symbols (__start_<setname> and
__stop_<setname>).  Thanks to Richard Henderson <rth@redhat.com> for the
trick about how to force ld to provide them for kld's.

For a.out, we use the old linker_set struct.

NOTE: the item lists are no longer null terminated.  This is why
the code impact is high in certain areas.

The runtime linker has a new method to find the linker set
boundaries depending on which backend format is in use.

linker sets are still module/kld unfriendly and should never be used
for anything that may be modular one day.

Reviewed by:	eivind
2001-06-13 10:58:39 +00:00
..
aac Make the disk mini-layer check for and handle zero-length transfers 2001-05-06 21:55:22 +00:00
acpica What I get for "fixing" at the last minute. Correct a mis-merge of takawata's 2001-05-30 05:34:10 +00:00
advansys Restore I/O port resources to the condition before adv_isa_probe() is 2001-05-06 09:28:18 +00:00
agp Introduce a global lock for the vm subsystem (vm_mtx). 2001-05-19 01:28:09 +00:00
aha Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
ahb Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
aic Add PnP IDs for AHA-1530 and AHA-1520 cards. 2001-06-06 22:32:29 +00:00
aic7xxx ahc_eisa.c: 2001-05-15 19:41:12 +00:00
amd Move unused functions into #if 0 ... #endif. 2001-05-06 08:07:10 +00:00
amr Make the disk mini-layer check for and handle zero-length transfers 2001-05-06 21:55:22 +00:00
an Currently, each wireless networking driver has it's own control program 2001-05-26 09:27:08 +00:00
ar Move the isa parts to a separate file. 2001-04-16 13:20:39 +00:00
asr Fix probing on the alpha. It still causes the alpha to panic during 2001-04-03 00:26:34 +00:00
ata Add support for yet another Promise ATA100 variant 2001-06-08 09:51:33 +00:00
atkbdc Hints overhaul: 2001-06-12 09:40:04 +00:00
awi Currently, each wireless networking driver has it's own control program 2001-05-26 09:27:08 +00:00
bktr Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
buslogic Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
cardbus Use bus_space when reading CIS. This allows us to access it in 8 bit 2001-06-05 23:42:51 +00:00
ccd Polish error handling with biofinish(). 2001-05-08 09:10:27 +00:00
cnw Use enumeration types for CARD_SET_RES_FLAGS. 2001-05-08 23:57:32 +00:00
cs Additional enhancments to allow IBM Etherjet cards to be probed, 2001-02-23 08:08:21 +00:00
ct Added another wd33c93 based SCSI card driver which replaces the bs driver. 2001-02-27 12:34:01 +00:00
cy Remove unneeded includes of sys/ipl.h and machine/ipl.h. 2001-05-15 23:22:29 +00:00
dc Catch up to header include changes: 2001-03-28 09:17:56 +00:00
de Remove some unused stuff 2001-03-25 07:21:04 +00:00
dec Fix a botch where we wrote the year register with > 2 digits (and 2001-03-09 20:39:02 +00:00
dgb New-busify and ansify. 2001-04-14 15:32:16 +00:00
digi MALLOC -> malloc, FREE -> free 2001-05-22 18:10:57 +00:00
dpt Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00
ed Add support for Dlink DL10022 to the ed driver. This is a mii part 2001-03-03 08:31:37 +00:00
eisa Unbreak EISA. The PCI-EISA bridge bus is named eisab', not isab'. 2001-02-09 16:33:53 +00:00
en Lock down the network interface queues. The queue mutex must be obtained 2000-11-25 07:35:38 +00:00
ep Commit part of the patch that I have for card eject problems with the 2001-06-05 22:29:16 +00:00
ex Mechanical change to use <sys/queue.h> macro API instead of 2001-02-04 13:13:25 +00:00
fb With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
fdc Hints overhaul: 2001-06-12 09:40:04 +00:00
fe Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
fxp While in the interrupt loop, check for a bogus interrupt value of 0xff. 2001-06-04 22:01:44 +00:00
hea Fix typo: seperate -> separate. 2001-02-06 11:21:58 +00:00
hfa Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00
ic Move the files from i386/isa/ic/ to dev/ic/. 2001-06-10 04:28:39 +00:00
ichsmb Catch up to header include changes: 2001-03-28 09:17:56 +00:00
ida Make the disk mini-layer check for and handle zero-length transfers 2001-05-06 21:55:22 +00:00
ie Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
iicbus Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00
isp Fix botch for state levels. Role minor release. Start adding code for a 2001-06-05 17:11:06 +00:00
ispfw update to latest and greatest f/w 2001-02-11 03:35:45 +00:00
joy Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00
kbd With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
lge Use LGE_INC() macro to increment tx producer index in lge_encap(). 2001-06-06 19:16:02 +00:00
lmc Fix typo: seperate -> separate. 2001-02-06 11:21:58 +00:00
lnc Use a module name of 'if_lnc' in both the PCI and ISA sections of 2001-03-18 17:44:23 +00:00
mc146818 Add missing $FreeBSD$ 2000-05-01 19:54:26 +00:00
mca - Remove an unused write_ivars function that didn't do anything anyway. 2001-01-19 09:29:34 +00:00
mcd Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00
md Remove MFS compat bits. 2001-05-29 18:49:23 +00:00
mii Only touch the PCR register in order to set bits for the fxp driver. 2001-06-02 19:51:02 +00:00
mlx Make the disk mini-layer check for and handle zero-length transfers 2001-05-06 21:55:22 +00:00
mly Avoid divide-by-zero for devices that the adapter has not negotiated a 2001-04-21 04:08:26 +00:00
mse Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00
musycc Dang, I lost the sign in that brucification. DTRT with PCATCH. 2001-05-26 09:37:42 +00:00
ncv Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
nge - Remember to set the 'extsts enable' bit in the CFG register to enable the 2001-06-06 22:16:23 +00:00
nmdm Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00
nsp Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
null Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00
ofw OpenFirmware/PowerPC loader, part 2. 2000-11-10 06:39:58 +00:00
pccard Fix the panics for real this time. When something can't be allocated, 2001-05-10 06:55:39 +00:00
pccbb Separate out pci cardbus bridge definitions to a common file for use 2001-05-25 19:12:58 +00:00
pcf Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
pci Fix reversed arguments to pci_write_config() 2001-06-03 09:45:40 +00:00
pcic Add PC9801-102 CBUS card to the list of plug and play devices. Some 2001-06-09 06:43:54 +00:00
pdq Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
ppbus -Wunused cleanup 2001-06-12 07:01:27 +00:00
ppc Consider that the chipset may be in ECP mode (from BIOS settings) 2001-01-25 10:51:41 +00:00
random Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
ray Primary purpose of this commit is to enable support for the Aviator 2001-05-17 22:23:49 +00:00
rc Remove unneeded includes of sys/ipl.h and machine/ipl.h. 2001-05-15 23:22:29 +00:00
rp Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00
scd Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00
sf Big round of minor updates: 2001-02-21 20:54:22 +00:00
si Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00
sio Close the line displine on detach. Lots of folks have submittd this, and 2001-06-05 05:58:57 +00:00
sk The sk driver developed a bug when the multicast code was changed to 2001-05-09 18:22:42 +00:00
smbus Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00
sn Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
snc Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
snp Add a line discipline close routine which restores some functionality 2001-06-05 05:07:53 +00:00
sound identify es1371 revision a 2001-06-11 00:32:18 +00:00
speaker Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00
sr Fix clock selection for X.21 interfaces. 2001-02-26 16:30:02 +00:00
stg Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
streams Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00
sym Correctly initialize free_ccbq so that if we fail to attach (as is 2001-04-09 05:41:41 +00:00
syscons With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
tdfx Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00
ti Vlan tags are 12 bits, mask off anything above since the chip doesn't 2001-05-23 19:25:14 +00:00
twe Minor updates: 2001-05-07 21:46:44 +00:00
tx Add support for SMC9432FTX card, possibly othe fiber optic SMC9432 family 2001-02-07 20:11:02 +00:00
usb Activate the kthread mechanism for doing usb bus discovery. This means 2001-06-06 22:00:03 +00:00
vinum Change #if VINUMDEBUG to #ifdef VINUMDEBUG. This is a flag, not a variable. 2001-05-23 23:24:05 +00:00
vr Close PR 22208: bring chip out of suspend mode, because Windows might 2001-05-14 19:13:02 +00:00
vx When I converted this driver, I neglected to deal with packet alignment. 2000-12-07 23:30:51 +00:00
wds Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
wi Currently, each wireless networking driver has it's own control program 2001-05-26 09:27:08 +00:00
wl Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
xe Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00