kernel/pci: Remove embedded newlines in sysctl descriptions.
kernel: Use DEVMETHOD_END in the drivers.
kernel/modules: Remove opt_pci.h (which doesn't exist) from some Makefiles.
bus: Pass intsrerupt description to setup_intr bus methodIf no interrupt description is supplied, then the device's namewill be used.Add bus_setup_intr_descr(), which allow device drivers to pas
bus: Pass intsrerupt description to setup_intr bus methodIf no interrupt description is supplied, then the device's namewill be used.Add bus_setup_intr_descr(), which allow device drivers to passinterrupt description. Reimplement bus_setup_intr() usingbus_setup_intr_descr().
show more ...
resource: Per-CPU hardware resources support, step 4 of manyAdd cpuid parameter to bus_alloc_resource DEVMETHOD, so cpuidcould be passed all the way to the nexus
kernel: Use NULL for DRIVER_MODULE()'s evh & arg (which are pointers).This is just cosmetics for easier reading.
kernel - gcc -Os/-O2 warnings pass* This is just a partial pass on the code to start cleaning up gcc warnings at higher optimization levels.
kernel - unwind kthread_create() mplock* All kthread_create*() calls and kproc_start() calls now create threads which do not hold the mplock at startup.* Add get_mplock()/rel_mplock() to thread
kernel - unwind kthread_create() mplock* All kthread_create*() calls and kproc_start() calls now create threads which do not hold the mplock at startup.* Add get_mplock()/rel_mplock() to threads which are not yet mpsafe.* Remove rel_mplock() calls from thread startups which were making themselves mpsafe by releasing the mplock.* Kernel eventhandler API is now MPSAFE* Kernel kproc API is now MPSAFE* Rename a few thread procedures to make their function more obvious.
kernel - remove INTR_FASTRename INTR_FAST to INTR_CLOCK. Fast interrupts are now only supported forclock interrupts and may no longer be used by drivers.* Rename INTR_FAST to INTR_CLOCK* Adju
kernel - remove INTR_FASTRename INTR_FAST to INTR_CLOCK. Fast interrupts are now only supported forclock interrupts and may no longer be used by drivers.* Rename INTR_FAST to INTR_CLOCK* Adjust clocks to use INTR_CLOCK and remove INTR_FAST from the few drivers that specified it (if_em is the only one of note).
kmod.mk: Remove some dead code supposed to handle modules' manual pages.It was ignored previously and since we do not keep kernel relatedmanual pages in sys/ the whole idea is bogus anyway.
Get rid of PCI_MAP_FIXUP and opt_pci.h
cbb(4): Rework secondary bus number setup; aware of PCI domainObtained-from: FreeBSD
If PCI_MAP_FIXUP is defined, we can no longer do the reallocation magic;at least it breaks following case:1) BIOS does not assign cbb IO memory.2) ipw and cbb are on the same PCI bus.3) If ipw w
If PCI_MAP_FIXUP is defined, we can no longer do the reallocation magic;at least it breaks following case:1) BIOS does not assign cbb IO memory.2) ipw and cbb are on the same PCI bus.3) If ipw was loaded, it would use 0xd0000000-0xd0000fff as its IO memory.4) ipw was not loaded at boot time.5) At boot time, cbb tried to attach, system assigned IO memory 0xd0000000 -0xd0000fff to it. But later on, due to incorrect IRQ assignment, cbb attaching failed. The assigned IO memory was freed properly. However, the resource list entry (rle) was not freed.6) ipw was loaded after booting and successfully attached. It occupied IO memory 0xd0000000-0xd0000fff.7) Since ipw and cbb are on the same PCI bus, cbb got a second chance re- probe and re-attach. But this time, no rle would be allocated by PCI bus code, since old rle was still there. Old rle had 0xd0000000-0xd0000fff as start/end, so this allocation failed -- same IO memory segment was already used by ipw.8) The reallocation magic was performed then. It succeeded, but this left cbb's rle in an uninitalized state.As pointed out in 5), cbb attaching failed again. Reallocated IO memorywas going to be freed: assertion in pci_release_resource(), since cbb's rlewas not initialized in 8).If PCI_MAP_FIXIP is not defined, we depend on the current mechanism to findthe PCI IO memory for cbb, given some goofy BIOSes do not assign cbb's IOmemory. This seems to be the only way to make things working withoutPCI_MAP_FIXUP, though it is vulnerable to the case described above.Reported-by: Michael Neumann <mneumann@ntecs.de>
Update cardbus/pccard support.The original patch was done by joerg@; I seemed to "maintain"it for quite a long time :PObtained-from: FreeBSDTested-by: many (intermittently tho)
Fix numerous spelling mistakes.
Rename printf -> kprintf in sys/ and add some defines where necessary(files which are used in userland, too).
Do a major clean-up of the BUSDMA architecture. A large number ofessentially machine-independant drivers use the structures and definitionsin machine-dependant directories that are really machine-
Do a major clean-up of the BUSDMA architecture. A large number ofessentially machine-independant drivers use the structures and definitionsin machine-dependant directories that are really machine-independant innature.Split <machine/bus_dma.h> into machine-depdendant and machine-independant partsand make the primary access run through <sys/bus_dma.h>.Remove <machine/bus.h>, <machine/bus_memio.h> and <machine/bus_pio.h>. Theoptimizations related to bus_memio.h and bus_pio.h made a huge mess,introduced machine-specific knowledge into essentially machine-independantdrivers, and required specific #include file orderings to do their job.They may be reintroduced in some other form later on.Move <machine/resource.h> to <sys/bus_resource.h>. The contents of the fileis machine-independant or can be made a superset across many platforms.Make <sys/bus.h> include <sys/bus_dma.h> and <sys/bus_resource.h> andinclude <sys/bus.h> where necessary. Remove all #include's of<machine/resource.h> and <machine/bus.h>. That is, make the BUSDMAinfrastructure integral to I/O-mapped and memory-mapped accesses to devicesand remove a large chunk of machine-specific dependancies from drivers.bus_if.h and device_if.h are now required to be present when using <sys/bus.h>.
Rename malloc->kmalloc, free->kfree, and realloc->krealloc. Pass 1
cbb_probe() assumes that the subclass field is unique. This patch furtherqualifies the check to verify that the device belongs to the bus class aswell before claiming the device.Submitted-by: Chu
cbb_probe() assumes that the subclass field is unique. This patch furtherqualifies the check to verify that the device belongs to the bus class aswell before claiming the device.Submitted-by: Chuck Tuffli <ctuffli@gmail.com>
Remove the thread pointer argument to lockmgr(). All lockmgr() ops use thecurrent thread.Move the lockmgr code in BUF_KERNPROC to lockmgr_kernproc(). This codeallows the lock owner to be set to
Remove the thread pointer argument to lockmgr(). All lockmgr() ops use thecurrent thread.Move the lockmgr code in BUF_KERNPROC to lockmgr_kernproc(). This codeallows the lock owner to be set to a special value so any thread can unlockthe lock and is required for B_ASYNC I/O so biodone() can release the lock.
Remove the now unused interlock argument to the lockmgr() procedure.This argument has been abused over the years by kernel programmersattempting to optimize certain locking and data modification se
Remove the now unused interlock argument to the lockmgr() procedure.This argument has been abused over the years by kernel programmersattempting to optimize certain locking and data modification sequences,resulting in a virtually unreadable code in some cases. The interlockalso made porting between BSDs difficult as each BSD implemented theirinterlock differently. DragonFly has slowly removed use of the interlockargument and we can now finally be rid of it entirely.
Pass LK_PCATCH instead of trying to store tsleep flags in the lockstructure, so multiple entities competing for the same lock do notuse unexpected flags when sleeping.Only NFS really uses PCATCH
Pass LK_PCATCH instead of trying to store tsleep flags in the lockstructure, so multiple entities competing for the same lock do notuse unexpected flags when sleeping.Only NFS really uses PCATCH with lockmgr locks.
Fix a number of panic conditions for network cardbus devices by implementingthe now mandatory interrupt serialization.Reported-by: Steve Mynott <steve.mynott@gmail.com>Patches-by: Matthew Dillon
Fix a number of panic conditions for network cardbus devices by implementingthe now mandatory interrupt serialization.Reported-by: Steve Mynott <steve.mynott@gmail.com>Patches-by: Matthew Dillon and Sepherosa Ziehau <sepherosa@gmail.com>
Remove the INTR_TYPE_* flags. The interrupt type is no longer used tofigure out which spl*() set an interrupt belongs to, because, well, spl'sno longer exist.
Dereference pointer like we should.Found-by: sephe
12