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
..
2018-07-07 15:55:52 +00:00
2018-05-24 17:06:00 +00:00
2018-08-10 13:38:23 +00:00
2018-07-17 23:56:13 +00:00
2018-07-17 23:23:45 +00:00
2018-06-15 02:28:36 +00:00
2018-04-13 20:30:49 +00:00
2017-12-30 19:27:22 +00:00
2018-08-05 06:15:35 +00:00
2018-03-14 18:27:06 +00:00
2018-03-28 07:59:16 +00:00
2018-08-01 08:24:34 +00:00
2017-11-30 20:33:45 +00:00
2018-06-07 13:57:34 +00:00
2018-08-07 17:13:42 +00:00
2018-08-21 10:08:12 +00:00
2018-05-25 19:00:28 +00:00
2017-11-30 20:33:45 +00:00
2018-08-14 19:12:45 +00:00
2017-10-21 07:23:45 +00:00
2017-11-30 20:33:45 +00:00
2018-04-13 20:30:49 +00:00
2018-07-27 10:40:48 +00:00
2018-07-13 22:49:48 +00:00
2018-01-03 00:56:30 +00:00
2018-01-13 16:31:07 +00:00