Up to [DragonFly] / src / sys / contrib / dev / oltr
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Nuke token ring support. This also means one blob less in DragonFly.
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 of essentially machine-independant drivers use the structures and definitions in machine-dependant directories that are really machine-independant in nature. Split <machine/bus_dma.h> into machine-depdendant and machine-independant parts and make the primary access run through <sys/bus_dma.h>. Remove <machine/bus.h>, <machine/bus_memio.h> and <machine/bus_pio.h>. The optimizations related to bus_memio.h and bus_pio.h made a huge mess, introduced machine-specific knowledge into essentially machine-independant drivers, 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 file is 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> and include <sys/bus.h> where necessary. Remove all #include's of <machine/resource.h> and <machine/bus.h>. That is, make the BUSDMA infrastructure integral to I/O-mapped and memory-mapped accesses to devices and 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
unbreak LINT building
Remove the INTR_TYPE_* flags. The interrupt type is no longer used to figure out which spl*() set an interrupt belongs to, because, well, spl's no longer exist.
Remove all remaining SPL code. Replace the mtd_cpl field in the machine dependant thread structure and the CPL field in the interrupt stack frame with dummies (so structural sizes do not change, yet). Remove all interrupt handler SPL mask and mask pointer code. Remove all spl*() functions except for splz(). Note that doreti uses a temporary CPL mask internally to accumulate a bitmap of FAST interrupts which could not be executed due to not being able to get the BGL. This mask has no outside visibility. Note that gd_fpending and gd_ipending still exist to support critical section interrupt deferment.
Unbreak LINT by including <sys/thread2.h> where proper and remove some unused s variables.
convert spl*() to critical sections.
Get rid of bus_{disable,enable}_intr(), it wasn't generic enough for
our needs.
Implement some generic atomic.h functions to aid in the implementation of
a low level mutex.
Implement a generic low level sleep-mutex serializer, kern/lwkt_serialize.c.
The serializer is designed to be a replacement for SPL calls but may also
be used for other very low level work (e.g. lockmgr interlocks).
Add a serializer argument to BUS_SETUP_INTR(). When non-NULL, the interrupt
handler will no longer be protected by an SPL so e.g. spl*() will no
longer protect against that device's interrupts.
The IF queueing and dequeueing mechanisms may no longer depend on outside
SPL state because network driver interrupt handlers are no longer required to
enter splnet(). Use critical sections for the moment. The IFQ and
IFF_OACTIVE interactions are not yet MP safe.
Use BPF_TAP and BPF_MTAP instead of the expanded versions where possible.
timeout/untimeout ==> callout_*
Unify the input handling of the low-level network stack by introducing a new field if_input in struct ifnet. Initialize if_input and if_output in the low-level _ifattach routines. Make the _output and _input routines static, they are now called via (*ifp->if_input) and (*ifp->if_output) accordingly. The exception is ether_input which is still used with the second argument, the pointer to the Ethernet header instead of always taking it from the mbuf. Move the if_attach and bpfattach from the devices into fddi_ifattach, atm_ifattach. Remove the first argument to VLAN_INPUT_TAG, the pointer to the Ethernet header. Expect it at the beginning of the mbuf. Adjust the network for the changed API. Exceptions are wl(4), le(4), ie(4), el(4), ed(4) and de(4), because they use a on-stack Ethernet header. Another exception is the ATM stack, which uses a fourth argument to atm_input. Inspired-by: NetBSd net/if.h, rev 1.36
Add if_broadcastaddr to struct ifnet to hold the link layer broadcast address. Use this in place of the various direct references esp. to etherbroadcastaddr. Inspired-by: NetBSD if.h, rev. 1.29
Change mbug allocation flags from M_ to MB_ to avoid confusion with malloc flags. Requested by: Jeffrey Hsu
Add the "struct ucred *" argument to the remaining nic ioctls in LINT.
Always include net/bpf.h
Add __DragonFly__
if_xname support Part 1/2: Convert most of the netif devices to use if_initname(). Submitted-by: Max Laier <max@love2party.net>
remove oldstyle __P prototypes
kernel tree reorganization stage 1: Major cvs repository work (not logged as
commits) plus a major reworking of the #include's to accomodate the
relocations.
* CVS repository files manually moved. Old directories left intact
and empty (temporary).
* Reorganize all filesystems into vfs/, most devices into dev/,
sub-divide devices by function.
* Begin to move device-specific architecture files to the device
subdirs rather then throwing them all into, e.g. i386/include
* Reorganize files related to system busses, placing the related code
in a new bus/ directory. Also move cam to bus/cam though this may
not have been the best idea in retrospect.
* Reorganize emulation code and place it in a new emulation/ directory.
* Remove the -I- compiler option in order to allow #include file
localization, rename all config generated X.h files to use_X.h to
clean up the conflicts.
* Remove /usr/src/include (or /usr/include) dependancies during the
kernel build, beyond what is normally needed to compile helper
programs.
* Make config create 'machine' softlinks for architecture specific
directories outside of the standard <arch>/include.
* Bump the config rev.
WARNING! after this commit /usr/include and /usr/src/sys/compile/*
should be regenerated from scratch.
Consolidate usage of MIN/MAX(). Instead, just remove the conditional processing in sys/param.h so it's available to all files.
LINT pass. Cleanup missed proc->thread conversions and get rid of warnings.
Remove the priority part of the priority|flags argument to tsleep(). Only flags are passed now. The priority was a user scheduler thingy that is not used by the LWKT subsystem. For process statistics assume sleeps without P_SINTR set to be disk-waits, and sleeps with it set to be normal sleeps. This commit should not contain any operational changes.
Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids. Most ids have been removed from !lint sections and moved into comment sections.
import from FreeBSD RELENG_4 1.11.2.5