freebsd-dev/sys/dev
Kenneth D. Merry 9a6844d55f Add support for managing Shingled Magnetic Recording (SMR) drives.
This change includes support for SCSI SMR drives (which conform to the
Zoned Block Commands or ZBC spec) and ATA SMR drives (which conform to
the Zoned ATA Command Set or ZAC spec) behind SAS expanders.

This includes full management support through the GEOM BIO interface, and
through a new userland utility, zonectl(8), and through camcontrol(8).

This is now ready for filesystems to use to detect and manage zoned drives.
(There is no work in progress that I know of to use this for ZFS or UFS, if
anyone is interested, let me know and I may have some suggestions.)

Also, improve ATA command passthrough and dispatch support, both via ATA
and ATA passthrough over SCSI.

Also, add support to camcontrol(8) for the ATA Extended Power Conditions
feature set.  You can now manage ATA device power states, and set various
idle time thresholds for a drive to enter lower power states.

Note that this change cannot be MFCed in full, because it depends on
changes to the struct bio API that break compatilibity.  In order to
avoid breaking the stable API, only changes that don't touch or depend on
the struct bio changes can be merged.  For example, the camcontrol(8)
changes don't depend on the new bio API, but zonectl(8) and the probe
changes to the da(4) and ada(4) drivers do depend on it.

Also note that the SMR changes have not yet been tested with an actual
SCSI ZBC device, or a SCSI to ATA translation layer (SAT) that supports
ZBC to ZAC translation.  I have not yet gotten a suitable drive or SAT
layer, so any testing help would be appreciated.  These changes have been
tested with Seagate Host Aware SATA drives attached to both SAS and SATA
controllers.  Also, I do not have any SATA Host Managed devices, and I
suspect that it may take additional (hopefully minor) changes to support
them.

Thanks to Seagate for supplying the test hardware and answering questions.

sbin/camcontrol/Makefile:
	Add epc.c and zone.c.

sbin/camcontrol/camcontrol.8:
	Document the zone and epc subcommands.

sbin/camcontrol/camcontrol.c:
	Add the zone and epc subcommands.

	Add auxiliary register support to build_ata_cmd().  Make sure to
	set the CAM_ATAIO_NEEDRESULT, CAM_ATAIO_DMA, and CAM_ATAIO_FPDMA
	flags as appropriate for ATA commands.

	Add a new get_ata_status() function to parse ATA result from SCSI
	sense descriptors (for ATA passthrough over SCSI) and ATA I/O
	requests.

sbin/camcontrol/camcontrol.h:
	Update the build_ata_cmd() prototype

	Add get_ata_status(), zone(), and epc().

sbin/camcontrol/epc.c:
	Support for ATA Extended Power Conditions features.  This includes
	support for all features documented in the ACS-4 Revision 12
	specification from t13.org (dated February 18, 2016).

	The EPC feature set allows putting a drive into a power power mode
	immediately, or setting timeouts so that the drive will
	automatically enter progressively lower power states after various
	idle times.

sbin/camcontrol/fwdownload.c:
	Update the firmware download code for the new build_ata_cmd()
	arguments.

sbin/camcontrol/zone.c:
	Implement support for Shingled Magnetic Recording (SMR) drives
	via SCSI Zoned Block Commands (ZBC) and ATA Zoned Device ATA
	Command Set (ZAC).

	These specs were developed in concert, and are functionally
	identical.  The primary differences are due to SCSI and ATA
	differences.  (SCSI is big endian, ATA is little endian, for
	example.)

	This includes support for all commands defined in the ZBC and
	ZAC specs.

sys/cam/ata/ata_all.c:
	Decode a number of additional ATA command names in ata_op_string().

	Add a new CCB building function, ata_read_log().

	Add ata_zac_mgmt_in() and ata_zac_mgmt_out() CCB building
	functions.  These support both DMA and NCQ encapsulation.

sys/cam/ata/ata_all.h:
	Add prototypes for ata_read_log(), ata_zac_mgmt_out(), and
	ata_zac_mgmt_in().

