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 - Change callout in struct ccb_hdr* Change the callout declaration in struct ccb_hdr from an embedded structure to a pointer, add padding to get the whole structure to its original size
kernel - Change callout in struct ccb_hdr* Change the callout declaration in struct ccb_hdr from an embedded structure to a pointer, add padding to get the whole structure to its original size (prior to the recent callout patch).* This removes an improper ABI dependency on the kernel struct callout structure which was causing 'camcontrol', and 'smartctl' (from smartmontools) to fail.Testing: dillon, tuxillo
kernel: Remove unused *.h files from SRCS in kernel module Makefiles.They were found by checking the preprocessed code of the filesin SRCS to see if the header was included at some point.After r
kernel: Remove unused *.h files from SRCS in kernel module Makefiles.They were found by checking the preprocessed code of the filesin SRCS to see if the header was included at some point.After removal, the preprocessed source of a build with the oldMakefiles was compared against one with the changes (for variouskernel configurations and when building just from /usr/src) toverify that the commit leads to no functional change.
kernel/twa: Avoid empty macros.Suppresses 42 -Wempty-body warnings.
kernel: Add 'static' to some function definitions.The declarations already have it, so no functional difference.
kernel: Use the new auto-created sysctl ctx/tree in various drivers.Everywhere where we formerly rolled a hw.fooX.* per-device ctx/treeourselves.This commit switches it to dev.foo.X.*
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.
kernel: Handle some variables only used in debug output.
tws(4): Fix a typo in a debug message.
tws(4): Add MSI support.
kernel: Remove some unused variables in RAID and disk drivers.
Remove bogus (void *) casts.These are the cases where the function's prototype declares theargument as void *.
kernel/tws: Add a missing lockmgr(...,LK_RELEASE).
msi: Put old MSI code under OLD_MSI
kernel: Replace some bzero()s with M_ZERO in the preceding kmalloc().
kernel: Use NULL for DRIVER_MODULE()'s evh & arg (which are pointers).This is just cosmetics for easier reading.
Add tws(4), a driver for the LSI 3ware 9750 series SATA/SAS RAID controllers.It should support the following controllers:* LSI 3ware SAS 9750-4i* LSI 3ware SAS 9750-4i4e* LSI 3ware SAS 9750-8i
Add tws(4), a driver for the LSI 3ware 9750 series SATA/SAS RAID controllers.It should support the following controllers:* LSI 3ware SAS 9750-4i* LSI 3ware SAS 9750-4i4e* LSI 3ware SAS 9750-8i* LSI 3ware SAS 9750-8e* LSI 3ware SAS 9750-16i4e* LSI 3ware SAS 9750-24i4eIt was tested with the 9750-4i.Many thanks to LSI Corporation. The driver is a port of their FreeBSD driverthat comes on the Installation CD (manual page added by me).Thanks to vsrinivas and sephe for helping with finding and fixing a busdmalocking issue.