summaryrefslogtreecommitdiffhomepage
path: root/dev
diff options
context:
space:
mode:
Diffstat (limited to 'dev')
-rw-r--r--dev/boot/amd64-ci.make12
-rw-r--r--dev/boot/amd64-desktop.make16
-rw-r--r--dev/boot/arm64-desktop.make10
-rw-r--r--dev/boot/modules/BootNet/amd64.json2
-rw-r--r--dev/boot/modules/SysChk/amd64.json2
-rw-r--r--dev/boot/modules/SysChk/arm64.json2
-rw-r--r--dev/boot/src/BootloaderRsrc.rsrc2
-rw-r--r--dev/boot/src/HEL/AMD64/BootAPI.S9
-rw-r--r--dev/boot/src/HEL/AMD64/BootEFI.cc32
-rw-r--r--dev/boot/src/HEL/ARM64/BootEFI.cc4
-rw-r--r--dev/ddk/docs/SPECIFICATION_DDK.md2
-rw-r--r--dev/kernel/KernelKit/PEF.h2
-rw-r--r--dev/kernel/SwapKit/DiskSwap.h2
-rw-r--r--dev/kernel/amd64-ci.make2
-rw-r--r--dev/kernel/amd64-desktop.make2
-rw-r--r--dev/kernel/arm64-desktop.make2
-rw-r--r--dev/kernel/kernel_rsrc.rsrc2
-rw-r--r--dev/kernel/src/FS/NeFS.cc2
18 files changed, 58 insertions, 49 deletions
diff --git a/dev/boot/amd64-ci.make b/dev/boot/amd64-ci.make
index 6134e79c..ed73f3d3 100644
--- a/dev/boot/amd64-ci.make
+++ b/dev/boot/amd64-ci.make
@@ -28,7 +28,7 @@ BIOS=OVMF.fd
IMG=epm-master-1.img
IMG_2=epm-master-2.img
-BOOT=./src/neos_esp.img
+BOOT=./src/nekernel-esp.img
DISK_DRV =
@@ -71,10 +71,10 @@ FLAG_GNU=-fshort-wchar -D__EFI_x86_64__ -mno-red-zone -D__NEOSKRNL__ -D__BOOTZ__
-DEFI_FUNCTION_WRAPPER -I./ -I../kernel $(DISK_DRV) -I../ -c -nostdlib -fno-rtti -fno-exceptions \
-std=c++20 -DBOOTZ_GPT_SUPPORT -DBOOTZ_EPM_SUPPORT -D__HAVE_NE_APIS__ -DZBA_USE_FB -D__NE_AMD64__ -D__NE__ -DNE_AUTO_FORMAT
-BOOTLOADER=bootz.exe
-KERNEL=vkrnl.exe
-SYSCHK=chk.sys
-NETBOOT=net.sys
+BOOTLOADER=bootz.efi
+KERNEL=vmkrnl.efi
+SYSCHK=chk.efi
+BOOTNET=net.efi
SCIKIT=libuser.dylib
.PHONY: invalid-recipe
@@ -132,7 +132,7 @@ efi:
$(HTTP_GET) https://retrage.github.io/edk2-nightly/bin/DEBUGX64_OVMF.fd -O OVMF.fd
BINS=*.bin
-EXECUTABLES=bootz.exe vkrnl.exe OVMF.fd
+EXECUTABLES=bootz.efi vmkrnl.efi OVMF.fd
TARGETS=$(REM_FLAG) $(OBJ) $(BIN) $(IMG) $(IMG_2) $(EXECUTABLES)
diff --git a/dev/boot/amd64-desktop.make b/dev/boot/amd64-desktop.make
index 6a8cb3f9..6e92330e 100644
--- a/dev/boot/amd64-desktop.make
+++ b/dev/boot/amd64-desktop.make
@@ -28,7 +28,7 @@ BIOS=OVMF.fd
IMG=epm-master-1.img
IMG_2=epm-master-2.img
-BOOT=./src/neos_esp.img
+BOOT=./src/nekernel-esp.img
DISK_DRV =
@@ -69,12 +69,12 @@ REM_FLAG=-f
FLAG_ASM=-f win64
FLAG_GNU=-fshort-wchar -D__EFI_x86_64__ -mno-red-zone -D__NEOSKRNL__ -D__BOOTZ__ \
-DEFI_FUNCTION_WRAPPER -I./ -I../kernel $(DISK_DRV) -I../ -c -nostdlib -fno-rtti -fno-exceptions \
- -std=c++20 -DBOOTZ_GPT_SUPPORT -DBOOTZ_EPM_SUPPORT -D__HAVE_NE_APIS__ -DZBA_USE_FB -D__NE_AMD64__ -D__NE__ -DNE_AUTO_FORMAT
+ -std=c++20 -DBOOTZ_GPT_SUPPORT -DBOOTZ_EPM_SUPPORT -D__HAVE_NE_APIS__ -DZBA_USE_FB -D__NE_AMD64__ -D__NE__ -DNE_AUTO_FORMAT -Wl,--disable-reloc-section
-BOOTLOADER=bootz.exe
-KERNEL=vkrnl.exe
-SYSCHK=chk.sys
-NETBOOT=net.sys
+BOOTLOADER=bootz.efi
+KERNEL=vmkrnl.efi
+SYSCHK=chk.efi
+BOOTNET=net.efi
SCIKIT=libuser.dylib
.PHONY: invalid-recipe
@@ -90,7 +90,7 @@ all: compile-amd64
$(COPY) src/$(BOOTLOADER) src/Root/EFI/BOOT/BOOTZ.EFI
$(COPY) ../kernel/$(KERNEL) src/Root/$(KERNEL)
$(COPY) ./modules/SysChk/$(SYSCHK) src/Root/$(SYSCHK)
- $(COPY) ./modules/BootNet/$(NETBOOT) src/Root/$(NETBOOT)
+ $(COPY) ./modules/BootNet/$(BOOTNET) src/Root/$(BOOTNET)
$(COPY) ../user/$(SCIKIT) src/Root/$(SCIKIT)
$(COPY) src/$(BOOTLOADER) src/Root/$(BOOTLOADER)
@@ -138,7 +138,7 @@ efi:
$(HTTP_GET) https://retrage.github.io/edk2-nightly/bin/DEBUGX64_OVMF.fd -O OVMF.fd
BINS=*.bin
-EXECUTABLES=bootz.exe vkrnl.exe OVMF.fd
+EXECUTABLES=bootz.efi vmkrnl.efi OVMF.fd
TARGETS=$(REM_FLAG) $(OBJ) $(BIN) $(IMG) $(IMG_2) $(EXECUTABLES)
diff --git a/dev/boot/arm64-desktop.make b/dev/boot/arm64-desktop.make
index 376ae622..d17c2ae2 100644
--- a/dev/boot/arm64-desktop.make
+++ b/dev/boot/arm64-desktop.make
@@ -47,10 +47,10 @@ FLAG_GNU=-fshort-wchar -c -ffreestanding -MMD -mno-red-zone -D__NE_ARM64__ -fno-
-target aarch64-unknown-windows \
-std=c++20 -DBOOTZ_EPM_SUPPORT -DZBA_USE_FB -D__FSKIT_USE_NEFS__ -D__BOOTZ_STANDALONE__ -D__NEOSKRNL__ -D__BOOTZ__ -D__HAVE_NE_APIS__ -D__NE__ -I../ -I../kernel
-BOOT_LOADER=bootz.exe
-KERNEL=vkrnl.exe
-SYSCHK=chk.sys
-STARTUP=startup.sys
+BOOT_LOADER=bootz.efi
+KERNEL=vmkrnl.efi
+SYSCHK=chk.efi
+STARTUP=startup.efi
.PHONY: invalid-recipe
invalid-recipe:
@@ -94,7 +94,7 @@ efi:
$(HTTP_GET) https://retrage.github.io/edk2-nightly/bin/DEBUGAARCH64_QEMU_EFI.fd -O OVMF.fd
BINS=*.bin
-EXECUTABLES=bootz.exe vkrnl.exe OVMF.fd
+EXECUTABLES=bootz.efi vmkrnl.efi OVMF.fd
TARGETS=$(REM_FLAG) $(OBJ) $(BIN) $(IMG) $(IMG_2) $(EXECUTABLES)
diff --git a/dev/boot/modules/BootNet/amd64.json b/dev/boot/modules/BootNet/amd64.json
index 6a87600b..664c617f 100644
--- a/dev/boot/modules/BootNet/amd64.json
+++ b/dev/boot/modules/BootNet/amd64.json
@@ -3,7 +3,7 @@
"compiler_std": "c++20",
"headers_path": ["../", "../../", "../../../kernel", "../../../", "./"],
"sources_path": ["*.cc", "*.S", "../../src/HEL/AMD64/*.cc", "../../src/HEL/AMD64/*.S", "../../src/*.cc"],
- "output_name": "net.sys",
+ "output_name": "net.efi",
"compiler_flags": [
"-nostdlib",
"-std=c++20",
diff --git a/dev/boot/modules/SysChk/amd64.json b/dev/boot/modules/SysChk/amd64.json
index f7d979ac..d995bde2 100644
--- a/dev/boot/modules/SysChk/amd64.json
+++ b/dev/boot/modules/SysChk/amd64.json
@@ -3,7 +3,7 @@
"compiler_std": "c++20",
"headers_path": ["../", "../../", "../../../kernel", "../../../", "./"],
"sources_path": ["*.cc", "*.S", "../../src/HEL/AMD64/*.cc", "../../src/HEL/AMD64/*.S", "../../src/*.cc"],
- "output_name": "chk.sys",
+ "output_name": "chk.efi",
"compiler_flags": [
"-nostdlib",
"-std=c++20",
diff --git a/dev/boot/modules/SysChk/arm64.json b/dev/boot/modules/SysChk/arm64.json
index 9d4ebcf9..1f91326e 100644
--- a/dev/boot/modules/SysChk/arm64.json
+++ b/dev/boot/modules/SysChk/arm64.json
@@ -3,7 +3,7 @@
"compiler_std": "c++20",
"headers_path": ["../", "../../", "../../../kernel", "../../../", "./"],
"sources_path": ["*.cc", "*.S", "../../src/HEL/ARM64/*.cc", "../../src/HEL/ARM64/*.S", "../../src/*.cc"],
- "output_name": "chk.sys",
+ "output_name": "chk.efi",
"compiler_flags": [
"-ffreestanding",
"-nostdlib",
diff --git a/dev/boot/src/BootloaderRsrc.rsrc b/dev/boot/src/BootloaderRsrc.rsrc
index 96953911..c634a8f6 100644
--- a/dev/boot/src/BootloaderRsrc.rsrc
+++ b/dev/boot/src/BootloaderRsrc.rsrc
@@ -13,7 +13,7 @@ BEGIN
VALUE "FileVersion", BOOTLOADER_VERSION
VALUE "InternalName", "bootz"
VALUE "LegalCopyright", "Copyright (C) 2024, Amlal El Mahrouss all rights reserved."
- VALUE "OriginalFilename", "bootz.exe"
+ VALUE "OriginalFilename", "bootz.efi"
VALUE "ProductName", "bootz"
VALUE "ProductVersion", BOOTLOADER_VERSION
END
diff --git a/dev/boot/src/HEL/AMD64/BootAPI.S b/dev/boot/src/HEL/AMD64/BootAPI.S
index 963ef46a..c4a7ad39 100644
--- a/dev/boot/src/HEL/AMD64/BootAPI.S
+++ b/dev/boot/src/HEL/AMD64/BootAPI.S
@@ -11,15 +11,10 @@
rt_jump_to_address:
mov rbx, rcx
mov rcx, rdx
- push rbx
- push rdx
mov rsp, r8
- push rax
- jmp rbx
- pop rdx
- pop rbx
- pop rax
+ cli
+ jmp rbx
ret
diff --git a/dev/boot/src/HEL/AMD64/BootEFI.cc b/dev/boot/src/HEL/AMD64/BootEFI.cc
index fba3d227..7b912025 100644
--- a/dev/boot/src/HEL/AMD64/BootEFI.cc
+++ b/dev/boot/src/HEL/AMD64/BootEFI.cc
@@ -20,15 +20,15 @@
// Makes the compiler shut up.
#ifndef kMachineModel
-#define kMachineModel "ZkaOS"
+#define kMachineModel "NeKernel"
#endif // !kMachineModel
#ifndef kExpectedWidth
-#define kExpectedWidth (1280)
+#define kExpectedWidth (800)
#endif
#ifndef kExpectedHeight
-#define kExpectedHeight (720)
+#define kExpectedHeight (600)
#endif
/** Graphics related. */
@@ -98,7 +98,12 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr image_handle,
#ifdef ZBA_USE_FB
if (!boot_init_fb())
- return 1; ///! Init the GOP.
+ {
+ Boot::BootTextWriter writer;
+ writer.Write("BootZ: Invalid Framebuffer, can't boot NeKernel.\r");
+
+ CANT_REACH();
+ }
for (SizeT index_vt = 0; index_vt < sys_table->NumberOfTableEntries;
++index_vt)
@@ -207,7 +212,7 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr image_handle,
// ------------------------------------------ //
#if defined(__ATA_PIO__)
- Boot::BootFileReader reader_syschk(L"chk.sys", image_handle);
+ Boot::BootFileReader reader_syschk(L"chk.efi", image_handle);
reader_syschk.ReadAll(0);
Boot::BootThread* syschk_thread = nullptr;
@@ -266,7 +271,7 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr image_handle,
handover_hdr->f_FirmwareVendorLen = Boot::BStrLen(sys_table->FirmwareVendor);
// Assign to global 'kHandoverHeader'.
- WideChar kernel_path[256U] = L"vkrnl.exe";
+ WideChar kernel_path[256U] = L"vmkrnl.efi";
UInt32 kernel_path_sz = 256U;
if (ST->RuntimeServices->GetVariable(L"/props/boot_path", kEfiGlobalNamespaceVarGUID, nullptr, &kernel_path_sz, kernel_path) != kEfiOk)
@@ -283,6 +288,15 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr image_handle,
ST->RuntimeServices->GetVariable(L"/props/kern_ver", kEfiGlobalNamespaceVarGUID, nullptr, &sz_ver, &ver);
Boot::BootTextWriter writer;
+
+ if (ver != KERNEL_VERSION_BCD)
+ {
+ ver = KERNEL_VERSION_BCD;
+
+ ST->RuntimeServices->SetVariable(L"/props/kern_ver", kEfiGlobalNamespaceVarGUID, nullptr, &sz_ver, &ver);
+ writer.Write("BootZ: Kernel Version Updated: ").Write(ver).Write("\r");
+ }
+
writer.Write("BootZ: Kernel Version: ").Write(ver).Write("\r");
Boot::BootFileReader reader_kernel(kernel_path, image_handle);
@@ -310,17 +324,17 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr image_handle,
Boot::Stop();
}
- Boot::BootFileReader reader_netboot(L"net.sys", image_handle);
+ Boot::BootFileReader reader_netboot(L"net.efi", image_handle);
reader_netboot.ReadAll(0);
Boot::BootThread* netboot_thread = nullptr;
- Boot::ExitBootServices(map_key, image_handle);
-
// ---------------------------------------------------- //
// Finally load the OS kernel.
// ---------------------------------------------------- //
+ Boot::ExitBootServices(map_key, image_handle);
+
if (kernel_thread->Start(handover_hdr, YES) != kEfiOk)
{
// ------------------------------------------ //
diff --git a/dev/boot/src/HEL/ARM64/BootEFI.cc b/dev/boot/src/HEL/ARM64/BootEFI.cc
index 5016214f..6839c2ec 100644
--- a/dev/boot/src/HEL/ARM64/BootEFI.cc
+++ b/dev/boot/src/HEL/ARM64/BootEFI.cc
@@ -20,7 +20,7 @@
// Makes the compiler shut up.
#ifndef kMachineModel
-#define kMachineModel "ZkaOS"
+#define kMachineModel "NeKernel"
#endif // !kMachineModel
#ifndef kExpectedWidth
@@ -196,7 +196,7 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr image_handle,
// Assign to global 'kHandoverHeader'.
- Boot::BootFileReader reader_kernel(L"vkrnl.exe", image_handle);
+ Boot::BootFileReader reader_kernel(L"vmkrnl.efi", image_handle);
reader_kernel.ReadAll(0);
diff --git a/dev/ddk/docs/SPECIFICATION_DDK.md b/dev/ddk/docs/SPECIFICATION_DDK.md
index 5fbff990..57710d1f 100644
--- a/dev/ddk/docs/SPECIFICATION_DDK.md
+++ b/dev/ddk/docs/SPECIFICATION_DDK.md
@@ -6,7 +6,7 @@
- Programming Language: C/C++
- Build System: Make/BTB
-- Purpose: Driver Tool Kit, which you link against libddk.sys
+- Purpose: Driver Tool Kit, which you link against ddk.sys
===================================
diff --git a/dev/kernel/KernelKit/PEF.h b/dev/kernel/KernelKit/PEF.h
index 65c9548a..eaa71a5e 100644
--- a/dev/kernel/KernelKit/PEF.h
+++ b/dev/kernel/KernelKit/PEF.h
@@ -32,7 +32,7 @@
#define kPefLibExt ".lib"
#define kPefObjectExt ".obj"
#define kPefDebugExt ".dbg"
-#define kPefDriverExt ".sys"
+#define kPefDriverExt ".efi"
// Kernel System Binary Interface.
#define kPefAbi (0x5046)
diff --git a/dev/kernel/SwapKit/DiskSwap.h b/dev/kernel/SwapKit/DiskSwap.h
index 717baae4..d09e719a 100644
--- a/dev/kernel/SwapKit/DiskSwap.h
+++ b/dev/kernel/SwapKit/DiskSwap.h
@@ -11,7 +11,7 @@
#include <CompilerKit/CompilerKit.h>
#define kSwapBlockMaxSize (mib_cast(16))
-#define kSwapPageFile "/boot/pagefile.sys"
+#define kSwapPageFile "/boot/pagefile.efi"
/// @file SwapDisk.h
/// @brief Virtual memory swap disk.
diff --git a/dev/kernel/amd64-ci.make b/dev/kernel/amd64-ci.make
index 5e94f47d..d71f3a6f 100644
--- a/dev/kernel/amd64-ci.make
+++ b/dev/kernel/amd64-ci.make
@@ -37,7 +37,7 @@ LDFLAGS = -e hal_init_platform --subsystem=17 --image-base 0x4000000
LDOBJ = obj/*.obj
# This file is the Kernel, responsible of task, memory, driver, sci, disk and device management.
-KERNEL_IMG = vkrnl.exe
+KERNEL_IMG = vmkrnl.efi
.PHONY: error
error:
diff --git a/dev/kernel/amd64-desktop.make b/dev/kernel/amd64-desktop.make
index 5e94f47d..d71f3a6f 100644
--- a/dev/kernel/amd64-desktop.make
+++ b/dev/kernel/amd64-desktop.make
@@ -37,7 +37,7 @@ LDFLAGS = -e hal_init_platform --subsystem=17 --image-base 0x4000000
LDOBJ = obj/*.obj
# This file is the Kernel, responsible of task, memory, driver, sci, disk and device management.
-KERNEL_IMG = vkrnl.exe
+KERNEL_IMG = vmkrnl.efi
.PHONY: error
error:
diff --git a/dev/kernel/arm64-desktop.make b/dev/kernel/arm64-desktop.make
index 153389ed..7ae4d9f8 100644
--- a/dev/kernel/arm64-desktop.make
+++ b/dev/kernel/arm64-desktop.make
@@ -23,7 +23,7 @@ LDFLAGS = -subsystem:efi_application -entry:hal_init_platform /nodefaultlib
LDOBJ = obj/*.obj
# This file is the Kernel, responsible of task management and memory.
-KERNEL = vkrnl.exe
+KERNEL = vmkrnl.efi
.PHONY: error
error:
diff --git a/dev/kernel/kernel_rsrc.rsrc b/dev/kernel/kernel_rsrc.rsrc
index 4694ee31..ab149b31 100644
--- a/dev/kernel/kernel_rsrc.rsrc
+++ b/dev/kernel/kernel_rsrc.rsrc
@@ -13,7 +13,7 @@ BEGIN
VALUE "FileVersion", KERNEL_VERSION
VALUE "InternalName", "neoskrnl"
VALUE "LegalCopyright", "(c) 2024-2025 Amlal El Mahrouss, all rights reserved"
- VALUE "OriginalFilename", "vkrnl.exe"
+ VALUE "OriginalFilename", "vmkrnl.efi"
VALUE "ProductName", "NeKernel"
VALUE "ProductVersion", KERNEL_VERSION
END
diff --git a/dev/kernel/src/FS/NeFS.cc b/dev/kernel/src/FS/NeFS.cc
index 3b7fb79e..6b73dc09 100644
--- a/dev/kernel/src/FS/NeFS.cc
+++ b/dev/kernel/src/FS/NeFS.cc
@@ -503,7 +503,7 @@ bool NeFileSystemParser::Format(_Input _Output DriveTrait* drive, _Input const L
// Write a new EPM entry.
constexpr auto kFsName = "NeFS";
- constexpr auto kBlockName = "ZkaOS:";
+ constexpr auto kBlockName = "NeKernel:";
rt_copy_memory(reinterpret_cast<VoidPtr>(const_cast<Char*>(kFsName)), epm_boot->Fs, rt_string_len(kFsName));