sys/cam/ata/ata_da.c:
	Revamp the ada(4) driver to support zoned devices.

	Add four new probe states to gather information needed for zone
	support.

	Add a new adasetflags() function to avoid duplication of large
	blocks of flag setting between the async handler and register
	functions.

	Add new sysctl variables that describe zone support and paramters.

	Add support for the new BIO_ZONE bio, and all of its subcommands:
	DISK_ZONE_OPEN, DISK_ZONE_CLOSE, DISK_ZONE_FINISH, DISK_ZONE_RWP,
	DISK_ZONE_REPORT_ZONES, and DISK_ZONE_GET_PARAMS.

sys/cam/scsi/scsi_all.c:
	Add command descriptions for the ZBC IN/OUT commands.

	Add descriptions for ZBC Host Managed devices.

	Add a new function, scsi_ata_pass() to do ATA passthrough over
	SCSI.  This will eventually replace scsi_ata_pass_16() -- it
	can create the 12, 16, and 32-byte variants of the ATA
	PASS-THROUGH command, and supports setting all of the
	registers defined as of SAT-4, Revision 5 (March 11, 2016).

	Change scsi_ata_identify() to use scsi_ata_pass() instead of
	scsi_ata_pass_16().

	Add a new scsi_ata_read_log() function to facilitate reading
	ATA logs via SCSI.

sys/cam/scsi/scsi_all.h:
	Add the new ATA PASS-THROUGH(32) command CDB.  Add extended and
	variable CDB opcodes.

	Add Zoned Block Device Characteristics VPD page.

	Add ATA Return SCSI sense descriptor.

	Add prototypes for scsi_ata_read_log() and scsi_ata_pass().

sys/cam/scsi/scsi_da.c:
	Revamp the da(4) driver to support zoned devices.

	Add five new probe states, four of which are needed for ATA
	devices.

	Add five new sysctl variables that describe zone support and
	parameters.

	The da(4) driver supports SCSI ZBC devices, as well as ATA ZAC
	devices when they are attached via a SCSI to ATA Translation (SAT)
	layer.  Since ZBC -> ZAC translation is a new feature in the T10
	SAT-4 spec, most SATA drives will be supported via ATA commands
	sent via the SCSI ATA PASS-THROUGH command.  The da(4) driver will
	prefer the ZBC interface, if it is available, for performance
	reasons, but will use the ATA PASS-THROUGH interface to the ZAC
	command set if the SAT layer doesn't support translation yet.
	As I mentioned above, ZBC command support is untested.

	Add support for the new BIO_ZONE bio, and all of its subcommands:
	DISK_ZONE_OPEN, DISK_ZONE_CLOSE, DISK_ZONE_FINISH, DISK_ZONE_RWP,
	DISK_ZONE_REPORT_ZONES, and DISK_ZONE_GET_PARAMS.

	Add scsi_zbc_in() and scsi_zbc_out() CCB building functions.

	Add scsi_ata_zac_mgmt_out() and scsi_ata_zac_mgmt_in() CCB/CDB
	building functions.  Note that these have return values, unlike
	almost all other CCB building functions in CAM.  The reason is
	that they can fail, depending upon the particular combination
	of input parameters.  The primary failure case is if the user
	wants NCQ, but fails to specify additional CDB storage.  NCQ
	requires using the 32-byte version of the SCSI ATA PASS-THROUGH
	command, and the current CAM CDB size is 16 bytes.

sys/cam/scsi/scsi_da.h:
	Add ZBC IN and ZBC OUT CDBs and opcodes.

	Add SCSI Report Zones data structures.

	Add scsi_zbc_in(), scsi_zbc_out(), scsi_ata_zac_mgmt_out(), and
	scsi_ata_zac_mgmt_in() prototypes.

sys/dev/ahci/ahci.c:
	Fix SEND / RECEIVE FPDMA QUEUED in the ahci(4) driver.

	ahci_setup_fis() previously set the top bits of the sector count
	register in the FIS to 0 for FPDMA commands.  This is okay for
	read and write, because the PRIO field is in the only thing in
	those bits, and we don't implement that further up the stack.

	But, for SEND and RECEIVE FPDMA QUEUED, the subcommand is in that
	byte, so it needs to be transmitted to the drive.

	In ahci_setup_fis(), always set the the top 8 bits of the
	sector count register.  We need it in both the standard
	and NCQ / FPDMA cases.

