diff options
author | Anas Nashif <anas.nashif@intel.com> | 2015-06-23 18:52:06 -0400 |
---|---|---|
committer | Anas Nashif <anas.nashif@intel.com> | 2016-02-05 20:14:27 -0500 |
commit | c61820bdf856788959855058415d8b0782610ceb (patch) | |
tree | 51ef0e0cd99de451b125bfe77c633ba49aabaa85 /include/kernel_version.h | |
parent | 5ae0d28d9b10de47de3d9a9822200785cdc59025 (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.h | 25 |
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 */ |