MFC r350393: Decode some more IDENTIFY DEVICE bits.
Announce PCI Segment Groups supported to PCI host _OSC.
Don't consider PCIe hot-plug command timeout fatal.
Looks good to me. Just thinking whether -1 or EOF is more appropriate.
Report Clock Power Management support and status.
Improve NVMe hot unplug handling.
Formalize NVMe controller consumer life cycle.
Forgotten part of r351137.
Looking through the code (sorry for enormous delay), I found significant number of random issues. That is why I made some efforts to clean up the code as I see fit, not rewriting it too much, but making it build on amd64 and i386 and quickly testing functionality. If you have any objections or improvements, I'll happily discuss them.
NTB Tool: Test driver for NTB hardware drivers.
Add support for 'j', 't' and 'z' flags to kernel sscanf().
Limit memory window usage in ntb_transport to 256MB.
The code also seems to not build on i386. I haven't looked close, but when I tried to build other thing, it failed.
Add NTB modules to i386 build.
Fix i386 LINT build after r351056.
And could you also write small man page so that people would know about the driver and to which hardware it applies.
Implement new methods for Intel and PLX NTB.
Have you tried to run this code on debug kernel? On fresh head with INVARIANTS, WITNESS, etc. it complains and crashes immediately on attempt to sleep under mutex in many places (sysctl, memory allocations, etc).
Add support for PCI Device ID 0x148B in ntb_hw_amd driver.
Looks good to me. I'll commit it as soon as test build completes.
Print few more useful identify fields.
Report NOIOB and NPWG fields as stripe size.
Add missing break statements in r351004.
Make nvd(4) report NGUID or EUI64 as GEOM::lunid.
MFC r350961: Missed part of r350523.
MFC kernel part of r350523, r350524, r350961:
MFC r350961: Missed part of r350523.
MFC r342358 (by imp): Try the first 256 units with nvmecontrol devlist.
MFC r350652 (by imp): Fix mismerge.
MFC r350599, r350609: Add `nvmecontrol resv` to handle NVMe reservations.
MFC r350563: Add `nvmecontrol sanitize` command.
MFC r350555: Fix parameter check broken at r350057.
MFC r350553: Add more random bits from NVMe 1.4.
MFC r350541: Decode few more NVMe log pages.
MFC r350529, r350530: Add more new fields and values from NVMe 1.4.
MFC r350523, r350524: Add IOCTL to translate nvdX into nvmeY and NSID.
MFC r350477: Feature-complete NVMe Namespace Management.
MFC r350462: Tune some commands desctiption.
MFC r350461: Fix usage printing for nested subcommands.
MFC r350399: Add some new fields and bits from NVMe 1.4.
MFC r350333 (by imp): Widen the type for to.
MFC r350309 (by imp): Fix several related coverity issues:
MFC r350147 (by imp): Keep track of the number of commands that exhaust their…
MFC r350146 (by imp): Keep track of the number of retried commands.
MFC r350120 (by imp): Use sysctl + CTLRWTUN for hw.nvme.verbose_cmd_dump.
MFC r350118 (by imp): Provide new tunable hw.nvme.verbose_cmd_dump
MFC r350094 (by imp): Remove now-obsolete comment.
MFC r350068 (by imp): Assume that the timeout value from the capacity is 1-based
MFC r350058 (by imp): Implement {io,admin}-passthru commands.
MFC r350057 (by imp): Create generic command / arg parsing routines
MFC r347939 (by scottl): Better formatting for the logpage section
MFC r347369 (by imp): rename nvme_ctrlr_destroy_qpair to…
MFC r344469 (by imp): Rework logpage extensibility.
MFC r344191 (by imp): Remove write-only s_flag.
MFC r342358 (by imp): Try the first 256 units with nvmecontrol devlist.
MFC r341662 (by imp): Use proper prototypes.
MFC r341661 (by imp): It's useful to have this be a global function.
MFC r341660 (by imp): This is not a samsung standard, so remove that alias.
MFC r341659 (by imp): Move intel and wdc files to their own modules
MFC r341658 (by imp): Const poison the command interface
MFC r341657 (by imp): Dynamically load .so modules to expand functionality
MFC r341416 (by imp): Fix typo in comment
MFC r341415 (by imp): Delete the undocumented alias 'wds'.
MFC r341414 (by imp): Move Intel specific log pages to intel.c
MFC r341413 (by imp): Usage cleanup pt 2
MFC r341412 (by imp): Usage cleanup pt 1
MFC r341411 (by imp): Return after we find the dispatched function.
MFC r341410 (by imp): Move the hgst/wdc log page printing code into wdc.c
MFC r341409 (by imp): Move common logpage routines into nvmecontrol.h
MFC r341408 (by imp): Make logpage functions a linker set.
MFC r341407 (by imp): Move nvmecontrol to using linker sets for commands
MFC r350383: Reenable UNMAP support on ramdisks by default.
MFC r350378: Allow WRITE SAME handle more then 2^^32 blocks.
MFC r350363: Add support for Long LBA mode parameter block descriptor.
MFC r350346: Add device temperature reporting into CTL.
MFC r350343: Add reporting of SCSI Feature Sets VPD page from SPC-5.
MFC r350331: Make `camcontrol sanitize` support also ATA devices.
MFC r350257: Make `camcontrol hpa` and `camcontrol ama` trigger reprobe.
MFC r350233: Make CAM ATA stack handle disk resizes.
MFC r326645 (by imp): Define xpt_path_inq.
MFC r350214: Unify BTL parsing for `camcontrol debug` and `reset`.
MFC r350150: Properly report ACS revisions alike to kernel.
MFC r350149: Add Accessible Max Address Configuration support to camcontrol.
MFC r348376 (by rpokala):
MFC r312212 (by cem): Fix a minor typo (Seiral)
MFC r350020 (by imp): Use a different approach to range check.
MFC r350018 (by imp): Implement a devtype command.