sys/geom/eli/g_eli.c:
	Pass BIO_ZONE commands through the GELI class.

sys/geom/geom.h:
	Add g_io_zonecmd() prototype.

sys/geom/geom_dev.c:
	Add new DIOCZONECMD ioctl, which allows sending zone commands to
	disks.

sys/geom/geom_disk.c:
	Add support for BIO_ZONE commands.

sys/geom/geom_disk.h:
	Add a new flag, DISKFLAG_CANZONE, that indicates that a given
	GEOM disk client can handle BIO_ZONE commands.

sys/geom/geom_io.c:
	Add a new function, g_io_zonecmd(), that handles execution of
	BIO_ZONE commands.

	Add permissions check for BIO_ZONE commands.

	Add command decoding for BIO_ZONE commands.

sys/geom/geom_subr.c:
	Add DDB command decoding for BIO_ZONE commands.

sys/kern/subr_devstat.c:
	Record statistics for REPORT ZONES commands.  Note that the
	number of bytes transferred for REPORT ZONES won't quite match
	what is received from the harware.  This is because we're
	necessarily counting bytes coming from the da(4) / ada(4) drivers,
	which are using the disk_zone.h interface to communicate up
	the stack.  The structure sizes it uses are slightly different
	than the SCSI and ATA structure sizes.

sys/sys/ata.h:
	Add many bit and structure definitions for ZAC, NCQ, and EPC
	command support.

sys/sys/bio.h:
	Convert the bio_cmd field to a straight enumeration.  This will
	yield more space for additional commands in the future.  After
	change r297955 and other related changes, this is now possible.
	Converting to an enumeration will also prevent use as a bitmask
	in the future.

sys/sys/disk.h:
	Define the DIOCZONECMD ioctl.

sys/sys/disk_zone.h:
	Add a new API for managing zoned disks.  This is very close to
	the SCSI ZBC and ATA ZAC standards, but uses integers in native
	byte order instead of big endian (SCSI) or little endian (ATA)
	byte arrays.

	This is intended to offer to the complete feature set of the ZBC
	and ZAC disk management without requiring the application developer
	to include SCSI or ATA headers.  We also use one set of headers
	for ioctl consumers and kernel bio-level consumers.

sys/sys/param.h:
	Bump __FreeBSD_version for sys/bio.h command changes, and inclusion
	of SMR support.

usr.sbin/Makefile:
	Add the zonectl utility.

usr.sbin/diskinfo/diskinfo.c
	Add disk zoning capability to the 'diskinfo -v' output.

usr.sbin/zonectl/Makefile:
	Add zonectl makefile.

usr.sbin/zonectl/zonectl.8
	zonectl(8) man page.

usr.sbin/zonectl/zonectl.c
	The zonectl(8) utility.  This allows managing SCSI or ATA zoned
	disks via the disk_zone.h API.  You can report zones, reset write
	pointers, get parameters, etc.

