freebsd-skq/sys
Chuck Tuffli 9544e6dcf1 Make NVMe compatible with the original API
The original NVMe API used bit-fields to represent fields in data
structures defined by the specification (e.g. the op-code in the command
data structure). The implementation targeted x86_64 processors and
defined the bit fields for little endian dwords (i.e. 32 bits).

This approach does not work as-is for big endian architectures and was
changed to use a combination of bit shifts and masks to support PowerPC.
Unfortunately, this changed the NVMe API and forces #ifdef's based on
the OS revision level in user space code.

This change reverts to something that looks like the original API, but
it uses bytes instead of bit-fields inside the packed command structure.
As a bonus, this works as-is for both big and little endian CPU
architectures.

Bump __FreeBSD_version to 1200081 due to API change

Reviewed by: imp, kbowling, smh, mav
Approved by: imp (mentor)
Differential Revision: https://reviews.freebsd.org/D16404
2018-08-22 04:29:24 +00:00
..
amd64 Remove legacy drm and drm2 from tree 2018-08-22 01:50:12 +00:00
arm disconnect drm2 from tegra build until made self-contained 2018-08-22 02:18:45 +00:00
arm64 Add muge(4) to the arm64 GENERIC kernel 2018-08-21 21:30:19 +00:00
bsm
cam Make NVMe compatible with the original API 2018-08-22 04:29:24 +00:00
cddl Set arc_kmem_cache_reap_retry_ms to 0 and make it configurable. 2018-08-21 16:37:37 +00:00
compat Eliminate kmem_malloc()'s unused arena parameter. (The arena parameter 2018-08-21 16:43:46 +00:00
conf r338172 follow - remove firmwares 2018-08-22 02:53:35 +00:00
contrib r338172 follow - remove firmwares 2018-08-22 02:53:35 +00:00
crypto Update userland arc4random() with OpenBSD's Chacha20 based arc4random(). 2018-08-19 17:40:50 +00:00
ddb add an option for ddb ps command to print process arguments 2018-08-09 11:21:31 +00:00
dev Make NVMe compatible with the original API 2018-08-22 04:29:24 +00:00
dts Remove Atmel AT91RM9200 and AT91SAM9 support. 2018-07-27 18:28:22 +00:00
fs FUSE extattrs: fix issue when neither uio nor size were not passed to VOP_* (cosmetic only). 2018-08-21 18:50:29 +00:00
gdb
geom OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
gnu Import DTS files from Linux 4.18 2018-08-13 06:40:20 +00:00
i386 Remove legacy drm and drm2 from tree 2018-08-22 01:50:12 +00:00
isa Back out r338035 until Warner is finished churning GSoC PNP patches 2018-08-19 00:46:22 +00:00
kern Add SOL_SOCKET level socket option with name SO_DOMAIN to get 2018-08-21 14:04:30 +00:00
kgssapi OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
libkern Sync strlcpy with userland version, again 2018-06-21 17:35:13 +00:00
mips Eliminate kmem_malloc()'s unused arena parameter. (The arena parameter 2018-08-21 16:43:46 +00:00
modules Remove legacy drm and drm2 from tree 2018-08-22 01:50:12 +00:00
net fix copy/paste error when clearing ifma flag 2018-08-21 22:59:22 +00:00
net80211 Fix misspellings of transmitter/transmitted 2018-08-10 20:37:32 +00:00
netgraph Remove extra M_ZERO from NG_MKRESPONSE() argument. 2018-08-20 14:35:54 +00:00
netinet in_mcast: fix copy paste error when clearing flag 2018-08-22 04:09:55 +00:00
netinet6 in_mcast: fix copy paste error when clearing flag 2018-08-22 04:09:55 +00:00
netipsec Use the new VNET_DEFINE_STATIC macro when we are defining static VNET 2018-07-24 16:35:52 +00:00
netpfil pf: Limit the maximum number of fragments per packet 2018-08-17 15:00:10 +00:00
netsmb Make timespecadd(3) and friends public 2018-07-30 15:46:40 +00:00
nfs Switch RIB and RADIX_NODE_HEAD lock from rwlock(9) to rmlock(9). 2018-06-16 08:26:23 +00:00
nfsclient
nfsserver
nlm
ofed Only NULL check the VNET pointer when VIMAGE is enabled in ibcore. 2018-07-31 11:23:44 +00:00
opencrypto cryptosoft: Reduce generality of supported algorithm composition 2018-08-17 04:40:01 +00:00
powerpc Eliminate kmem_malloc()'s unused arena parameter. (The arena parameter 2018-08-21 16:43:46 +00:00
riscv Eliminate kmem_malloc()'s unused arena parameter. (The arena parameter 2018-08-21 16:43:46 +00:00
rpc Set SO_SNDTIMEO in the client side krpc when CLSET_TIMEOUT is done. 2018-07-20 12:03:16 +00:00
security Require that MAC label buffers be able to store a non-empty string. 2018-08-01 03:46:07 +00:00
sparc64 Eliminate kmem_malloc()'s unused arena parameter. (The arena parameter 2018-08-21 16:43:46 +00:00
sys Make NVMe compatible with the original API 2018-08-22 04:29:24 +00:00
teken teken: Fix sequences header which was crossing the 80-col boundary 2018-05-29 08:41:44 +00:00
tests epoch_test: fix compile 2018-07-15 00:31:17 +00:00
tools
ufs TRIM consolodation is supposed to be off by default 2018-08-20 21:19:21 +00:00
vm Eliminate kmem_malloc()'s unused arena parameter. (The arena parameter 2018-08-21 16:43:46 +00:00
x86 Remove 'imen' global variable from atpic(4). 2018-08-21 17:13:51 +00:00
xdr
xen xen: add missing file from r336474 2018-07-19 10:14:52 +00:00
Makefile