summaryrefslogtreecommitdiffhomepage
path: root/dev
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-03-26 20:33:57 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-03-26 20:33:57 +0100
commit52d1d83119c8f3c2455f09920ad47766210479c7 (patch)
tree86b10dee8a427bfdcf2525d155c16d2e2a846153 /dev
parent6c09ce86367ef0729a25e58314eefc543aaa83b7 (diff)
feat(boot): kern_ver nvram variable.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev')
-rw-r--r--dev/boot/src/HEL/AMD64/BootEFI.cc10
-rw-r--r--dev/boot/src/docs/KERN_VER.md6
-rw-r--r--dev/kernel/CompilerKit/Version.h3
-rw-r--r--dev/kernel/HALKit/AMD64/ReadMe.md8
-rw-r--r--dev/kernel/HALKit/ARM64/ReadMe.md3
-rw-r--r--dev/kernel/HALKit/POWER/ReadMe.md4
-rw-r--r--dev/kernel/HALKit/RISCV/ReadMe.md4
-rw-r--r--dev/modules/ReadMe.md11
8 files changed, 18 insertions, 31 deletions
diff --git a/dev/boot/src/HEL/AMD64/BootEFI.cc b/dev/boot/src/HEL/AMD64/BootEFI.cc
index 5e2b3855..5af3643b 100644
--- a/dev/boot/src/HEL/AMD64/BootEFI.cc
+++ b/dev/boot/src/HEL/AMD64/BootEFI.cc
@@ -279,6 +279,14 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr image_handle,
ST->RuntimeServices->SetVariable(L"/props/boot_path", kEfiGlobalNamespaceVarGUID, &attr, &kernel_path_sz, kernel_path);
}
+ UInt32 sz_ver = sizeof(UInt64);
+ UInt64 ver = KERNEL_VERSION_BCD;
+
+ ST->RuntimeServices->GetVariable(L"/props/kern_ver", kEfiGlobalNamespaceVarGUID, nullptr, &sz_ver, &ver);
+
+ Boot::BootTextWriter writer;
+ writer.Write("BootZ: Kernel Version: ").Write(ver).Write("\r");
+
Boot::BootFileReader reader_kernel(kernel_path, image_handle);
reader_kernel.ReadAll(0);
@@ -292,7 +300,7 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr image_handle,
if (reader_kernel.Blob())
{
kernel_thread = new Boot::BootThread(reader_kernel.Blob());
- kernel_thread->SetName("BootZ: MicroKernel.");
+ kernel_thread->SetName("BootZ: Kernel");
handover_hdr->f_KernelImage = reader_kernel.Blob();
}
diff --git a/dev/boot/src/docs/KERN_VER.md b/dev/boot/src/docs/KERN_VER.md
new file mode 100644
index 00000000..abe3e823
--- /dev/null
+++ b/dev/boot/src/docs/KERN_VER.md
@@ -0,0 +1,6 @@
+# /props/kern_ver
+
+The `/props/kern_ver` variable is used to track NeKernel's current version in a BCD format.
+
+- Use it to track the current's NeKernel version, in order to adapt your drivers to it.
+- It is also useful to keep track of it, for other purposes (bug tracking, development of new features) \ No newline at end of file
diff --git a/dev/kernel/CompilerKit/Version.h b/dev/kernel/CompilerKit/Version.h
index 11854cd8..9e1d9cce 100644
--- a/dev/kernel/CompilerKit/Version.h
+++ b/dev/kernel/CompilerKit/Version.h
@@ -5,3 +5,6 @@
/// <COMMIT NUMBER>.<YEAR>.<PROGRAM VERSION>
#define BOOTLOADER_VERSION "1104.2025.110"
#define KERNEL_VERSION "1104.2025.110"
+
+#define BOOTLOADER_VERSION_BCD 0x11042025110
+#define KERNEL_VERSION_BCD 0x11042025110
diff --git a/dev/kernel/HALKit/AMD64/ReadMe.md b/dev/kernel/HALKit/AMD64/ReadMe.md
deleted file mode 100644
index 02c8c86f..00000000
--- a/dev/kernel/HALKit/AMD64/ReadMe.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# AMD64 Hardware Abstraction Layer
-
-## Brief
-
-- Supported CPU: AMD64 BASED CPUs.
-- Supported Firmware: EDK 2.
-
-###### Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved. All rights reserved.
diff --git a/dev/kernel/HALKit/ARM64/ReadMe.md b/dev/kernel/HALKit/ARM64/ReadMe.md
deleted file mode 100644
index a2807e5c..00000000
--- a/dev/kernel/HALKit/ARM64/ReadMe.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# ARM64 Hardware Abstraction Layer
-
-- Supported Firmware: NeKernel CoreBoot/EDK
diff --git a/dev/kernel/HALKit/POWER/ReadMe.md b/dev/kernel/HALKit/POWER/ReadMe.md
deleted file mode 100644
index a4919c4a..00000000
--- a/dev/kernel/HALKit/POWER/ReadMe.md
+++ /dev/null
@@ -1,4 +0,0 @@
-POWER Hardware Abstraction Layer
-
-- Supported CPU: POWER
-- Supported Firmware: NeKernel CoreBoot \ No newline at end of file
diff --git a/dev/kernel/HALKit/RISCV/ReadMe.md b/dev/kernel/HALKit/RISCV/ReadMe.md
deleted file mode 100644
index 982a2acb..00000000
--- a/dev/kernel/HALKit/RISCV/ReadMe.md
+++ /dev/null
@@ -1,4 +0,0 @@
-RISCV64 Hardware Abstraction Layer
-
-- Supported CPU: RISCV64
-- Supported Firmware: NeKernel CoreBoot \ No newline at end of file
diff --git a/dev/modules/ReadMe.md b/dev/modules/ReadMe.md
deleted file mode 100644
index 5e71937f..00000000
--- a/dev/modules/ReadMe.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Kernel Modules
-
-## Brief
-
-They are pluggable modules for specific hardware support.
-
-## To-Do
-
-- [X] AHCI kernel module.
-
-###### Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved. All rights reserved.