Sponsored by:	Spectra Logic
Differential Revision:	https://reviews.freebsd.org/D6147
Reviewed by:	wblock (documentation)
2016-05-19 14:08:36 +00:00
..
aac sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
aacraid sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
acpi_support s/struct device */device_t/g 2016-05-04 06:26:27 +00:00
acpica Use polling spin loops for timeouts during early boot. 2016-05-16 21:33:31 +00:00
adb sys: use our roundup2/rounddown2() macros when param.h is available. 2016-04-21 19:57:40 +00:00
adlink
advansys sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
ae Yet more redundant parenthesis from r298431. 2016-04-21 20:30:38 +00:00
age sys/dev: extend use of the howmany() macro when available. 2016-04-26 15:03:15 +00:00
agp sys: use our roundup2/rounddown2() macros when param.h is available. 2016-04-21 19:57:40 +00:00
aha sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
ahb sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
ahci Add support for managing Shingled Magnetic Recording (SMR) drives. 2016-05-19 14:08:36 +00:00
aic Redundant parenthesis from r298431. 2016-04-21 19:48:28 +00:00
aic7xxx aic7xxx: minor spelling fixes. 2016-05-10 16:40:19 +00:00
alc Fix variable assignment. 2016-02-18 01:24:10 +00:00
ale sys/dev: use our nitems() macro when it is avaliable through param.h. 2016-04-19 23:37:24 +00:00
alpm sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
altera Use OF_prop_free instead of direct call to free(9) 2016-05-14 18:44:30 +00:00
amdpm
amdsbwd Add support for AMD FCH watchdog timers. 2016-03-29 12:19:46 +00:00
amdsmb
amdtemp Add PCI ID for family 10h model 30h to amdtemp(4). 2016-04-19 15:07:04 +00:00
amr sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
an Move mutex initialization from PCI probe to PCI attach. Drivers are not 2016-05-12 17:47:30 +00:00
arcmsr Make sure we check for CAM_CDB_POINTER for all drivers. Also, for the 2016-03-15 05:17:29 +00:00
asmc [asmc] Add support for MacBookPro5,1 2016-05-03 17:11:33 +00:00
ata sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
ath dev/ath: minor spelling fixes in comments. 2016-05-02 19:56:48 +00:00
atkbdc Use OF_prop_free instead of direct call to free(9) 2016-05-18 23:39:31 +00:00
auxio
bce sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
beri
bfe
bge
bhnd Don't repeat the the word 'the' 2016-05-17 12:52:31 +00:00
bktr sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
bm
buslogic s/struct device */device_t/g 2016-05-04 06:24:10 +00:00
bvm
bwi sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
bwn [bwn] quieten the "invalid firmware state". 2016-05-19 05:09:20 +00:00
bxe Don't repeat the the word 'the' 2016-05-17 12:52:31 +00:00
cadence Refactor DTS files for Zynq-based SoCs 2016-04-26 23:09:47 +00:00
cardbus sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
cas
ce sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
cesa sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
cfe
cfi Provide a workaround for setting the correct endianness when doing CFI on 2016-02-04 22:39:27 +00:00
ciss sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
cm Migrate many bus_alloc_resource() calls to bus_alloc_resource_anywhere(). 2016-02-27 03:38:01 +00:00
cmx sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
coretemp
cp sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
cpuctl
cpufreq
cs sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
ct Migrate many bus_alloc_resource() calls to bus_alloc_resource_anywhere(). 2016-02-27 03:38:01 +00:00
ctau Use uintmax_t (typedef'd to rman_res_t type) for rman ranges. 2016-03-18 01:28:41 +00:00
cx sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
cxgb Fix kernel LINT build after r299363. 2016-05-10 16:31:18 +00:00
cxgbe Extend the ICL interface to include the PDU pointer in the task_setup 2016-05-17 08:55:21 +00:00
cy sys/dev: extend use of the howmany() macro when available. 2016-04-26 15:03:15 +00:00
cyapa
dc
dcons
de sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
digi Yet more redundant parenthesis from r298431. 2016-04-21 20:30:38 +00:00
dpaa Don't mark the initial portal registers as fully mapped. 2016-05-11 00:41:40 +00:00
dpms
dpt sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
drm sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
drm2 Don't repeat the the word 'the' 2016-05-17 12:52:31 +00:00
dwc Set txbuf_map array size to TX_DESC_COUNT instead of RX_DESC_COUNT. 2016-04-29 21:46:43 +00:00
e1000 Don't repeat the the word 'the' 2016-05-17 12:52:31 +00:00
ed sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
eisa Introduce a RMAN_IS_DEFAULT_RANGE() macro, and use it. 2016-02-20 01:32:58 +00:00
en sys: use our roundup2/rounddown2() macros when param.h is available. 2016-04-21 19:57:40 +00:00
ep These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
esp s/struct device */device_t/g 2016-05-04 06:24:51 +00:00
et sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
etherswitch Fix issues with mt762x etherswitch driver 2016-05-17 06:30:46 +00:00
ex
exca sys: use our roundup2/rounddown2() macros when param.h is available. 2016-04-21 19:57:40 +00:00
extres Use OF_prop_free instead of direct call to free(9) 2016-05-14 04:59:36 +00:00
fatm sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
fb Fix NULL-dereference panic if VESA reports zero modes. 2016-05-17 19:00:09 +00:00
fdc Fix the acpi attachment to always start the worker thread. 2016-05-04 23:00:57 +00:00
fdt Add OF_prop_free function as a counterpart for OF_*prop_alloc 2016-05-11 18:20:02 +00:00
fe sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
ffec
filemon Remove unneeded return left from refactoring. 2016-03-25 00:14:56 +00:00
firewire Remove NULL checks after M_WAITOK allocations from firewire. 2016-05-10 10:21:03 +00:00
flash Modify mx25l FDT compatible device handling 2016-04-20 14:33:00 +00:00
fxp sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
gem
glxiic
glxsb
gpio OFWGPIOBUS: Make ofwgpiobus_devclass externaly visible. 2016-05-15 14:43:52 +00:00
gxemul
hatm sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
hifn sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
hme
hpt27xx Replace several bus_alloc_resource() calls with bus_alloc_resource_any() 2016-02-27 03:34:01 +00:00
hptiop Use imin() macro from sys/libkern.h. 2016-05-04 01:43:07 +00:00
hptmv sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
hptnr sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
hptrr sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
hwpmc Add an EARLY_AP_STARTUP option to start APs earlier during boot. 2016-05-14 18:22:52 +00:00
hyperv hyperv/vmbus: Use consistent device description as other devices 2016-05-18 07:18:11 +00:00
ic sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
ichiic sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
ichsmb Migrate many bus_alloc_resource() calls to bus_alloc_resource_anywhere(). 2016-02-27 03:38:01 +00:00
ichwd Unify ichwd(4) attachment messages in dmesg. 2016-03-24 23:24:00 +00:00
ida Resolve LINT linking issue by renaming ida_init() to ida_setup(). The 2016-05-11 17:38:09 +00:00
ie Cleanup unnecessary semicolons from the kernel. 2016-04-10 23:07:00 +00:00
if_ndis sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
iicbus Use OF_prop_free instead of direct call to free(9) 2016-05-14 20:06:38 +00:00
iir sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
intpm sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
io
ioat Remove misc NULL checks after M_WAITOK allocations. 2016-05-10 10:26:07 +00:00
ipmi Optimize IPMI watchdog patting. 2016-03-22 06:24:52 +00:00
ips sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
ipw
isci sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
iscsi Rename icl_proxy.c to icl_soft_proxy.c, to make it clear it's a part 2016-05-17 15:21:17 +00:00
iscsi_initiator sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
isl
ismt
isp Unify Multi ID target code by reusing isp_find_chan_by_did(). 2016-05-18 16:15:09 +00:00
ispfw Update 25xx chips firmware from 7.03.00 to 8.03.00. 2016-04-11 10:53:25 +00:00
iwi sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
iwm Don't repeat the the word 'the' 2016-05-17 12:52:31 +00:00
iwn iwn: fix comments for iwn_read_eeprom_channels(). 2016-05-06 17:39:12 +00:00
ixgb sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
ixgbe dev/e1000,ixgbe: minor spelling fixes. 2016-05-06 22:54:56 +00:00
ixl ixl: Re-add a change to TC0 setup made in D5203. 2016-05-12 18:22:34 +00:00
jme sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
joy
kbd Use unsigned version of min() when handling arguments of SETFKEY ioctl. 2016-05-17 22:28:42 +00:00
kbdmux Add option to specify built-in keymap for kbdmux 2016-04-07 20:12:45 +00:00
ksyms
le Use OF_prop_free instead of direct call to free(9) 2016-05-18 23:39:31 +00:00
led
lge sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
lmc s/struct device */device_t/g 2016-05-04 06:23:49 +00:00
malo net80211 + drivers: hide size of 'bands' array behind a macro. 2016-04-29 22:14:11 +00:00
mbox
mc146818
mca Use uintmax_t (typedef'd to rman_res_t type) for rman ranges. 2016-03-18 01:28:41 +00:00
mcd sys/dev: extend use of the howmany() macro when available. 2016-04-26 15:03:15 +00:00
md For the MD_ROOT option don't inject /dev/md0 as root dev when ROOTDEVNAME 2016-03-09 19:36:25 +00:00
mdio
mem
mfi Remove NULL check after M_WAITOK allocations from mfi(4). 2016-05-10 10:24:35 +00:00
mge sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
mii Cleanup unnecessary semicolons from the kernel. 2016-04-10 23:07:00 +00:00
mk48txx
mlx sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
mlx5 Correct some error codes to native FreeBSD ones. 2016-04-29 11:01:06 +00:00
mly sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
mmc Add DMA sync operations around accessing the dwmmc descriptor ring. Even 2016-05-13 15:15:54 +00:00
mn sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
mpr Remove NULL checks after M_WAITOK allocations from mpr(4). 2016-05-10 15:04:24 +00:00
mps Remove NULL checks after M_WAITOK allocations from mps(4). 2016-05-10 14:57:14 +00:00
mpt sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
mrsas Version update patch. 2016-05-13 12:24:39 +00:00
mse Migrate many bus_alloc_resource() calls to bus_alloc_resource_anywhere(). 2016-02-27 03:38:01 +00:00
msk sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
mvs sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
mwl mwl: drop unneeded NULL pointer check. 2016-05-17 20:53:56 +00:00
mxge mxge: Setup mbuf flowid before calling tcp_lro_rx(). 2016-05-12 03:36:49 +00:00
my
nand sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
ncr sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
nctgpio nctgpio(4): Don't index past the end of sc->pins array 2016-04-20 01:17:18 +00:00
ncv Convert rman to use rman_res_t instead of u_long 2016-01-27 02:23:54 +00:00
netfpga10g/nf10bmac sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
netmap Don't repeat the the word 'the' 2016-05-17 12:52:31 +00:00
nfe sys/dev: use our nitems() macro when it is avaliable through param.h. 2016-04-19 23:37:24 +00:00
nfsmb
nge sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
nmdm
nsp sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
ntb ntb_hw(4): Add sysctls for administrative/test link config, state 2016-05-18 02:10:05 +00:00
null
nvd Revert r292074 (by smh): Limit stripesize reported from nvd(4) to 4K 2016-03-10 17:13:10 +00:00
nvme Revert r292074 (by smh): Limit stripesize reported from nvd(4) to 4K 2016-03-10 17:13:10 +00:00
nvram
nvram2env Fix nvram2env after bus_space_fdt removal. 2016-05-04 01:56:37 +00:00
nxge Replace 0 with NULL for pointers in misc. device drivers. 2016-04-12 17:23:03 +00:00
oce Cleanup unnecessary semicolons from the kernel. 2016-04-10 23:07:00 +00:00
ofw Add a pcib interface for use by interrupt controllers that need to 2016-05-16 09:31:44 +00:00
otus otus: minor catchup with OpenBSD. 2016-05-09 19:28:22 +00:00
ow Don't repeat the the word 'the' 2016-05-17 12:52:31 +00:00
patm sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
pbio Migrate many bus_alloc_resource() calls to bus_alloc_resource_anywhere(). 2016-02-27 03:38:01 +00:00
pccard Remove slightly used const values that can be replaced with nitems(). 2016-04-21 15:38:28 +00:00
pccbb sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
pcf sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
pci Rework managing hotplug commands with command completions. 2016-05-17 19:48:28 +00:00
pcn
pdq sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
pms Don't repeat the the word 'the' 2016-05-17 12:52:31 +00:00
powermac_nvram
ppbus sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
ppc Use uintmax_t (typedef'd to rman_res_t type) for rman ranges. 2016-03-18 01:28:41 +00:00
proto Use uintmax_t (typedef'd to rman_res_t type) for rman ranges. 2016-03-18 01:28:41 +00:00
psci
pst
pty pty(4): Use strlcpy to guarantee destination buffer isn't overrun 2016-04-20 04:50:33 +00:00
puc Replace some more default range checks with RMAN_IS_DEFAULT_RANGE(). 2016-03-02 03:26:56 +00:00
qlxgb sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
qlxgbe sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
qlxge sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
quicc Replace some more default range checks with RMAN_IS_DEFAULT_RANGE(). 2016-03-02 03:26:56 +00:00
ral The EEPROM is lying about antennas. Don't hardcode things based on the chip 2016-05-17 06:04:33 +00:00
random Don't repeat the the word 'the' 2016-05-17 12:52:31 +00:00
rc sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
rccgpio
re sys/dev: use our nitems() macro when it is avaliable through param.h. 2016-04-19 23:37:24 +00:00
rl sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
rndtest sys: use our nitems() macro when param.h is available. 2016-04-21 19:40:10 +00:00
rp Migrate many bus_alloc_resource() calls to bus_alloc_resource_anywhere(). 2016-02-27 03:38:01 +00:00
rt Add compat strings used by OpenWRT to some Mediatek/Ralink drivers 2016-04-20 14:47:16 +00:00
rtwn rtwn: fix double free in raw xmit path. 2016-05-16 10:51:35 +00:00
safe
sbni sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
scc Replace some more default range checks with RMAN_IS_DEFAULT_RANGE(). 2016-03-02 03:26:56 +00:00
scd sys/dev: extend use of the howmany() macro when available. 2016-04-26 15:03:15 +00:00
sdhci Make sdhci(4) work after suspend/resume for chipsets that require 2016-05-11 07:50:35 +00:00
sec
sf sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
sfxge sfxge(4): cleanup: remove trailing whitespaces 2016-05-18 09:57:11 +00:00
sge Remove slightly used const values that can be replaced with nitems(). 2016-04-21 15:38:28 +00:00
si sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
siba [siba] use consistent naming. 2016-05-19 04:11:49 +00:00
siis sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
sio sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
sis
sk sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
smbus
smc Remove taskqueue_enqueue_fast(). 2016-03-01 17:47:32 +00:00
sn sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
snc sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
snp
sound snd_hda(4): Don't pass bogus sizeof()s to unused sysctl arg2 parameter (again) 2016-05-12 02:46:29 +00:00
speaker sys/dev: use our nitems() macro when it is avaliable through param.h. 2016-04-19 23:37:24 +00:00
spibus Fix the parameter type according to method declaration. 2016-04-26 16:02:13 +00:00
ste
stg Convert rman to use rman_res_t instead of u_long 2016-01-27 02:23:54 +00:00
stge sys/dev: use our nitems() macro when it is avaliable through param.h. 2016-04-19 23:37:24 +00:00
streams Fix streams and svr4 module dependency. Both modules are complaining about 2016-04-23 20:29:55 +00:00
sym Fix a bug in r298340: "sim" was referenced after being unset. 2016-05-13 20:54:54 +00:00
syscons sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
tdfx Cleanup unnecessary semicolons from the kernel. 2016-04-10 23:07:00 +00:00
terasic
ti sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
tl sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
tpm sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
trm sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
tsec Add an alternate compatible string for eTSEC devices. 2016-05-19 00:04:58 +00:00
twa Replace several bus_alloc_resource() calls using default arguments with bus_alloc_resource_any() 2016-02-19 03:37:56 +00:00
twe sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
tws sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
tx sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
txp
uart sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
ubsec
urtwn urtwn: add support for hardware multicast filter setup. 2016-05-16 19:10:59 +00:00
usb Fix bad sizeof(). 2016-05-19 11:02:39 +00:00
utopia
vge
viapm
viawd
videomode
virtio vtnet: fix panic on unload 2016-05-14 06:07:15 +00:00
vkbd sys/dev: use our nitems() macro when it is avaliable through param.h. 2016-04-19 23:37:24 +00:00
vmware/vmxnet3
vnic Add support for MTU chaning and Jumbo frames to VNIC 2016-05-11 13:42:20 +00:00
vr Remove taskqueue_enqueue_fast(). 2016-03-01 17:47:32 +00:00
vt sys: Make use of our rounddown() macro when sys/param.h is available. 2016-04-30 14:41:18 +00:00
vte Fix variable assignment. 2016-02-18 01:24:10 +00:00
vx sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
vxge sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
watchdog
wb
wbwd etc: minor spelling fixes. 2016-05-02 16:47:28 +00:00
wds
wi wi: fix a comment (0x1fff has 13 bits set). 2016-05-04 18:08:38 +00:00
wl sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
wpi sys: Make use of our rounddown() macro when sys/param.h is available. 2016-04-30 14:41:18 +00:00
wtap etc: minor spelling fixes. 2016-05-02 16:47:28 +00:00
xe sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
xen Add an EARLY_AP_STARTUP option to start APs earlier during boot. 2016-05-14 18:22:52 +00:00
xilinx Assert CS for single transfers. 2016-04-19 15:36:18 +00:00
xl sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00