aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/param.h
diff options
context:
space:
mode:
authorChuck Tuffli <chuck@FreeBSD.org>2018-08-22 04:29:24 +0000
committerChuck Tuffli <chuck@FreeBSD.org>2018-08-22 04:29:24 +0000
commit9544e6dcf1f338af481614dc5daf232e1ed5860b (patch)
tree6fdb66a56676d2112c97b1dc6282b2632a86dbd6 /sys/sys/param.h
parentd3878608d735ec8610b04e3f2195a436c7f56e15 (diff)
downloadsrc-9544e6dcf1f338af481614dc5daf232e1ed5860b.tar.gz
src-9544e6dcf1f338af481614dc5daf232e1ed5860b.zip
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
Notes
Notes: svn path=/head/; revision=338182
Diffstat (limited to 'sys/sys/param.h')
-rw-r--r--sys/sys/param.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/sys/param.h b/sys/sys/param.h
index 2a09cf2f6228..3ae57eaf6c90 100644
--- a/sys/sys/param.h
+++ b/sys/sys/param.h
@@ -60,7 +60,7 @@
* in the range 5 to 9.
*/
#undef __FreeBSD_version
-#define __FreeBSD_version 1200080 /* Master, propagated to newvers */
+#define __FreeBSD_version 1200081 /* Master, propagated to newvers */
/*
* __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,