summaryrefslogtreecommitdiff
path: root/include/kernel_version.h
diff options
context:
space:
mode:
authorAnas Nashif <anas.nashif@intel.com>2015-06-23 18:52:06 -0400
committerAnas Nashif <anas.nashif@intel.com>2016-02-05 20:14:27 -0500
commitc61820bdf856788959855058415d8b0782610ceb (patch)
tree51ef0e0cd99de451b125bfe77c633ba49aabaa85 /include/kernel_version.h
parent5ae0d28d9b10de47de3d9a9822200785cdc59025 (diff)
version: Update version handling and code
The kernel version has been converted from a string to a four-byte quantity that is divided into two parts. Part 1: The three most significant bytes represent the kernel's numeric version, x.y.z. These fields denote: x -- major release y -- minor release z -- patchlevel release Each of these elements must therefore be in the range 0 to 256, inclusive. Part 2: The least significant byte is reserved for future use. EXTRAVERSION is used for intermediate releases and customised builds on top of an existing/released version. Change-Id: Ibb7dd5654c36daeaa3a53499857d254aaef25bdf Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Diffstat (limited to 'include/kernel_version.h')
-rw-r--r--include/kernel_version.h25
1 files changed, 8 insertions, 17 deletions
diff --git a/include/kernel_version.h b/include/kernel_version.h
index 2f5f18029..fca7342ec 100644
--- a/include/kernel_version.h
+++ b/include/kernel_version.h
@@ -35,29 +35,20 @@
/*
* The kernel version has been converted from a string to a four-byte
- * quantity that is divided into three parts.
+ * quantity that is divided into two parts.
*
- * Part 1: The two most significant bytes are sub-divided into four nibbles,
- * representing the kernel's numeric version, w.x.y.z. These fields denote:
- * w -- generation release number
+ * Part 1: The three most significant bytes represent the kernel's
+ * numeric version, x.y.z. These fields denote:
* x -- major release
* y -- minor release
- * z -- servicepack release
- * Each of these elements must therefore be in the range 0 to 15, inclusive.
+ * z -- patchlevel release
+ * Each of these elements must therefore be in the range 0 to 256, inclusive.
*
- * Part 2: The next most significant byte is used for a variety of flags and is
- * broken down as follows:
- * Bits 7..0 - Cleared as the are currently unused.
- *
- * Part 3: The least significant byte is reserved for future use.
+ * Part 2: The least significant byte is reserved for future use.
*/
-#define SYS_KERNEL_VER_GENERATION(ver) ((ver >> 28) & 0x0F)
#define SYS_KERNEL_VER_MAJOR(ver) ((ver >> 24) & 0x0F)
-#define SYS_KERNEL_VER_MINOR(ver) ((ver >> 20) & 0x0F)
-#define SYS_KERNEL_VER_SERVICEPACK(ver) ((ver >> 16) & 0x0F)
-
-/* return 8-bit flags */
-#define SYS_KERNEL_VER_FLAGS(ver) ((ver >> 8) & 0xFF)
+#define SYS_KERNEL_VER_MINOR(ver) ((ver >> 16) & 0x0F)
+#define SYS_KERNEL_VER_PATCHLEVEL(ver) ((ver >> 8) & 0x0F)
/* kernel version routines */