freebsd-skq/sys/dev/mpr
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
..
mpi Update mpr(4) driver from v15 to v18 from Broadcom site. 2018-03-19 23:21:45 +00:00
mpr_config.c Changes to make mps(4) and mpr(4) handle reinit with reallocation. 2017-08-10 14:59:17 +00:00
mpr_ioctl.h Update mpr(4) driver from v15 to v18 from Broadcom site. 2018-03-19 23:21:45 +00:00
mpr_mapping.c Clean enclosure_table when resetting num_enc_table_entries to zero. 2018-05-02 02:41:09 +00:00
mpr_mapping.h Add tri-mode support (SAS/SATA/PCIe). 2017-05-17 21:33:37 +00:00
mpr_pci.c Fix line wrap issues. 2017-09-15 20:58:52 +00:00
mpr_sas_lsi.c Port the mps panic-safe shutdown_final handling to mpr 2018-08-13 19:59:42 +00:00
mpr_sas.c Make NVMe compatible with the original API 2018-08-22 04:29:24 +00:00
mpr_sas.h Garbage collect usued fields 2017-09-23 08:26:42 +00:00
mpr_table.c Convert some in-line printing of diagnostic into tables. 2017-09-09 22:02:36 +00:00
mpr_table.h Convert some in-line printing of diagnostic into tables. 2017-09-09 22:02:36 +00:00
mpr_user.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
mpr.c Implement a sysctl to dump in-flight I/O state for debugging. The tool to 2018-03-12 05:02:22 +00:00
mprvar.h Port the mps panic-safe shutdown_final handling to mpr 2018-08-13 19:59:42 +00:00