busdma - Remove filter functionality- Remove filtfunc and filtarg arguments from bus_dma_tag_create() and fix all callers. All callers use NULL today for both filterfunc and filterarg with one
busdma - Remove filter functionality- Remove filtfunc and filtarg arguments from bus_dma_tag_create() and fix all callers. All callers use NULL today for both filterfunc and filterarg with one exception: if_jme.- Remove filter functionality internally and parent tag tracking. Without filter functions, we do not need to keep track of tag ancestry. All inheritance of the parent tag's parameters occurs when creating the new child tag.- rename run_filter() to addr_needs_bounce().- FreeBSD keeps the filtfunc and filtarg arguments but requires them to be NULL.- Drop filterfunc usage from if_jme. In case of "JMC260 chip full mask revision 2", which has a hardware bug when it comes to DMA transfers crossing the 4 GB bounday, the parent buffer tag already limits DMA memory to 32bit address space. As such it should be safe to drop the filterfunc. The filterfunc was checking if the lower 32bits of the physical address used for DMA are all 0. In case of a 32bit address space, the only address where all lower 32-bits are all zero is 0 itself and I am here assuming that the physical address 0 is not used for DMA transfers!Mainly obtained from: FreeBSD (commits 7cb028de, 900907f4, 1228b93b, 3933ff56)
show more ...
kernel/disk: Remove use of "%b" format.Switch to args safe "%pb%i" internal format.
kernel: Remove some unnecessary semicolons.
kernel - Change time_second to time_uptime for all expiration calculations* Vet the entire kernel and change use cases for expiration calculations using time_second to use time_uptime instead.*
kernel - Change time_second to time_uptime for all expiration calculations* Vet the entire kernel and change use cases for expiration calculations using time_second to use time_uptime instead.* Protects these expiration calculations from step changes in the wall time, particularly needed for route table entries.* Probably requires further variable type adjustments but the use of time_uptime instead if time_second is highly unlikely to ever overrun any demotions to int still present.
kernel: Use DEVMETHOD_END in the drivers.
kern - More work replacing %DUse hexncpy() for special cases where, for example,a different separator might be needed.
mlx(4): Remove unused defines.
kernel: Use NULL instead of 0 for pointers, part 2/x.Found-with: Coccinelle (http://coccinelle.lip6.fr/)
mlx(4): Remove an unused variable.
mlx(4): Don't free 'meo' until we're finished using it.
kernel: Use NULL for DRIVER_MODULE()'s evh & arg (which are pointers).This is just cosmetics for easier reading.
kernel: Use NELEM() where we can.
Remove useless .PATH targets from kernel module Makefiles.All these came in from FreeBSD which keeps their module Makefiles insys/modules (that is, separate from the source). We don't, so they are
Remove useless .PATH targets from kernel module Makefiles.All these came in from FreeBSD which keeps their module Makefiles insys/modules (that is, separate from the source). We don't, so they arenot needed.
kernel: Remove most definitions of CDEV_MAJOR.These are no longer needed since we have devfs.A few are left in because they are added to the order in SYSINIT()s.This needs further investigation.
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.
DEVFS - remove dev_ops_add(), dev_ops_get(), and get_dev()
DEVFS - Bring in Alex's GSOC kernel adjustments.This is a rollup commit bringing in Alex Hornung's GSOC adjustmentsto the main kernel codebase for DEVFS.Submitted-by: Alex Hornung <ahornung@gmai
DEVFS - Bring in Alex's GSOC kernel adjustments.This is a rollup commit bringing in Alex Hornung's GSOC adjustmentsto the main kernel codebase for DEVFS.Submitted-by: Alex Hornung <ahornung@gmail.com>
Switch from bioq_insert_tail() to bioqdisksort(). When the kernel isjuggling hundreds of I/O requests the on-disk controllers, which have limitedqueue sizes, are unable to completely optimize the
Switch from bioq_insert_tail() to bioqdisksort(). When the kernel isjuggling hundreds of I/O requests the on-disk controllers, which have limitedqueue sizes, are unable to completely optimize the accesses.This seems to make a pretty big difference on the twe device I tested withwhen running blogbench on HAMMER, which can approach 1000 simultaniouslyqueued I/O's.
Disklabel separation work - Generally shift all disklabel-specificprocedures for the kernel proper to a new source file, subr_disklabel32.c.Move the DTYPE_ and FS_ defines out of sys/disklabel.h an
Disklabel separation work - Generally shift all disklabel-specificprocedures for the kernel proper to a new source file, subr_disklabel32.c.Move the DTYPE_ and FS_ defines out of sys/disklabel.h and into a newheader files sys/dtype.hMake adjustments to the uuids file, renaming "DragonFly Label" to"DragonFly Label32" and creating a "DragonFly Label64" uuid.
Continue untangling the disklabel. Have most disk device drivers fill outand install a generic disk_info structure instead of filling out randomfields in the disklabel.The generic disk_info stru
Continue untangling the disklabel. Have most disk device drivers fill outand install a generic disk_info structure instead of filling out randomfields in the disklabel.The generic disk_info structure uses a 64 bit integer to representthe media size in bytes or total sector count.
Rename printf -> kprintf in sys/ and add some defines where necessary(files which are used in userland, too).
Rename sprintf -> ksprintfRename snprintf -> knsprintfMake allowances for source files that are compiled for both userland andthe kernel.
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>.
Change the kernel dev_t, representing a pointer to a specinfo structure,to cdev_t. Change struct specinfo to struct cdev. The name 'cdev' was takenfrom FreeBSD. Remove the dev_t shim for the ker
Change the kernel dev_t, representing a pointer to a specinfo structure,to cdev_t. Change struct specinfo to struct cdev. The name 'cdev' was takenfrom FreeBSD. Remove the dev_t shim for the kernel.This commit generally removes the overloading of 'dev_t' between userland andthe kernel.Also fix a bug in libkvm where a kernel dev_t (now cdev_t) was not beingproperly converted to a userland dev_t.
Rename malloc->kmalloc, free->kfree, and realloc->krealloc. Pass 1
12