summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-11-17 10:05:07 +0100
committerGitHub <noreply@github.com>2025-11-17 10:05:07 +0100
commit062c4bb508bf6ec7334d374fef2e0e10623b2df9 (patch)
tree137a91eb22d1a9207fd4322ced08c3b6388c5eb5 /dev/kernel
parent36269e57831e560df6a0da9c9d02c00671b0163d (diff)
parent791fcd646503f05617f22e6006c115095746da26 (diff)
Merge pull request #69 from nekernel-org/dev
release: NeKernel v0.0.7
Diffstat (limited to 'dev/kernel')
-rw-r--r--dev/kernel/ArchKit/ArchKit.h2
-rw-r--r--dev/kernel/CFKit/GUIDWizard.h2
-rw-r--r--dev/kernel/CFKit/GUIDWrapper.h2
-rw-r--r--dev/kernel/CFKit/Property.h2
-rw-r--r--dev/kernel/CompilerKit/CompilerKit.h2
-rw-r--r--dev/kernel/CompilerKit/Detail.h2
-rw-r--r--dev/kernel/DmaKit/DmaPool.h8
-rw-r--r--dev/kernel/FSKit/Defines.h2
-rw-r--r--dev/kernel/FSKit/Ext2+IFS.h2
-rw-r--r--dev/kernel/FSKit/Ext2.h2
-rw-r--r--dev/kernel/FSKit/IndexableProperty.h2
-rw-r--r--dev/kernel/FSKit/NeFS.h2
-rw-r--r--dev/kernel/FSKit/OpenHeFS.h4
-rw-r--r--dev/kernel/FirmwareKit/EFI.h2
-rw-r--r--dev/kernel/FirmwareKit/EFI/API.h2
-rw-r--r--dev/kernel/FirmwareKit/EFI/EFI.h2
-rw-r--r--dev/kernel/FirmwareKit/EFI/NS.h2
-rw-r--r--dev/kernel/FirmwareKit/EPM.h4
-rw-r--r--dev/kernel/FirmwareKit/GPT.h2
-rw-r--r--dev/kernel/FirmwareKit/Handover.h2
-rw-r--r--dev/kernel/FirmwareKit/NeBoot/BootNet.h2
-rw-r--r--dev/kernel/FirmwareKit/NeBoot/NS.h2
-rw-r--r--dev/kernel/FirmwareKit/NeBoot/NeBoot.h2
-rw-r--r--dev/kernel/FirmwareKit/VEPM.h2
-rw-r--r--dev/kernel/GfxKit/FB.h2
-rw-r--r--dev/kernel/HALKit/AMD64/CPUID.h2
-rw-r--r--dev/kernel/HALKit/AMD64/CxxAbi.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/HalACPIFactoryInterface.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/HalAPICDmaWrapper.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/HalCommonAPI.asm2
-rw-r--r--dev/kernel/HALKit/AMD64/HalControlRegisterAPI.s2
-rw-r--r--dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/HalCoreSystemCalls.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/HalDebugOutput.cc10
-rw-r--r--dev/kernel/HALKit/AMD64/HalDebugProtocol.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/HalHandoverStub.asm2
-rw-r--r--dev/kernel/HALKit/AMD64/HalInterruptAPI.asm2
-rw-r--r--dev/kernel/HALKit/AMD64/HalKernelMain.cc8
-rw-r--r--dev/kernel/HALKit/AMD64/HalKernelPanic.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/HalPagingMgr.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/HalProcessor.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/HalSchedulerCorePrimitives.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/HalTimer.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/HalUtilsAPI.asm2
-rw-r--r--dev/kernel/HALKit/AMD64/Hypervisor.h2
-rw-r--r--dev/kernel/HALKit/AMD64/Network/Generic+Basic+RTL8139.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/PCI/DMA.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/PCI/Database.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/PCI/Device.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/PCI/Express.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/PCI/IO.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/PCI/Iterator.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/PCI/PCI.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/Paging.h24
-rw-r--r--dev/kernel/HALKit/AMD64/Processor.h2
-rw-r--r--dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc23
-rw-r--r--dev/kernel/HALKit/AMD64/Storage/DMA+Generic.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/Storage/NVME+Generic.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/Storage/SCSI+Generic.cc2
-rw-r--r--dev/kernel/HALKit/ARM64/APM/APM+IO.cc2
-rw-r--r--dev/kernel/HALKit/ARM64/ApplicationProcessor.h2
-rw-r--r--dev/kernel/HALKit/ARM64/CxxAbi.cc2
-rw-r--r--dev/kernel/HALKit/ARM64/HalACPIFactoryInterface.cc2
-rw-r--r--dev/kernel/HALKit/ARM64/HalApplicationProcessor.cc2
-rw-r--r--dev/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc2
-rw-r--r--dev/kernel/HALKit/ARM64/HalDebugOutput.cc2
-rw-r--r--dev/kernel/HALKit/ARM64/HalHandoverStub.s2
-rw-r--r--dev/kernel/HALKit/ARM64/HalKernelMain.cc4
-rw-r--r--dev/kernel/HALKit/ARM64/HalKernelPanic.cc2
-rw-r--r--dev/kernel/HALKit/ARM64/HalPagingMgr.cc2
-rw-r--r--dev/kernel/HALKit/ARM64/HalSchedulerCore.cc2
-rw-r--r--dev/kernel/HALKit/ARM64/HalSchedulerCorePrimitives.cc2
-rw-r--r--dev/kernel/HALKit/ARM64/HalTimer.cc2
-rw-r--r--dev/kernel/HALKit/ARM64/Paging.h2
-rw-r--r--dev/kernel/HALKit/ARM64/Processor.h2
-rw-r--r--dev/kernel/HALKit/ARM64/Storage/SCSI+Generic.cc2
-rw-r--r--dev/kernel/HALKit/ARM64/Storage/UFS+Generic.cc2
-rw-r--r--dev/kernel/HALKit/POWER/AP.h2
-rw-r--r--dev/kernel/HALKit/POWER/HalApplicationProcessor.cc2
-rw-r--r--dev/kernel/HALKit/POWER/HalDebugOutput.cc2
-rw-r--r--dev/kernel/HALKit/POWER/HalHardwareThread.cc2
-rw-r--r--dev/kernel/HALKit/POWER/HalStartSequence.s2
-rw-r--r--dev/kernel/HALKit/POWER/HalVirtualMemory.cc2
-rw-r--r--dev/kernel/HALKit/POWER/Processor.h2
-rw-r--r--dev/kernel/HALKit/RISCV/AP.h2
-rw-r--r--dev/kernel/HALKit/RISCV/HalApplicationProcessor.cc2
-rw-r--r--dev/kernel/KernelKit/BinaryMutex.h2
-rw-r--r--dev/kernel/KernelKit/CodeMgr.h6
-rw-r--r--dev/kernel/KernelKit/CoreProcessScheduler.h2
-rw-r--r--dev/kernel/KernelKit/DebugOutput.h4
-rw-r--r--dev/kernel/KernelKit/Defines.h2
-rw-r--r--dev/kernel/KernelKit/DeviceMgr.h2
-rw-r--r--dev/kernel/KernelKit/DriveMgr.h4
-rw-r--r--dev/kernel/KernelKit/FileMgr.h6
-rw-r--r--dev/kernel/KernelKit/HardwareThreadScheduler.h2
-rw-r--r--dev/kernel/KernelKit/HeapMgr.h2
-rw-r--r--dev/kernel/KernelKit/HeapMgr.inl2
-rw-r--r--dev/kernel/KernelKit/IDylibObject.h2
-rw-r--r--dev/kernel/KernelKit/IFS.h2
-rw-r--r--dev/kernel/KernelKit/ILoader.h2
-rw-r--r--dev/kernel/KernelKit/IPEFDylibObject.h2
-rw-r--r--dev/kernel/KernelKit/KPC.h2
-rw-r--r--dev/kernel/KernelKit/KernelTaskScheduler.h4
-rw-r--r--dev/kernel/KernelKit/LockDelegate.h2
-rw-r--r--dev/kernel/KernelKit/MSDOS.h2
-rw-r--r--dev/kernel/KernelKit/PCI/DMA.h2
-rw-r--r--dev/kernel/KernelKit/PCI/DMA.inl2
-rw-r--r--dev/kernel/KernelKit/PCI/Database.h2
-rw-r--r--dev/kernel/KernelKit/PCI/Device.h2
-rw-r--r--dev/kernel/KernelKit/PCI/Express.h2
-rw-r--r--dev/kernel/KernelKit/PCI/IO.h2
-rw-r--r--dev/kernel/KernelKit/PCI/IOArray+AMD64.inl2
-rw-r--r--dev/kernel/KernelKit/PCI/Iterator.h2
-rw-r--r--dev/kernel/KernelKit/PCI/PCI.h2
-rw-r--r--dev/kernel/KernelKit/PE.h2
-rw-r--r--dev/kernel/KernelKit/PE32CodeMgr.h91
-rw-r--r--dev/kernel/KernelKit/PEF.h2
-rw-r--r--dev/kernel/KernelKit/PEFCodeMgr.h4
-rw-r--r--dev/kernel/KernelKit/ProcessScheduler.h2
-rw-r--r--dev/kernel/KernelKit/Semaphore.h2
-rw-r--r--dev/kernel/KernelKit/ThreadLocalStorage.h2
-rw-r--r--dev/kernel/KernelKit/ThreadLocalStorage.inl2
-rw-r--r--dev/kernel/KernelKit/Timer.h2
-rw-r--r--dev/kernel/KernelKit/TraceSrv.h22
-rw-r--r--dev/kernel/KernelKit/UserMgr.h4
-rw-r--r--dev/kernel/KernelKit/UserProcessScheduler.h2
-rw-r--r--dev/kernel/KernelKit/UserProcessScheduler.inl2
-rw-r--r--dev/kernel/KernelKit/XCOFF.h2
-rw-r--r--dev/kernel/KernelKit/ZXD.h2
-rw-r--r--dev/kernel/NeKit/Array.h2
-rw-r--r--dev/kernel/NeKit/ArrayList.h2
-rw-r--r--dev/kernel/NeKit/Atom.h2
-rw-r--r--dev/kernel/NeKit/Crc32.h2
-rw-r--r--dev/kernel/NeKit/CxxAbi.h2
-rw-r--r--dev/kernel/NeKit/Defines.h2
-rw-r--r--dev/kernel/NeKit/ErrorOr.h9
-rw-r--r--dev/kernel/NeKit/Function.h2
-rw-r--r--dev/kernel/NeKit/Json.h2
-rw-r--r--dev/kernel/NeKit/KString.h2
-rw-r--r--dev/kernel/NeKit/KString.inl2
-rw-r--r--dev/kernel/NeKit/KernelPanic.h2
-rw-r--r--dev/kernel/NeKit/Macros.h2
-rw-r--r--dev/kernel/NeKit/MutableArray.h2
-rw-r--r--dev/kernel/NeKit/NeKit.h2
-rw-r--r--dev/kernel/NeKit/New.h2
-rw-r--r--dev/kernel/NeKit/OwnPtr.h2
-rw-r--r--dev/kernel/NeKit/PageMgr.h2
-rw-r--r--dev/kernel/NeKit/Pair.h2
-rw-r--r--dev/kernel/NeKit/Pmm.h2
-rw-r--r--dev/kernel/NeKit/Ref.h2
-rw-r--r--dev/kernel/NeKit/Stream.h2
-rw-r--r--dev/kernel/NeKit/Utils.h2
-rw-r--r--dev/kernel/NeKit/Variant.h2
-rw-r--r--dev/kernel/NetworkKit/IP.h2
-rw-r--r--dev/kernel/NetworkKit/IPC.h2
-rw-r--r--dev/kernel/NetworkKit/LTE.h2
-rw-r--r--dev/kernel/NetworkKit/MAC.h2
-rw-r--r--dev/kernel/NetworkKit/NetworkDevice.h2
-rw-r--r--dev/kernel/NetworkKit/NetworkDevice.inl2
-rw-r--r--dev/kernel/SignalKit/Signals.h2
-rw-r--r--dev/kernel/StorageKit/AHCI.h2
-rw-r--r--dev/kernel/StorageKit/ATA.h2
-rw-r--r--dev/kernel/StorageKit/NVME.h2
-rw-r--r--dev/kernel/StorageKit/PRDT.h2
-rw-r--r--dev/kernel/StorageKit/SCSI.h2
-rw-r--r--dev/kernel/StorageKit/StorageKit.h2
-rw-r--r--dev/kernel/SwapKit/DiskSwap.h2
-rw-r--r--dev/kernel/amd64-ci.make2
-rw-r--r--dev/kernel/amd64-desktop.make4
-rw-r--r--dev/kernel/arm64-desktop.make2
-rw-r--r--dev/kernel/kernel_rsrc.rsrc2
-rw-r--r--dev/kernel/power64-cb.make2
-rw-r--r--dev/kernel/src/ACPIFactoryInterface.cc2
-rw-r--r--dev/kernel/src/Array.cc2
-rw-r--r--dev/kernel/src/ArrayList.cc2
-rw-r--r--dev/kernel/src/AsciiUtils.cc2
-rw-r--r--dev/kernel/src/Atom.cc2
-rw-r--r--dev/kernel/src/BinaryMutex.cc2
-rw-r--r--dev/kernel/src/BitMapMgr.cc2
-rw-r--r--dev/kernel/src/CodeMgr.cc2
-rw-r--r--dev/kernel/src/Crc32.cc2
-rw-r--r--dev/kernel/src/Defines.cc2
-rw-r--r--dev/kernel/src/DeviceMgr.cc2
-rw-r--r--dev/kernel/src/DriveMgr.cc19
-rw-r--r--dev/kernel/src/ErrorOr.cc2
-rw-r--r--dev/kernel/src/FS/Ext2+IFS.cc2
-rw-r--r--dev/kernel/src/FS/NeFS+FileMgr.cc2
-rw-r--r--dev/kernel/src/FS/NeFS+FileSystemParser.cc2
-rw-r--r--dev/kernel/src/FS/OpenHeFS+FileMgr.cc6
-rw-r--r--dev/kernel/src/FS/OpenHeFS+FileSystemParser.cc14
-rw-r--r--dev/kernel/src/FileMgr.cc2
-rw-r--r--dev/kernel/src/GUIDWizard.cc2
-rw-r--r--dev/kernel/src/GUIDWrapper.cc2
-rw-r--r--dev/kernel/src/Gfx/FBDeviceInterface.cc2
-rw-r--r--dev/kernel/src/HardwareThreadScheduler.cc2
-rw-r--r--dev/kernel/src/HeapMgr.cc2
-rw-r--r--dev/kernel/src/IDylibObject.cc2
-rw-r--r--dev/kernel/src/IFS.cc4
-rw-r--r--dev/kernel/src/IPEFDylibObject.cc2
-rw-r--r--dev/kernel/src/IndexableProperty.cc2
-rw-r--r--dev/kernel/src/Json.cc2
-rw-r--r--dev/kernel/src/KPC.cc2
-rw-r--r--dev/kernel/src/KernelTaskScheduler.cc2
-rw-r--r--dev/kernel/src/LockDelegate.cc2
-rw-r--r--dev/kernel/src/MutableArray.cc2
-rw-r--r--dev/kernel/src/Network/IPAddress.cc2
-rw-r--r--dev/kernel/src/Network/IPCAddress.cc2
-rw-r--r--dev/kernel/src/Network/IPCMessage.cc2
-rw-r--r--dev/kernel/src/Network/MACAddressGetter.cc2
-rw-r--r--dev/kernel/src/Network/NetworkDevice.cc2
-rw-r--r--dev/kernel/src/New+Delete.cc2
-rw-r--r--dev/kernel/src/OwnPtr.cc2
-rw-r--r--dev/kernel/src/PE32CodeMgr.cc258
-rw-r--r--dev/kernel/src/PEFCodeMgr.cc8
-rw-r--r--dev/kernel/src/PRDT.cc2
-rw-r--r--dev/kernel/src/PageMgr.cc2
-rw-r--r--dev/kernel/src/Pmm.cc2
-rw-r--r--dev/kernel/src/Property.cc2
-rw-r--r--dev/kernel/src/Ref.cc2
-rw-r--r--dev/kernel/src/Semaphore.cc2
-rw-r--r--dev/kernel/src/SoftwareTimer.cc2
-rw-r--r--dev/kernel/src/Storage/AHCIDeviceInterface.cc2
-rw-r--r--dev/kernel/src/Storage/ATADeviceInterface.cc2
-rw-r--r--dev/kernel/src/Storage/NVMEDeviceInterface.cc2
-rw-r--r--dev/kernel/src/Storage/SCSIDeviceInterface.cc2
-rw-r--r--dev/kernel/src/Stream.cc2
-rw-r--r--dev/kernel/src/Swap/DiskSwap.cc2
-rw-r--r--dev/kernel/src/ThreadLocalStorage.cc2
-rw-r--r--dev/kernel/src/Timer.cc2
-rw-r--r--dev/kernel/src/UserMgr.cc13
-rw-r--r--dev/kernel/src/UserProcessScheduler.cc8
-rw-r--r--dev/kernel/src/UserProcessTeam.cc2
-rw-r--r--dev/kernel/src/UtfUtils.cc2
-rw-r--r--dev/kernel/src/Variant.cc2
-rw-r--r--dev/kernel/src/ZXD.cc2
238 files changed, 679 insertions, 316 deletions
diff --git a/dev/kernel/ArchKit/ArchKit.h b/dev/kernel/ArchKit/ArchKit.h
index 9c45b6bb..733014c8 100644
--- a/dev/kernel/ArchKit/ArchKit.h
+++ b/dev/kernel/ArchKit/ArchKit.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/CFKit/GUIDWizard.h b/dev/kernel/CFKit/GUIDWizard.h
index e2d9bcb1..9dffbf4e 100644
--- a/dev/kernel/CFKit/GUIDWizard.h
+++ b/dev/kernel/CFKit/GUIDWizard.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/CFKit/GUIDWrapper.h b/dev/kernel/CFKit/GUIDWrapper.h
index 14a96fde..17bfb170 100644
--- a/dev/kernel/CFKit/GUIDWrapper.h
+++ b/dev/kernel/CFKit/GUIDWrapper.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/CFKit/Property.h b/dev/kernel/CFKit/Property.h
index e8f2f713..da7eae1c 100644
--- a/dev/kernel/CFKit/Property.h
+++ b/dev/kernel/CFKit/Property.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/CompilerKit/CompilerKit.h b/dev/kernel/CompilerKit/CompilerKit.h
index 83910ee0..2f0b6aea 100644
--- a/dev/kernel/CompilerKit/CompilerKit.h
+++ b/dev/kernel/CompilerKit/CompilerKit.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/CompilerKit/Detail.h b/dev/kernel/CompilerKit/Detail.h
index a86f4dd3..af620b78 100644
--- a/dev/kernel/CompilerKit/Detail.h
+++ b/dev/kernel/CompilerKit/Detail.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/DmaKit/DmaPool.h b/dev/kernel/DmaKit/DmaPool.h
index 99f43725..aca6641b 100644
--- a/dev/kernel/DmaKit/DmaPool.h
+++ b/dev/kernel/DmaKit/DmaPool.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2025, Amlal El Mahrouss , all rights reserved.
+ Copyright (C) 2025, Amlal El Mahrouss , licensed under the Apache 2.0 license.
File: DmaPool.h
Purpose: Dma Pool Manager.
@@ -23,11 +23,7 @@
#define kNeDMAPoolSize (0x1000000)
#endif
-#ifdef __GNUC__
-#define kNeDMABestAlign __BIGGEST_ALIGNMENT__
-#else
#define kNeDMABestAlign (8)
-#endif
namespace Kernel {
/// @brief DMA pool base pointer, here we're sure that AHCI or whatever tricky standard sees it.
@@ -41,7 +37,7 @@ inline const UInt8* kDmaPoolEnd = (UInt8*) (kNeDMAPoolStart + kNeDMAPoolSize);
/***********************************************************************************/
inline VoidPtr rtl_dma_alloc(SizeT size, SizeT align) {
if (!size) {
- ++size;
+ return nullptr;
}
/// Check alignement according to architecture.
diff --git a/dev/kernel/FSKit/Defines.h b/dev/kernel/FSKit/Defines.h
index 9e22a638..ac561d4f 100644
--- a/dev/kernel/FSKit/Defines.h
+++ b/dev/kernel/FSKit/Defines.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/FSKit/Ext2+IFS.h b/dev/kernel/FSKit/Ext2+IFS.h
index 44435a29..7cc2671e 100644
--- a/dev/kernel/FSKit/Ext2+IFS.h
+++ b/dev/kernel/FSKit/Ext2+IFS.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/FSKit/Ext2.h b/dev/kernel/FSKit/Ext2.h
index be2e34a6..86fc70a9 100644
--- a/dev/kernel/FSKit/Ext2.h
+++ b/dev/kernel/FSKit/Ext2.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/FSKit/IndexableProperty.h b/dev/kernel/FSKit/IndexableProperty.h
index d6b89d35..d36ad128 100644
--- a/dev/kernel/FSKit/IndexableProperty.h
+++ b/dev/kernel/FSKit/IndexableProperty.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/FSKit/NeFS.h b/dev/kernel/FSKit/NeFS.h
index f265c4a6..92d4b233 100644
--- a/dev/kernel/FSKit/NeFS.h
+++ b/dev/kernel/FSKit/NeFS.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
FILE: NeFS.h
PURPOSE: NeFS (New extended File System) support.
diff --git a/dev/kernel/FSKit/OpenHeFS.h b/dev/kernel/FSKit/OpenHeFS.h
index 1361da9c..51d68afc 100644
--- a/dev/kernel/FSKit/OpenHeFS.h
+++ b/dev/kernel/FSKit/OpenHeFS.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
@@ -429,6 +429,6 @@ namespace OpenHeFS {
/// @brief Initialize OpenHeFS inside the main disk.
/// @return Whether it successfuly formated it or not.
- Boolean fs_init_hefs(Void) noexcept;
+ Boolean fs_init_openhefs(Void) noexcept;
} // namespace OpenHeFS
} // namespace Kernel
diff --git a/dev/kernel/FirmwareKit/EFI.h b/dev/kernel/FirmwareKit/EFI.h
index 96c4ad98..36630e24 100644
--- a/dev/kernel/FirmwareKit/EFI.h
+++ b/dev/kernel/FirmwareKit/EFI.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/FirmwareKit/EFI/API.h b/dev/kernel/FirmwareKit/EFI/API.h
index 7c9ad93d..8fbbbfeb 100644
--- a/dev/kernel/FirmwareKit/EFI/API.h
+++ b/dev/kernel/FirmwareKit/EFI/API.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/FirmwareKit/EFI/EFI.h b/dev/kernel/FirmwareKit/EFI/EFI.h
index 97e3ad01..ef559b14 100644
--- a/dev/kernel/FirmwareKit/EFI/EFI.h
+++ b/dev/kernel/FirmwareKit/EFI/EFI.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/FirmwareKit/EFI/NS.h b/dev/kernel/FirmwareKit/EFI/NS.h
index 910b2c36..c810151c 100644
--- a/dev/kernel/FirmwareKit/EFI/NS.h
+++ b/dev/kernel/FirmwareKit/EFI/NS.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/FirmwareKit/EPM.h b/dev/kernel/FirmwareKit/EPM.h
index 20c966e4..1921ae71 100644
--- a/dev/kernel/FirmwareKit/EPM.h
+++ b/dev/kernel/FirmwareKit/EPM.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
@@ -102,7 +102,7 @@ enum {
kEPMLinux = 0x8f, /// @brief Linux on EPM.
kEPMBSD = 0x9f, /// @brief BSD on EPM.
kEPMNeKernel = 0x1f, /// @brief NeKernel.
- kEPMVMKernel = 0x2f, /// @brief VMKernel.
+ kEPMLegacy = 0x2f, /// @brief Legacy VMKernel.
/// @note ... the rest is reserved for future OSes.
kEPMInvalidOS = 0xff,
};
diff --git a/dev/kernel/FirmwareKit/GPT.h b/dev/kernel/FirmwareKit/GPT.h
index f361c4a2..fb736560 100644
--- a/dev/kernel/FirmwareKit/GPT.h
+++ b/dev/kernel/FirmwareKit/GPT.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/FirmwareKit/Handover.h b/dev/kernel/FirmwareKit/Handover.h
index d74194ed..67cd66d6 100644
--- a/dev/kernel/FirmwareKit/Handover.h
+++ b/dev/kernel/FirmwareKit/Handover.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/FirmwareKit/NeBoot/BootNet.h b/dev/kernel/FirmwareKit/NeBoot/BootNet.h
index 0f406b57..ab032808 100644
--- a/dev/kernel/FirmwareKit/NeBoot/BootNet.h
+++ b/dev/kernel/FirmwareKit/NeBoot/BootNet.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/FirmwareKit/NeBoot/NS.h b/dev/kernel/FirmwareKit/NeBoot/NS.h
index a4d6a251..4c8a468a 100644
--- a/dev/kernel/FirmwareKit/NeBoot/NS.h
+++ b/dev/kernel/FirmwareKit/NeBoot/NS.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/FirmwareKit/NeBoot/NeBoot.h b/dev/kernel/FirmwareKit/NeBoot/NeBoot.h
index 621b3b64..84110de1 100644
--- a/dev/kernel/FirmwareKit/NeBoot/NeBoot.h
+++ b/dev/kernel/FirmwareKit/NeBoot/NeBoot.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/FirmwareKit/VEPM.h b/dev/kernel/FirmwareKit/VEPM.h
index 30f6c04d..49b6335e 100644
--- a/dev/kernel/FirmwareKit/VEPM.h
+++ b/dev/kernel/FirmwareKit/VEPM.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/GfxKit/FB.h b/dev/kernel/GfxKit/FB.h
index 28f3a20c..7ae66581 100644
--- a/dev/kernel/GfxKit/FB.h
+++ b/dev/kernel/GfxKit/FB.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/CPUID.h b/dev/kernel/HALKit/AMD64/CPUID.h
index cc3bd25e..19f6ba42 100644
--- a/dev/kernel/HALKit/AMD64/CPUID.h
+++ b/dev/kernel/HALKit/AMD64/CPUID.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: CPUID.h
Purpose: CPUID flags.
diff --git a/dev/kernel/HALKit/AMD64/CxxAbi.cc b/dev/kernel/HALKit/AMD64/CxxAbi.cc
index 84a00449..e10c081e 100644
--- a/dev/kernel/HALKit/AMD64/CxxAbi.cc
+++ b/dev/kernel/HALKit/AMD64/CxxAbi.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/HalACPIFactoryInterface.cc b/dev/kernel/HALKit/AMD64/HalACPIFactoryInterface.cc
index 1d289db8..17c314fc 100644
--- a/dev/kernel/HALKit/AMD64/HalACPIFactoryInterface.cc
+++ b/dev/kernel/HALKit/AMD64/HalACPIFactoryInterface.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/HalAPICDmaWrapper.cc b/dev/kernel/HALKit/AMD64/HalAPICDmaWrapper.cc
index 6aba5b0e..f7fe87e0 100644
--- a/dev/kernel/HALKit/AMD64/HalAPICDmaWrapper.cc
+++ b/dev/kernel/HALKit/AMD64/HalAPICDmaWrapper.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc b/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc
index e3e08830..d3ce679f 100644
--- a/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc
+++ b/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/HalCommonAPI.asm b/dev/kernel/HALKit/AMD64/HalCommonAPI.asm
index be150dde..9f3652bc 100644
--- a/dev/kernel/HALKit/AMD64/HalCommonAPI.asm
+++ b/dev/kernel/HALKit/AMD64/HalCommonAPI.asm
@@ -2,7 +2,7 @@
;; * ========================================================
;; *
;; * NeKernel
-;; * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+;; * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
;; *
;; * ========================================================
;; */
diff --git a/dev/kernel/HALKit/AMD64/HalControlRegisterAPI.s b/dev/kernel/HALKit/AMD64/HalControlRegisterAPI.s
index 631d1d55..b832aba6 100644
--- a/dev/kernel/HALKit/AMD64/HalControlRegisterAPI.s
+++ b/dev/kernel/HALKit/AMD64/HalControlRegisterAPI.s
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc b/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc
index 0cb991f9..5ad4acde 100644
--- a/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc
+++ b/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/HalCoreSystemCalls.cc b/dev/kernel/HALKit/AMD64/HalCoreSystemCalls.cc
index 11e773a8..0fda022e 100644
--- a/dev/kernel/HALKit/AMD64/HalCoreSystemCalls.cc
+++ b/dev/kernel/HALKit/AMD64/HalCoreSystemCalls.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/HalDebugOutput.cc b/dev/kernel/HALKit/AMD64/HalDebugOutput.cc
index 789c1067..44db0d05 100644
--- a/dev/kernel/HALKit/AMD64/HalDebugOutput.cc
+++ b/dev/kernel/HALKit/AMD64/HalDebugOutput.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
@@ -90,7 +90,7 @@ EXTERN_C void ke_utf_io_write(DeviceInterface<const Utf8Char*>* obj, const Utf8C
tmp_str[0] = (bytes[index] > 127) ? '?' : bytes[index];
tmp_str[1] = 0;
- fb_render_string(tmp_str, kY, kX, RGB(0xff, 0xff, 0xff));
+ cg_render_string(tmp_str, kY, kX, RGB(0xff, 0xff, 0xff));
if (bytes[index] == '\r') {
kY += kFontSizeY;
@@ -106,7 +106,7 @@ EXTERN_C void ke_utf_io_write(DeviceInterface<const Utf8Char*>* obj, const Utf8C
if (kY > kHandoverHeader->f_GOP.f_Height) {
kY = kFontSizeY;
- FBDrawInRegion(fb_get_clear_clr(), FB::FBAccessibilty::Height(), FB::FBAccessibilty::Width(),
+ FBDrawInRegion(cg_get_clear_clr(), FB::CGAccessibilty::Height(), FB::CGAccessibilty::Width(),
0, 0);
}
@@ -146,7 +146,7 @@ EXTERN_C void ke_io_write(DeviceInterface<const Char*>* obj, const Char* bytes)
tmp_str[0] = bytes[index];
tmp_str[1] = 0;
- fb_render_string(tmp_str, kY, kX, RGB(0xff, 0xff, 0xff));
+ cg_render_string(tmp_str, kY, kX, RGB(0xff, 0xff, 0xff));
if (bytes[index] == '\r') {
kY += kFontSizeY;
@@ -162,7 +162,7 @@ EXTERN_C void ke_io_write(DeviceInterface<const Char*>* obj, const Char* bytes)
if (kY > kHandoverHeader->f_GOP.f_Height) {
kY = kFontSizeY;
- FBDrawInRegion(fb_get_clear_clr(), FB::FBAccessibilty::Height(), FB::FBAccessibilty::Width(),
+ FBDrawInRegion(cg_get_clear_clr(), FB::CGAccessibilty::Height(), FB::CGAccessibilty::Width(),
0, 0);
}
diff --git a/dev/kernel/HALKit/AMD64/HalDebugProtocol.cc b/dev/kernel/HALKit/AMD64/HalDebugProtocol.cc
index 8a1249ea..d849be07 100644
--- a/dev/kernel/HALKit/AMD64/HalDebugProtocol.cc
+++ b/dev/kernel/HALKit/AMD64/HalDebugProtocol.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc b/dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc
index 56d46a15..dfa08287 100644
--- a/dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc
+++ b/dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/HalHandoverStub.asm b/dev/kernel/HALKit/AMD64/HalHandoverStub.asm
index a337a223..c9cabd1c 100644
--- a/dev/kernel/HALKit/AMD64/HalHandoverStub.asm
+++ b/dev/kernel/HALKit/AMD64/HalHandoverStub.asm
@@ -2,7 +2,7 @@
;; * ========================================================
;; *
;; * NeKernel
-;; * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+;; * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
;; *
;; * ========================================================
;; */
diff --git a/dev/kernel/HALKit/AMD64/HalInterruptAPI.asm b/dev/kernel/HALKit/AMD64/HalInterruptAPI.asm
index a0ff40dc..3b3ad849 100644
--- a/dev/kernel/HALKit/AMD64/HalInterruptAPI.asm
+++ b/dev/kernel/HALKit/AMD64/HalInterruptAPI.asm
@@ -1,7 +1,7 @@
;; /*
;; * ---------------------------------------------------
;; *
-;; * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+;; * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
;; *
;; * File: HalInterruptAPI.asm
;; * Purpose: Interrupt API, redirect raw interrupts into their handlers.
diff --git a/dev/kernel/HALKit/AMD64/HalKernelMain.cc b/dev/kernel/HALKit/AMD64/HalKernelMain.cc
index 2b478dd6..50d022e9 100644
--- a/dev/kernel/HALKit/AMD64/HalKernelMain.cc
+++ b/dev/kernel/HALKit/AMD64/HalKernelMain.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
@@ -118,7 +118,7 @@ EXTERN_C Int32 hal_init_platform(Kernel::HEL::BootInfoHeader* handover_hdr) {
kGDTArray[4].fFlags = 0;
kGDTArray[4].fBaseHigh = 0;
- FB::fb_clear_video();
+ FB::cg_clear_video();
// Load memory descriptors.
HAL::Register64 gdt_reg;
@@ -144,8 +144,8 @@ EXTERN_C Kernel::Void hal_real_init(Kernel::Void) {
HAL::mp_init_cores(kHandoverHeader->f_HardwareTables.f_VendorPtr);
-#ifdef __FSKIT_INCLUDES_HEFS__
- OpenHeFS::fs_init_hefs();
+#ifdef __FSKIT_INCLUDES_OPENHEFS__
+ OpenHeFS::fs_init_openhefs();
#endif
#ifdef __FSKIT_INCLUDES_NEFS__
diff --git a/dev/kernel/HALKit/AMD64/HalKernelPanic.cc b/dev/kernel/HALKit/AMD64/HalKernelPanic.cc
index 374c7302..39d55b43 100644
--- a/dev/kernel/HALKit/AMD64/HalKernelPanic.cc
+++ b/dev/kernel/HALKit/AMD64/HalKernelPanic.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/HalPagingMgr.cc b/dev/kernel/HALKit/AMD64/HalPagingMgr.cc
index ced4f268..0a70113f 100644
--- a/dev/kernel/HALKit/AMD64/HalPagingMgr.cc
+++ b/dev/kernel/HALKit/AMD64/HalPagingMgr.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: HalPagingMgr.cc
Purpose: Platform Paging Manager.
diff --git a/dev/kernel/HALKit/AMD64/HalProcessor.cc b/dev/kernel/HALKit/AMD64/HalProcessor.cc
index 6ebbea08..c27111e2 100644
--- a/dev/kernel/HALKit/AMD64/HalProcessor.cc
+++ b/dev/kernel/HALKit/AMD64/HalProcessor.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: HalCPU.cc
Purpose: Platform processor routines.
diff --git a/dev/kernel/HALKit/AMD64/HalSchedulerCorePrimitives.cc b/dev/kernel/HALKit/AMD64/HalSchedulerCorePrimitives.cc
index c8f53aa9..ea643662 100644
--- a/dev/kernel/HALKit/AMD64/HalSchedulerCorePrimitives.cc
+++ b/dev/kernel/HALKit/AMD64/HalSchedulerCorePrimitives.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/HalTimer.cc b/dev/kernel/HALKit/AMD64/HalTimer.cc
index 22876a96..b605df6c 100644
--- a/dev/kernel/HALKit/AMD64/HalTimer.cc
+++ b/dev/kernel/HALKit/AMD64/HalTimer.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: HalTimer.cc
Purpose: HAL timer
diff --git a/dev/kernel/HALKit/AMD64/HalUtilsAPI.asm b/dev/kernel/HALKit/AMD64/HalUtilsAPI.asm
index 11336229..2a0a5eff 100644
--- a/dev/kernel/HALKit/AMD64/HalUtilsAPI.asm
+++ b/dev/kernel/HALKit/AMD64/HalUtilsAPI.asm
@@ -2,7 +2,7 @@
;; * ========================================================
;; *
;; * NeKernel
-;; * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+;; * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
;; *
;; * ========================================================
;; */
diff --git a/dev/kernel/HALKit/AMD64/Hypervisor.h b/dev/kernel/HALKit/AMD64/Hypervisor.h
index 5702c8e2..4294b00a 100644
--- a/dev/kernel/HALKit/AMD64/Hypervisor.h
+++ b/dev/kernel/HALKit/AMD64/Hypervisor.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/Network/Generic+Basic+RTL8139.cc b/dev/kernel/HALKit/AMD64/Network/Generic+Basic+RTL8139.cc
index be27915a..1c7f554e 100644
--- a/dev/kernel/HALKit/AMD64/Network/Generic+Basic+RTL8139.cc
+++ b/dev/kernel/HALKit/AMD64/Network/Generic+Basic+RTL8139.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
-Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/PCI/DMA.cc b/dev/kernel/HALKit/AMD64/PCI/DMA.cc
index 38533448..adb3124e 100644
--- a/dev/kernel/HALKit/AMD64/PCI/DMA.cc
+++ b/dev/kernel/HALKit/AMD64/PCI/DMA.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/PCI/Database.cc b/dev/kernel/HALKit/AMD64/PCI/Database.cc
index 9e6c349b..056aa109 100644
--- a/dev/kernel/HALKit/AMD64/PCI/Database.cc
+++ b/dev/kernel/HALKit/AMD64/PCI/Database.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/PCI/Device.cc b/dev/kernel/HALKit/AMD64/PCI/Device.cc
index f11f7777..63acb790 100644
--- a/dev/kernel/HALKit/AMD64/PCI/Device.cc
+++ b/dev/kernel/HALKit/AMD64/PCI/Device.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/PCI/Express.cc b/dev/kernel/HALKit/AMD64/PCI/Express.cc
index 6031e792..4153e1ef 100644
--- a/dev/kernel/HALKit/AMD64/PCI/Express.cc
+++ b/dev/kernel/HALKit/AMD64/PCI/Express.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/PCI/IO.cc b/dev/kernel/HALKit/AMD64/PCI/IO.cc
index 1d72316a..c0faf1a7 100644
--- a/dev/kernel/HALKit/AMD64/PCI/IO.cc
+++ b/dev/kernel/HALKit/AMD64/PCI/IO.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/PCI/Iterator.cc b/dev/kernel/HALKit/AMD64/PCI/Iterator.cc
index 2590aa94..9d12c0d6 100644
--- a/dev/kernel/HALKit/AMD64/PCI/Iterator.cc
+++ b/dev/kernel/HALKit/AMD64/PCI/Iterator.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/PCI/PCI.cc b/dev/kernel/HALKit/AMD64/PCI/PCI.cc
index 616b3eea..31a9711c 100644
--- a/dev/kernel/HALKit/AMD64/PCI/PCI.cc
+++ b/dev/kernel/HALKit/AMD64/PCI/PCI.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/Paging.h b/dev/kernel/HALKit/AMD64/Paging.h
index 079acde4..e0ff5a0e 100644
--- a/dev/kernel/HALKit/AMD64/Paging.h
+++ b/dev/kernel/HALKit/AMD64/Paging.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
@@ -44,17 +44,17 @@ EXTERN_C Kernel::VoidPtr hal_read_cr3(); // @brief Page directory inside cr3 re
namespace Kernel::HAL {
namespace Detail {
enum class ControlRegisterBits {
- ProtectedModeEnable = 0,
- MonitorCoProcessor = 1,
- Emulation = 2,
- TaskSwitched = 3,
- ExtensionType = 4,
- NumericError = 5,
- WriteProtect = 16,
- AlignementMask = 18,
- NotWriteThrough = 29,
- CacheDisable = 30,
- PageEnable = 31,
+ kProtectedModeEnable = 0,
+ kMonitorCoProcessor = 1,
+ kEmulation = 2,
+ kTaskSwitched = 3,
+ kExtensionType = 4,
+ kNumericError = 5,
+ kWriteProtect = 16,
+ kAlignementMask = 18,
+ kNotWriteThrough = 29,
+ kCacheDisable = 30,
+ kPageEnable = 31,
};
inline UInt8 control_register_cast(ControlRegisterBits reg) { return static_cast<UInt8>(reg); }
diff --git a/dev/kernel/HALKit/AMD64/Processor.h b/dev/kernel/HALKit/AMD64/Processor.h
index 99f857b1..c2af8575 100644
--- a/dev/kernel/HALKit/AMD64/Processor.h
+++ b/dev/kernel/HALKit/AMD64/Processor.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: Prcoessor.h
Purpose: AMD64 processor abstraction.
diff --git a/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc b/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc
index 1acfac0e..0bd9455d 100644
--- a/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc
+++ b/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
@@ -11,7 +11,7 @@
* @version 0.1
* @date 2024-02-02
*
- * @copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ * @copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
*
*/
@@ -294,8 +294,7 @@ STATIC Void drv_std_input_output_ahci(UInt64 lba, UInt8* buffer, SizeT sector_sz
goto ahci_io_end;
} else {
kout << "ahci: Disk still busy after command completion!\r";
- while (kSATAHba->Ports[kSATAIndex].Tfd & (kSATASRBsy | kSATASRDrq))
- ;
+ while (kSATAHba->Ports[kSATAIndex].Tfd & (kSATASRBsy | kSATASRDrq));
}
ahci_io_end:
@@ -308,13 +307,15 @@ STATIC Void drv_std_input_output_ahci(UInt64 lba, UInt8* buffer, SizeT sector_sz
@brief Gets the number of sectors inside the drive.
@return Sector size in bytes.
*/
-STATIC ATTRIBUTE(unused) SizeT drv_get_sector_count_ahci() {
+STATIC ATTRIBUTE(unused)
+SizeT drv_get_sector_count_ahci() {
return kSATASectorCount;
}
/// @brief Get the drive size.
/// @return Disk size in bytes.
-STATIC ATTRIBUTE(unused) SizeT drv_get_size_ahci() {
+STATIC ATTRIBUTE(unused)
+SizeT drv_get_size_ahci() {
return drv_std_get_sector_count() * kAHCISectorSize;
}
@@ -456,11 +457,9 @@ STATIC Bool drv_std_init_ahci(UInt16& pi, BOOL& atapi) {
success_hba_fetch:
if (ahci_enable_and_probe()) {
err_global_get() = kErrorSuccess;
-
- return YES;
}
- return NO;
+ return err_global_get() == kErrorSuccess;
}
/// @brief Checks if an AHCI device is detected.
@@ -546,8 +545,7 @@ namespace Detail {
/// @brief Read AHCI device.
/// @param self device
/// @param mnt mounted disk.
- STATIC Void sk_io_read_ahci(DeviceInterface<IMountpoint*>* self,
- IMountpoint* mnt) {
+ STATIC Void sk_io_read_ahci(DeviceInterface<IMountpoint*>* self, IMountpoint* mnt) {
AHCIDeviceInterface* dev = (AHCIDeviceInterface*) self;
err_global_get() = kErrorDisk;
@@ -568,8 +566,7 @@ namespace Detail {
/// @brief Write AHCI device.
/// @param self device
/// @param mnt mounted disk.
- STATIC Void sk_io_write_ahci(DeviceInterface<IMountpoint*>* self,
- IMountpoint* mnt) {
+ STATIC Void sk_io_write_ahci(DeviceInterface<IMountpoint*>* self, IMountpoint* mnt) {
AHCIDeviceInterface* dev = (AHCIDeviceInterface*) self;
err_global_get() = kErrorDisk;
diff --git a/dev/kernel/HALKit/AMD64/Storage/DMA+Generic.cc b/dev/kernel/HALKit/AMD64/Storage/DMA+Generic.cc
index 39efb7d3..95355e9f 100644
--- a/dev/kernel/HALKit/AMD64/Storage/DMA+Generic.cc
+++ b/dev/kernel/HALKit/AMD64/Storage/DMA+Generic.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/Storage/NVME+Generic.cc b/dev/kernel/HALKit/AMD64/Storage/NVME+Generic.cc
index 67b59813..9e5f766f 100644
--- a/dev/kernel/HALKit/AMD64/Storage/NVME+Generic.cc
+++ b/dev/kernel/HALKit/AMD64/Storage/NVME+Generic.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc b/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc
index 5b768fbb..dc5149da 100644
--- a/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc
+++ b/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/AMD64/Storage/SCSI+Generic.cc b/dev/kernel/HALKit/AMD64/Storage/SCSI+Generic.cc
index 1cc97cba..f677b783 100644
--- a/dev/kernel/HALKit/AMD64/Storage/SCSI+Generic.cc
+++ b/dev/kernel/HALKit/AMD64/Storage/SCSI+Generic.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/ARM64/APM/APM+IO.cc b/dev/kernel/HALKit/ARM64/APM/APM+IO.cc
index 17a60515..8960eb63 100644
--- a/dev/kernel/HALKit/ARM64/APM/APM+IO.cc
+++ b/dev/kernel/HALKit/ARM64/APM/APM+IO.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/ARM64/ApplicationProcessor.h b/dev/kernel/HALKit/ARM64/ApplicationProcessor.h
index 3d472bf0..3712ec39 100644
--- a/dev/kernel/HALKit/ARM64/ApplicationProcessor.h
+++ b/dev/kernel/HALKit/ARM64/ApplicationProcessor.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/ARM64/CxxAbi.cc b/dev/kernel/HALKit/ARM64/CxxAbi.cc
index 964fc2f4..5a6a987d 100644
--- a/dev/kernel/HALKit/ARM64/CxxAbi.cc
+++ b/dev/kernel/HALKit/ARM64/CxxAbi.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/ARM64/HalACPIFactoryInterface.cc b/dev/kernel/HALKit/ARM64/HalACPIFactoryInterface.cc
index fa678494..ffb09795 100644
--- a/dev/kernel/HALKit/ARM64/HalACPIFactoryInterface.cc
+++ b/dev/kernel/HALKit/ARM64/HalACPIFactoryInterface.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/ARM64/HalApplicationProcessor.cc b/dev/kernel/HALKit/ARM64/HalApplicationProcessor.cc
index 02f09e23..16f3c78c 100644
--- a/dev/kernel/HALKit/ARM64/HalApplicationProcessor.cc
+++ b/dev/kernel/HALKit/ARM64/HalApplicationProcessor.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc b/dev/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc
index 0c26f4cb..9d4b97c2 100644
--- a/dev/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc
+++ b/dev/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/ARM64/HalDebugOutput.cc b/dev/kernel/HALKit/ARM64/HalDebugOutput.cc
index 64004ac3..326fd8a6 100644
--- a/dev/kernel/HALKit/ARM64/HalDebugOutput.cc
+++ b/dev/kernel/HALKit/ARM64/HalDebugOutput.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/ARM64/HalHandoverStub.s b/dev/kernel/HALKit/ARM64/HalHandoverStub.s
index c0e7cb2b..5d5647c4 100644
--- a/dev/kernel/HALKit/ARM64/HalHandoverStub.s
+++ b/dev/kernel/HALKit/ARM64/HalHandoverStub.s
@@ -2,7 +2,7 @@
;; * ========================================================
;; *
;; * NeKernel
-;; * Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+;; * Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
;; *
;; * ========================================================
;; */
diff --git a/dev/kernel/HALKit/ARM64/HalKernelMain.cc b/dev/kernel/HALKit/ARM64/HalKernelMain.cc
index b711b833..e19f0452 100644
--- a/dev/kernel/HALKit/ARM64/HalKernelMain.cc
+++ b/dev/kernel/HALKit/ARM64/HalKernelMain.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
@@ -42,7 +42,7 @@ EXTERN_C void hal_init_platform(Kernel::HEL::BootInfoHeader* handover_hdr) {
handover_hdr->f_HardwareTables.f_ImageHandle);
#endif
- FB::fb_clear_video();
+ FB::cg_clear_video();
/************************************** */
/* INITIALIZE BIT MAP. */
diff --git a/dev/kernel/HALKit/ARM64/HalKernelPanic.cc b/dev/kernel/HALKit/ARM64/HalKernelPanic.cc
index 91b2fe8a..12027342 100644
--- a/dev/kernel/HALKit/ARM64/HalKernelPanic.cc
+++ b/dev/kernel/HALKit/ARM64/HalKernelPanic.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/ARM64/HalPagingMgr.cc b/dev/kernel/HALKit/ARM64/HalPagingMgr.cc
index b7b0c10e..106e40ec 100644
--- a/dev/kernel/HALKit/ARM64/HalPagingMgr.cc
+++ b/dev/kernel/HALKit/ARM64/HalPagingMgr.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: HalPagingMgr.cc
Purpose: Platform Paging Manager.
diff --git a/dev/kernel/HALKit/ARM64/HalSchedulerCore.cc b/dev/kernel/HALKit/ARM64/HalSchedulerCore.cc
index b3f1b62a..fde62e52 100644
--- a/dev/kernel/HALKit/ARM64/HalSchedulerCore.cc
+++ b/dev/kernel/HALKit/ARM64/HalSchedulerCore.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/ARM64/HalSchedulerCorePrimitives.cc b/dev/kernel/HALKit/ARM64/HalSchedulerCorePrimitives.cc
index 2d10fa89..5b179ca1 100644
--- a/dev/kernel/HALKit/ARM64/HalSchedulerCorePrimitives.cc
+++ b/dev/kernel/HALKit/ARM64/HalSchedulerCorePrimitives.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/ARM64/HalTimer.cc b/dev/kernel/HALKit/ARM64/HalTimer.cc
index 2a595f11..cc04abc7 100644
--- a/dev/kernel/HALKit/ARM64/HalTimer.cc
+++ b/dev/kernel/HALKit/ARM64/HalTimer.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: HalTimer.cc
Purpose: HAL timer
diff --git a/dev/kernel/HALKit/ARM64/Paging.h b/dev/kernel/HALKit/ARM64/Paging.h
index 7a022141..8df99e88 100644
--- a/dev/kernel/HALKit/ARM64/Paging.h
+++ b/dev/kernel/HALKit/ARM64/Paging.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/ARM64/Processor.h b/dev/kernel/HALKit/ARM64/Processor.h
index 68fe736c..69711806 100644
--- a/dev/kernel/HALKit/ARM64/Processor.h
+++ b/dev/kernel/HALKit/ARM64/Processor.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/ARM64/Storage/SCSI+Generic.cc b/dev/kernel/HALKit/ARM64/Storage/SCSI+Generic.cc
index 1cc97cba..f677b783 100644
--- a/dev/kernel/HALKit/ARM64/Storage/SCSI+Generic.cc
+++ b/dev/kernel/HALKit/ARM64/Storage/SCSI+Generic.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/ARM64/Storage/UFS+Generic.cc b/dev/kernel/HALKit/ARM64/Storage/UFS+Generic.cc
index e5ef7b91..32b7487d 100644
--- a/dev/kernel/HALKit/ARM64/Storage/UFS+Generic.cc
+++ b/dev/kernel/HALKit/ARM64/Storage/UFS+Generic.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/POWER/AP.h b/dev/kernel/HALKit/POWER/AP.h
index 92007da3..4ba54802 100644
--- a/dev/kernel/HALKit/POWER/AP.h
+++ b/dev/kernel/HALKit/POWER/AP.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: AP.h
Purpose: POWER hardware threads.
diff --git a/dev/kernel/HALKit/POWER/HalApplicationProcessor.cc b/dev/kernel/HALKit/POWER/HalApplicationProcessor.cc
index c2703af6..b803f8ec 100644
--- a/dev/kernel/HALKit/POWER/HalApplicationProcessor.cc
+++ b/dev/kernel/HALKit/POWER/HalApplicationProcessor.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/POWER/HalDebugOutput.cc b/dev/kernel/HALKit/POWER/HalDebugOutput.cc
index bcc6922c..6be766cc 100644
--- a/dev/kernel/HALKit/POWER/HalDebugOutput.cc
+++ b/dev/kernel/HALKit/POWER/HalDebugOutput.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/POWER/HalHardwareThread.cc b/dev/kernel/HALKit/POWER/HalHardwareThread.cc
index 2c7c69ba..34b7b609 100644
--- a/dev/kernel/HALKit/POWER/HalHardwareThread.cc
+++ b/dev/kernel/HALKit/POWER/HalHardwareThread.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/POWER/HalStartSequence.s b/dev/kernel/HALKit/POWER/HalStartSequence.s
index 349344f1..ba110937 100644
--- a/dev/kernel/HALKit/POWER/HalStartSequence.s
+++ b/dev/kernel/HALKit/POWER/HalStartSequence.s
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/POWER/HalVirtualMemory.cc b/dev/kernel/HALKit/POWER/HalVirtualMemory.cc
index 07c40134..b97a4e91 100644
--- a/dev/kernel/HALKit/POWER/HalVirtualMemory.cc
+++ b/dev/kernel/HALKit/POWER/HalVirtualMemory.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/HALKit/POWER/Processor.h b/dev/kernel/HALKit/POWER/Processor.h
index 8b75bcc8..0208978a 100644
--- a/dev/kernel/HALKit/POWER/Processor.h
+++ b/dev/kernel/HALKit/POWER/Processor.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
Purpose: POWER processor header.
diff --git a/dev/kernel/HALKit/RISCV/AP.h b/dev/kernel/HALKit/RISCV/AP.h
index 79b0d038..d0b00212 100644
--- a/dev/kernel/HALKit/RISCV/AP.h
+++ b/dev/kernel/HALKit/RISCV/AP.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: AP.h
Purpose: RISC-V hardware threads.
diff --git a/dev/kernel/HALKit/RISCV/HalApplicationProcessor.cc b/dev/kernel/HALKit/RISCV/HalApplicationProcessor.cc
index 31d4a62e..0acc98da 100644
--- a/dev/kernel/HALKit/RISCV/HalApplicationProcessor.cc
+++ b/dev/kernel/HALKit/RISCV/HalApplicationProcessor.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/BinaryMutex.h b/dev/kernel/KernelKit/BinaryMutex.h
index abe8d517..2cec84c8 100644
--- a/dev/kernel/KernelKit/BinaryMutex.h
+++ b/dev/kernel/KernelKit/BinaryMutex.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/CodeMgr.h b/dev/kernel/KernelKit/CodeMgr.h
index fc737a90..2569b064 100644
--- a/dev/kernel/KernelKit/CodeMgr.h
+++ b/dev/kernel/KernelKit/CodeMgr.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: CodeMgr.h
Purpose: Code Mgr.
@@ -14,10 +14,10 @@
#pragma once
-#ifdef __NE_USE_PEF__
#include <KernelKit/IPEFDylibObject.h>
#include <KernelKit/PEFCodeMgr.h>
-#endif
+#include <KernelKit/PE32CodeMgr.h>
+#include <KernelKit/CoreProcessScheduler.h>
/// @file CodeMgr.h
/// @brief Code Manager header file.
diff --git a/dev/kernel/KernelKit/CoreProcessScheduler.h b/dev/kernel/KernelKit/CoreProcessScheduler.h
index 49e9363e..8a129af2 100644
--- a/dev/kernel/KernelKit/CoreProcessScheduler.h
+++ b/dev/kernel/KernelKit/CoreProcessScheduler.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/DebugOutput.h b/dev/kernel/KernelKit/DebugOutput.h
index d2839341..9d2a7767 100644
--- a/dev/kernel/KernelKit/DebugOutput.h
+++ b/dev/kernel/KernelKit/DebugOutput.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
@@ -15,7 +15,7 @@
namespace Kernel {
class TerminalDevice;
class DTraceDevice;
-class NeDebugDevice;
+class NeTraceDevice;
class Utf8TerminalDevice;
inline TerminalDevice end_line();
diff --git a/dev/kernel/KernelKit/Defines.h b/dev/kernel/KernelKit/Defines.h
index 975520b6..9d46f081 100644
--- a/dev/kernel/KernelKit/Defines.h
+++ b/dev/kernel/KernelKit/Defines.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/DeviceMgr.h b/dev/kernel/KernelKit/DeviceMgr.h
index c6467190..869ab143 100644
--- a/dev/kernel/KernelKit/DeviceMgr.h
+++ b/dev/kernel/KernelKit/DeviceMgr.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/DriveMgr.h b/dev/kernel/KernelKit/DriveMgr.h
index 6340d966..dd3f9614 100644
--- a/dev/kernel/KernelKit/DriveMgr.h
+++ b/dev/kernel/KernelKit/DriveMgr.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
@@ -77,7 +77,7 @@ struct DriveTrait final {
const Char* (*fProtocol)(Void){};
};
-namespace Detail {
+namespace Probe {
Void io_detect_drive(DriveTrait& trait);
}
diff --git a/dev/kernel/KernelKit/FileMgr.h b/dev/kernel/KernelKit/FileMgr.h
index ff290780..d2a50c9e 100644
--- a/dev/kernel/KernelKit/FileMgr.h
+++ b/dev/kernel/KernelKit/FileMgr.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss , all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss , licensed under the Apache 2.0 license.
File: FileMgr.h
Purpose: Kernel file manager.
@@ -223,7 +223,7 @@ class Ext2FileSystemMgr final : public IFilesystemMgr {
#endif // ifdef __FSKIT_INCLUDES_EXT2__
-#ifdef __FSKIT_INCLUDES_HEFS__
+#ifdef __FSKIT_INCLUDES_OPENHEFS__
/**
* @brief Based of IFilesystemMgr, takes care of managing NeFS
* disks.
@@ -267,7 +267,7 @@ class HeFileSystemMgr final : public IFilesystemMgr {
HeFileSystemParser* mParser{nullptr};
};
-#endif // ifdef __FSKIT_INCLUDES_HEFS__
+#endif // ifdef __FSKIT_INCLUDES_OPENHEFS__
/**
* FileStream class.
diff --git a/dev/kernel/KernelKit/HardwareThreadScheduler.h b/dev/kernel/KernelKit/HardwareThreadScheduler.h
index e26a353a..56401596 100644
--- a/dev/kernel/KernelKit/HardwareThreadScheduler.h
+++ b/dev/kernel/KernelKit/HardwareThreadScheduler.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/HeapMgr.h b/dev/kernel/KernelKit/HeapMgr.h
index dacdfa5d..c71ca098 100644
--- a/dev/kernel/KernelKit/HeapMgr.h
+++ b/dev/kernel/KernelKit/HeapMgr.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/HeapMgr.inl b/dev/kernel/KernelKit/HeapMgr.inl
index 6371012e..f4074636 100644
--- a/dev/kernel/KernelKit/HeapMgr.inl
+++ b/dev/kernel/KernelKit/HeapMgr.inl
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/IDylibObject.h b/dev/kernel/KernelKit/IDylibObject.h
index 3727e938..ef6b96db 100644
--- a/dev/kernel/KernelKit/IDylibObject.h
+++ b/dev/kernel/KernelKit/IDylibObject.h
@@ -2,7 +2,7 @@
* ========================================================
*
* Kernel
- * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
*
* ========================================================
*/
diff --git a/dev/kernel/KernelKit/IFS.h b/dev/kernel/KernelKit/IFS.h
index b1dd2001..422e531c 100644
--- a/dev/kernel/KernelKit/IFS.h
+++ b/dev/kernel/KernelKit/IFS.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/ILoader.h b/dev/kernel/KernelKit/ILoader.h
index ec8ee1bc..2fd2dd48 100644
--- a/dev/kernel/KernelKit/ILoader.h
+++ b/dev/kernel/KernelKit/ILoader.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/IPEFDylibObject.h b/dev/kernel/KernelKit/IPEFDylibObject.h
index 5788138d..17ef02d5 100644
--- a/dev/kernel/KernelKit/IPEFDylibObject.h
+++ b/dev/kernel/KernelKit/IPEFDylibObject.h
@@ -2,7 +2,7 @@
* ========================================================
*
* Kernel
- * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
*
* ========================================================
*/
diff --git a/dev/kernel/KernelKit/KPC.h b/dev/kernel/KernelKit/KPC.h
index 794197e2..48d0561b 100644
--- a/dev/kernel/KernelKit/KPC.h
+++ b/dev/kernel/KernelKit/KPC.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/KernelTaskScheduler.h b/dev/kernel/KernelKit/KernelTaskScheduler.h
index 2029ae7b..6fd626b4 100644
--- a/dev/kernel/KernelKit/KernelTaskScheduler.h
+++ b/dev/kernel/KernelKit/KernelTaskScheduler.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
@@ -29,7 +29,7 @@ class KERNEL_TASK final {
UInt8* StackReserve{nullptr};
SizeT StackSize{kSchedMaxStackSz};
ProcessImage Image{};
- /// @brief a KID is a Kernel Identification Descriptor, it is used to find a task running within
+ /// @brief a KID is a Kernel ID, it is used to find a task running within
/// the kernel.
KID Kid{0};
};
diff --git a/dev/kernel/KernelKit/LockDelegate.h b/dev/kernel/KernelKit/LockDelegate.h
index a8c36de7..745abaf0 100644
--- a/dev/kernel/KernelKit/LockDelegate.h
+++ b/dev/kernel/KernelKit/LockDelegate.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/MSDOS.h b/dev/kernel/KernelKit/MSDOS.h
index b4ffeff2..2fd94296 100644
--- a/dev/kernel/KernelKit/MSDOS.h
+++ b/dev/kernel/KernelKit/MSDOS.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: MSDOS.h
Purpose: MS-DOS header for Kernel.
diff --git a/dev/kernel/KernelKit/PCI/DMA.h b/dev/kernel/KernelKit/PCI/DMA.h
index 7e7d3f0c..fc04f07c 100644
--- a/dev/kernel/KernelKit/PCI/DMA.h
+++ b/dev/kernel/KernelKit/PCI/DMA.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/PCI/DMA.inl b/dev/kernel/KernelKit/PCI/DMA.inl
index 4df24371..934019f0 100644
--- a/dev/kernel/KernelKit/PCI/DMA.inl
+++ b/dev/kernel/KernelKit/PCI/DMA.inl
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/PCI/Database.h b/dev/kernel/KernelKit/PCI/Database.h
index 093338da..03c60dee 100644
--- a/dev/kernel/KernelKit/PCI/Database.h
+++ b/dev/kernel/KernelKit/PCI/Database.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
#pragma once
diff --git a/dev/kernel/KernelKit/PCI/Device.h b/dev/kernel/KernelKit/PCI/Device.h
index f41e0575..9547f57b 100644
--- a/dev/kernel/KernelKit/PCI/Device.h
+++ b/dev/kernel/KernelKit/PCI/Device.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
#pragma once
diff --git a/dev/kernel/KernelKit/PCI/Express.h b/dev/kernel/KernelKit/PCI/Express.h
index c9d65da7..65db6daf 100644
--- a/dev/kernel/KernelKit/PCI/Express.h
+++ b/dev/kernel/KernelKit/PCI/Express.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/PCI/IO.h b/dev/kernel/KernelKit/PCI/IO.h
index 8ddba334..3d513bea 100644
--- a/dev/kernel/KernelKit/PCI/IO.h
+++ b/dev/kernel/KernelKit/PCI/IO.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/PCI/IOArray+AMD64.inl b/dev/kernel/KernelKit/PCI/IOArray+AMD64.inl
index 842062e3..de2e94f9 100644
--- a/dev/kernel/KernelKit/PCI/IOArray+AMD64.inl
+++ b/dev/kernel/KernelKit/PCI/IOArray+AMD64.inl
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: IO-Impl-AMD64.h
Purpose: I/O for AMD64.
diff --git a/dev/kernel/KernelKit/PCI/Iterator.h b/dev/kernel/KernelKit/PCI/Iterator.h
index d4c89404..9ab746d9 100644
--- a/dev/kernel/KernelKit/PCI/Iterator.h
+++ b/dev/kernel/KernelKit/PCI/Iterator.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/PCI/PCI.h b/dev/kernel/KernelKit/PCI/PCI.h
index d8805a0c..a95861ba 100644
--- a/dev/kernel/KernelKit/PCI/PCI.h
+++ b/dev/kernel/KernelKit/PCI/PCI.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/PE.h b/dev/kernel/KernelKit/PE.h
index 3aa8fbf2..57309b3f 100644
--- a/dev/kernel/KernelKit/PE.h
+++ b/dev/kernel/KernelKit/PE.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: PE.h
Purpose: Portable Executable for Kernel.
diff --git a/dev/kernel/KernelKit/PE32CodeMgr.h b/dev/kernel/KernelKit/PE32CodeMgr.h
new file mode 100644
index 00000000..c374fee6
--- /dev/null
+++ b/dev/kernel/KernelKit/PE32CodeMgr.h
@@ -0,0 +1,91 @@
+/* -------------------------------------------
+
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
+
+ File: PE32CodeMgr.h
+ Purpose: PE32+ Code Mgr and Dylib mgr.
+
+ Revision History:
+
+ 12/02/24: Added file (amlel)
+
+------------------------------------------- */
+
+#pragma once
+
+////////////////////////////////////////////////////
+
+// LAST REV: Mon Feb 12 13:52:01 CET 2024
+
+////////////////////////////////////////////////////
+
+#include <KernelKit/FileMgr.h>
+#include <KernelKit/ILoader.h>
+#include <KernelKit/PE.h>
+#include <NeKit/ErrorOr.h>
+#include <NeKit/KString.h>
+
+#ifndef INC_PROCESS_SCHEDULER_H
+#include <KernelKit/ProcessScheduler.h>
+#endif
+
+#define kPeStackSizeSymbol "__NESizeOfReserveStack"
+#define kPeHeapSizeSymbol "__NESizeOfReserveHeap"
+#define kPeNameSymbol "__NEProgramName"
+
+#define kPeApplicationMime "application/vnd-portable-executable"
+
+#define kPeImageStart "__ImageStart"
+
+namespace Kernel {
+///
+/// \name PE32Loader
+/// \brief PE32+ loader class.
+///
+class PE32Loader : public ILoader {
+ private:
+ explicit PE32Loader() = delete;
+
+ public:
+ explicit PE32Loader(const VoidPtr blob);
+ explicit PE32Loader(const Char* path);
+ ~PE32Loader() override;
+
+ public:
+ NE_COPY_DEFAULT(PE32Loader)
+
+ public:
+ const Char* Path() override;
+ const Char* AsString() override;
+ const Char* MIME() override;
+
+ public:
+ ErrorOr<VoidPtr> FindStart() override;
+ ErrorOr<VoidPtr> FindSectionByName(const Char* name);
+ ErrorOr<VoidPtr> FindSymbol(const Char* name, Int32 kind) override;
+ ErrorOr<VoidPtr> GetBlob() override;
+
+ public:
+ bool IsLoaded() noexcept;
+
+ private:
+#ifdef __FSKIT_INCLUDES_NEFS__
+ OwnPtr<FileStream<Char, NeFileSystemMgr>> fFile;
+#elif defined(__FSKIT_INCLUDES_OPENHEFS__)
+ OwnPtr<FileStream<Char, HeFileSystemMgr>> fFile;
+#else
+ OwnPtr<FileStream<Char>> fFile;
+#endif // __FSKIT_INCLUDES_NEFS__
+
+ Ref<KString> fPath;
+ VoidPtr fCachedBlob;
+ BOOL fBad;
+};
+
+enum { kPEPlatformInvalid, kPEPlatformAMD64 = 100, kPEPlatformARM64 };
+enum { kPETypeInvalid, kPETypeText = 100, kPETypeData, kPETypeBSS };
+
+typedef LDR_SECTION_HEADER PE_SECTION_INFO;
+
+ProcessID rtl_create_user_process(PE32Loader& exec, const Int32& process_kind) noexcept;
+} // namespace NeKernel \ No newline at end of file
diff --git a/dev/kernel/KernelKit/PEF.h b/dev/kernel/KernelKit/PEF.h
index 0410c63a..ff37aad4 100644
--- a/dev/kernel/KernelKit/PEF.h
+++ b/dev/kernel/KernelKit/PEF.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: PEF.h
Purpose: Preferred Executable Format for Kernel.
diff --git a/dev/kernel/KernelKit/PEFCodeMgr.h b/dev/kernel/KernelKit/PEFCodeMgr.h
index 3ed9c097..fc2cfb24 100644
--- a/dev/kernel/KernelKit/PEFCodeMgr.h
+++ b/dev/kernel/KernelKit/PEFCodeMgr.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
@@ -55,7 +55,7 @@ class PEFLoader : public ILoader {
private:
#ifdef __FSKIT_INCLUDES_NEFS__
OwnPtr<FileStream<Char, NeFileSystemMgr>> fFile;
-#elif defined(__FSKIT_INCLUDES_HEFS__)
+#elif defined(__FSKIT_INCLUDES_OPENHEFS__)
OwnPtr<FileStream<Char, HeFileSystemMgr>> fFile;
#else
OwnPtr<FileStream<Char>> fFile;
diff --git a/dev/kernel/KernelKit/ProcessScheduler.h b/dev/kernel/KernelKit/ProcessScheduler.h
index 6bdc8b1c..0ce4b606 100644
--- a/dev/kernel/KernelKit/ProcessScheduler.h
+++ b/dev/kernel/KernelKit/ProcessScheduler.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/Semaphore.h b/dev/kernel/KernelKit/Semaphore.h
index f73f36ed..39cd3b7e 100644
--- a/dev/kernel/KernelKit/Semaphore.h
+++ b/dev/kernel/KernelKit/Semaphore.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/ThreadLocalStorage.h b/dev/kernel/KernelKit/ThreadLocalStorage.h
index 47ff526c..831b4c33 100644
--- a/dev/kernel/KernelKit/ThreadLocalStorage.h
+++ b/dev/kernel/KernelKit/ThreadLocalStorage.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/ThreadLocalStorage.inl b/dev/kernel/KernelKit/ThreadLocalStorage.inl
index 7c7a0b7f..d7fa55ce 100644
--- a/dev/kernel/KernelKit/ThreadLocalStorage.inl
+++ b/dev/kernel/KernelKit/ThreadLocalStorage.inl
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/Timer.h b/dev/kernel/KernelKit/Timer.h
index 2d040535..1483d591 100644
--- a/dev/kernel/KernelKit/Timer.h
+++ b/dev/kernel/KernelKit/Timer.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/TraceSrv.h b/dev/kernel/KernelKit/TraceSrv.h
new file mode 100644
index 00000000..67271a22
--- /dev/null
+++ b/dev/kernel/KernelKit/TraceSrv.h
@@ -0,0 +1,22 @@
+/* -------------------------------------------
+
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
+ NeKernel is licensed under the Apache License 2.0 license.
+
+------------------------------------------- */
+
+#pragma once
+
+#include <CompilerKit/CompilerKit.h>
+
+namespace Kernel {
+namespace Detail {
+ inline constexpr auto kDebugCmdLen = 256U;
+ inline constexpr auto kDebugPort = 51820;
+ inline constexpr auto kDebugMagic = "NE1.0.0;";
+ inline constexpr auto kDebugVersion = 0x0100;
+ inline constexpr auto kDebugDelim = ';';
+ inline constexpr auto kDebugEnd = '\r';
+ typedef UInt64 dk_socket_type;
+} // namespace Detail
+} // namespace Kernel \ No newline at end of file
diff --git a/dev/kernel/KernelKit/UserMgr.h b/dev/kernel/KernelKit/UserMgr.h
index c660025b..e05c9568 100644
--- a/dev/kernel/KernelKit/UserMgr.h
+++ b/dev/kernel/KernelKit/UserMgr.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
@@ -22,7 +22,7 @@
///! We got the MGMT, STD (%s format) and GUEST users,
///! all are used to make authorized operations.
-#define kSuperUser "NEKERNEL/MGMT/%s"
+#define kMgmtUser "NEKERNEL/MGMT/%s"
#define kGuestUser "NEKERNEL/GUEST/%s"
#define kStdUser "NEKERNEL/STD/%s"
diff --git a/dev/kernel/KernelKit/UserProcessScheduler.h b/dev/kernel/KernelKit/UserProcessScheduler.h
index 2cf65fe0..9c3d365b 100644
--- a/dev/kernel/KernelKit/UserProcessScheduler.h
+++ b/dev/kernel/KernelKit/UserProcessScheduler.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/KernelKit/UserProcessScheduler.inl b/dev/kernel/KernelKit/UserProcessScheduler.inl
index 0605a5e0..8995c8e5 100644
--- a/dev/kernel/KernelKit/UserProcessScheduler.inl
+++ b/dev/kernel/KernelKit/UserProcessScheduler.inl
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
FILE: UserProcessScheduler.inl
PURPOSE: Low level/Ring-3 process scheduler.
diff --git a/dev/kernel/KernelKit/XCOFF.h b/dev/kernel/KernelKit/XCOFF.h
index 9cfe8ded..8c7a99be 100644
--- a/dev/kernel/KernelKit/XCOFF.h
+++ b/dev/kernel/KernelKit/XCOFF.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: XCOFF.h
Purpose: XCOFF for Kernel.
diff --git a/dev/kernel/KernelKit/ZXD.h b/dev/kernel/KernelKit/ZXD.h
index bae47258..30e9f1c9 100644
--- a/dev/kernel/KernelKit/ZXD.h
+++ b/dev/kernel/KernelKit/ZXD.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/Array.h b/dev/kernel/NeKit/Array.h
index 12c062cb..c78bcf1b 100644
--- a/dev/kernel/NeKit/Array.h
+++ b/dev/kernel/NeKit/Array.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/ArrayList.h b/dev/kernel/NeKit/ArrayList.h
index ee1a4b40..e5341bea 100644
--- a/dev/kernel/NeKit/ArrayList.h
+++ b/dev/kernel/NeKit/ArrayList.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/Atom.h b/dev/kernel/NeKit/Atom.h
index fce5e93d..f6830b81 100644
--- a/dev/kernel/NeKit/Atom.h
+++ b/dev/kernel/NeKit/Atom.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
#pragma once
diff --git a/dev/kernel/NeKit/Crc32.h b/dev/kernel/NeKit/Crc32.h
index f6b04641..3c6a904f 100644
--- a/dev/kernel/NeKit/Crc32.h
+++ b/dev/kernel/NeKit/Crc32.h
@@ -3,7 +3,7 @@
*
* NeKernel
* Date Added: 13/02/2023
- * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
*
* ========================================================
*/
diff --git a/dev/kernel/NeKit/CxxAbi.h b/dev/kernel/NeKit/CxxAbi.h
index 4b7bf002..7f214dd5 100644
--- a/dev/kernel/NeKit/CxxAbi.h
+++ b/dev/kernel/NeKit/CxxAbi.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
#pragma once
diff --git a/dev/kernel/NeKit/Defines.h b/dev/kernel/NeKit/Defines.h
index ed979e03..c6f7d478 100644
--- a/dev/kernel/NeKit/Defines.h
+++ b/dev/kernel/NeKit/Defines.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/ErrorOr.h b/dev/kernel/NeKit/ErrorOr.h
index 3351c65d..2e3afb46 100644
--- a/dev/kernel/NeKit/ErrorOr.h
+++ b/dev/kernel/NeKit/ErrorOr.h
@@ -2,7 +2,7 @@
* ========================================================
*
* NeKernel
- * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
*
* ========================================================
*/
@@ -13,7 +13,7 @@
#include <NeKit/Ref.h>
namespace Kernel {
-using ErrorT = UInt32;
+using ErrorT = Int32;
template <typename T>
class ErrorOr final {
@@ -22,7 +22,7 @@ class ErrorOr final {
~ErrorOr() = default;
public:
- explicit ErrorOr(Int32 err) : mRef((T*) RTL_ALLOCA(sizeof(T))), mId(err) {}
+ explicit ErrorOr(ErrorT err) : mRef((T*) RTL_ALLOCA(sizeof(T))), mId(err) {}
explicit ErrorOr(nullPtr) {}
@@ -42,8 +42,9 @@ class ErrorOr final {
Ref<T>& Leak() { return mRef; }
- Int32 Error() { return mId; }
+ ErrorT Error() { return mId; }
+ /// @note DO NOT MAKE THIS EXPLICIT! IT WILL BREAK THE COMPILATION.
operator bool() { return mRef; }
BOOL HasError() { return this->mId > 0; }
diff --git a/dev/kernel/NeKit/Function.h b/dev/kernel/NeKit/Function.h
index cddcc215..05cb44d5 100644
--- a/dev/kernel/NeKit/Function.h
+++ b/dev/kernel/NeKit/Function.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/Json.h b/dev/kernel/NeKit/Json.h
index 35f53b57..1cfa5a8a 100644
--- a/dev/kernel/NeKit/Json.h
+++ b/dev/kernel/NeKit/Json.h
@@ -1,7 +1,7 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/KString.h b/dev/kernel/NeKit/KString.h
index 6a1b04d2..9ff793fa 100644
--- a/dev/kernel/NeKit/KString.h
+++ b/dev/kernel/NeKit/KString.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/KString.inl b/dev/kernel/NeKit/KString.inl
index d238818c..2ee5afba 100644
--- a/dev/kernel/NeKit/KString.inl
+++ b/dev/kernel/NeKit/KString.inl
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/KernelPanic.h b/dev/kernel/NeKit/KernelPanic.h
index 753b18de..f53e88a0 100644
--- a/dev/kernel/NeKit/KernelPanic.h
+++ b/dev/kernel/NeKit/KernelPanic.h
@@ -1,7 +1,7 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/Macros.h b/dev/kernel/NeKit/Macros.h
index b46ffaa8..666a37ac 100644
--- a/dev/kernel/NeKit/Macros.h
+++ b/dev/kernel/NeKit/Macros.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/MutableArray.h b/dev/kernel/NeKit/MutableArray.h
index 02c8dc2d..1e2d8a78 100644
--- a/dev/kernel/NeKit/MutableArray.h
+++ b/dev/kernel/NeKit/MutableArray.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
#pragma once
diff --git a/dev/kernel/NeKit/NeKit.h b/dev/kernel/NeKit/NeKit.h
index 909e1311..59949068 100644
--- a/dev/kernel/NeKit/NeKit.h
+++ b/dev/kernel/NeKit/NeKit.h
@@ -1,7 +1,7 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/New.h b/dev/kernel/NeKit/New.h
index 8ddd88de..58668891 100644
--- a/dev/kernel/NeKit/New.h
+++ b/dev/kernel/NeKit/New.h
@@ -1,7 +1,7 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/OwnPtr.h b/dev/kernel/NeKit/OwnPtr.h
index 22435118..97a6b9c7 100644
--- a/dev/kernel/NeKit/OwnPtr.h
+++ b/dev/kernel/NeKit/OwnPtr.h
@@ -1,7 +1,7 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/PageMgr.h b/dev/kernel/NeKit/PageMgr.h
index ae74a6b6..b94fac4e 100644
--- a/dev/kernel/NeKit/PageMgr.h
+++ b/dev/kernel/NeKit/PageMgr.h
@@ -3,7 +3,7 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/Pair.h b/dev/kernel/NeKit/Pair.h
index 61668f5a..7ad201ac 100644
--- a/dev/kernel/NeKit/Pair.h
+++ b/dev/kernel/NeKit/Pair.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/Pmm.h b/dev/kernel/NeKit/Pmm.h
index f84bd9f2..40d2b2b6 100644
--- a/dev/kernel/NeKit/Pmm.h
+++ b/dev/kernel/NeKit/Pmm.h
@@ -1,7 +1,7 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/Ref.h b/dev/kernel/NeKit/Ref.h
index 566f7486..08b1538d 100644
--- a/dev/kernel/NeKit/Ref.h
+++ b/dev/kernel/NeKit/Ref.h
@@ -1,7 +1,7 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/Stream.h b/dev/kernel/NeKit/Stream.h
index 26fc46fc..dabf0f19 100644
--- a/dev/kernel/NeKit/Stream.h
+++ b/dev/kernel/NeKit/Stream.h
@@ -1,7 +1,7 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/Utils.h b/dev/kernel/NeKit/Utils.h
index ee18d04c..f2cffd8c 100644
--- a/dev/kernel/NeKit/Utils.h
+++ b/dev/kernel/NeKit/Utils.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NeKit/Variant.h b/dev/kernel/NeKit/Variant.h
index 700c9d9a..de18fbfe 100644
--- a/dev/kernel/NeKit/Variant.h
+++ b/dev/kernel/NeKit/Variant.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NetworkKit/IP.h b/dev/kernel/NetworkKit/IP.h
index 0468d579..230aa47e 100644
--- a/dev/kernel/NetworkKit/IP.h
+++ b/dev/kernel/NetworkKit/IP.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NetworkKit/IPC.h b/dev/kernel/NetworkKit/IPC.h
index c65ec6fb..b18547c0 100644
--- a/dev/kernel/NetworkKit/IPC.h
+++ b/dev/kernel/NetworkKit/IPC.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved..
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license..
File: IPC.h.
Purpose: IPC protocol.
diff --git a/dev/kernel/NetworkKit/LTE.h b/dev/kernel/NetworkKit/LTE.h
index 030f9955..b6cab08e 100644
--- a/dev/kernel/NetworkKit/LTE.h
+++ b/dev/kernel/NetworkKit/LTE.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved..
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license..
File: LTE.h.
Purpose: LTE protocol classes.
diff --git a/dev/kernel/NetworkKit/MAC.h b/dev/kernel/NetworkKit/MAC.h
index 9cfd93c2..25033e70 100644
--- a/dev/kernel/NetworkKit/MAC.h
+++ b/dev/kernel/NetworkKit/MAC.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NetworkKit/NetworkDevice.h b/dev/kernel/NetworkKit/NetworkDevice.h
index 04d208c5..d0ad0221 100644
--- a/dev/kernel/NetworkKit/NetworkDevice.h
+++ b/dev/kernel/NetworkKit/NetworkDevice.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/NetworkKit/NetworkDevice.inl b/dev/kernel/NetworkKit/NetworkDevice.inl
index 6ef480a9..44d1ff16 100644
--- a/dev/kernel/NetworkKit/NetworkDevice.inl
+++ b/dev/kernel/NetworkKit/NetworkDevice.inl
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/SignalKit/Signals.h b/dev/kernel/SignalKit/Signals.h
index fdc27161..36363229 100644
--- a/dev/kernel/SignalKit/Signals.h
+++ b/dev/kernel/SignalKit/Signals.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/StorageKit/AHCI.h b/dev/kernel/StorageKit/AHCI.h
index d4f7cc55..ae69d55c 100644
--- a/dev/kernel/StorageKit/AHCI.h
+++ b/dev/kernel/StorageKit/AHCI.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/StorageKit/ATA.h b/dev/kernel/StorageKit/ATA.h
index 49ab3e4e..ec94cfbe 100644
--- a/dev/kernel/StorageKit/ATA.h
+++ b/dev/kernel/StorageKit/ATA.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/StorageKit/NVME.h b/dev/kernel/StorageKit/NVME.h
index 9852c5eb..1acc06aa 100644
--- a/dev/kernel/StorageKit/NVME.h
+++ b/dev/kernel/StorageKit/NVME.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/StorageKit/PRDT.h b/dev/kernel/StorageKit/PRDT.h
index f277897f..4590821a 100644
--- a/dev/kernel/StorageKit/PRDT.h
+++ b/dev/kernel/StorageKit/PRDT.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/StorageKit/SCSI.h b/dev/kernel/StorageKit/SCSI.h
index 25e11716..04943346 100644
--- a/dev/kernel/StorageKit/SCSI.h
+++ b/dev/kernel/StorageKit/SCSI.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/StorageKit/StorageKit.h b/dev/kernel/StorageKit/StorageKit.h
index 411aa6ae..3d939304 100644
--- a/dev/kernel/StorageKit/StorageKit.h
+++ b/dev/kernel/StorageKit/StorageKit.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/SwapKit/DiskSwap.h b/dev/kernel/SwapKit/DiskSwap.h
index 674524c8..a45a6035 100644
--- a/dev/kernel/SwapKit/DiskSwap.h
+++ b/dev/kernel/SwapKit/DiskSwap.h
@@ -1,7 +1,7 @@
/* -------------------------------------------
- Copyright (C) 2024-2025 Amlal El Mahrouss , all rights reserved.
+ Copyright (C) 2024-2025 Amlal El Mahrouss , licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/amd64-ci.make b/dev/kernel/amd64-ci.make
index f21efca4..bd9741b3 100644
--- a/dev/kernel/amd64-ci.make
+++ b/dev/kernel/amd64-ci.make
@@ -1,5 +1,5 @@
##################################################
-# (c) Amlal El Mahrouss, all rights reserved.
+# (c) Amlal El Mahrouss, licensed under the Apache 2.0 license.
# This is the NeKernel's makefile.
##################################################
diff --git a/dev/kernel/amd64-desktop.make b/dev/kernel/amd64-desktop.make
index a3040c89..61e77a4c 100644
--- a/dev/kernel/amd64-desktop.make
+++ b/dev/kernel/amd64-desktop.make
@@ -1,11 +1,11 @@
##################################################
-# (c) Amlal El Mahrouss, all rights reserved.
+# (c) Amlal El Mahrouss, licensed under the Apache 2.0 license.
# This is the NeKernel's makefile.
##################################################
CXX = x86_64-w64-mingw32-g++
LD = x86_64-w64-mingw32-ld
-CCFLAGS = -fshort-wchar -c -D__NE_AMD64__ -D__NE_USE_PEF__ -D__NE_VEPM__ -Wall -Wpedantic -Wextra -mno-red-zone -fno-rtti -fno-exceptions -std=c++20 -D__FSKIT_INCLUDES_HEFS__ -D__FSKIT_INCLUDES_EXT2__ -D__NE_SUPPORT_NX__ -O0 -I../vendor -D__NEOSKRNL__ -D__HAVE_NE_APIS__ -D__FREESTANDING__ -D__NE_VIRTUAL_MEMORY_SUPPORT__ -D__NE_AUTO_FORMAT__ -D__NE__ -I./ -I../ -I../boot
+CCFLAGS = -fshort-wchar -c -D__NE_AMD64__ -D__NE_USE_PEF__ -D__NE_VEPM__ -Wall -Wpedantic -Wextra -mno-red-zone -fno-rtti -fno-exceptions -std=c++20 -D__FSKIT_INCLUDES_OPENHEFS__ -D__FSKIT_INCLUDES_EXT2__ -D__NE_SUPPORT_NX__ -O0 -I../vendor -D__NEOSKRNL__ -D__HAVE_NE_APIS__ -D__FREESTANDING__ -D__NE_VIRTUAL_MEMORY_SUPPORT__ -D__NE_AUTO_FORMAT__ -D__NE__ -I./ -I../ -I../boot
ASM = nasm
diff --git a/dev/kernel/arm64-desktop.make b/dev/kernel/arm64-desktop.make
index da629254..08260525 100644
--- a/dev/kernel/arm64-desktop.make
+++ b/dev/kernel/arm64-desktop.make
@@ -1,5 +1,5 @@
##################################################
-# (c) Amlal El Mahrouss, all rights reserved.
+# (c) Amlal El Mahrouss, licensed under the Apache 2.0 license.
# This is the microKernel makefile.
##################################################
diff --git a/dev/kernel/kernel_rsrc.rsrc b/dev/kernel/kernel_rsrc.rsrc
index a785a311..0a43086e 100644
--- a/dev/kernel/kernel_rsrc.rsrc
+++ b/dev/kernel/kernel_rsrc.rsrc
@@ -12,7 +12,7 @@ BEGIN
VALUE "FileDescription", "NeKernel"
VALUE "FileVersion", KERNEL_VERSION
VALUE "InternalName", "ne_kernel"
- VALUE "LegalCopyright", "(c) 2024-2025 Amlal El Mahrouss, all rights reserved."
+ VALUE "LegalCopyright", "(c) 2024-2025 Amlal El Mahrouss, licensed under the Apache 2.0 license."
VALUE "OriginalFilename", "ne_kernel"
VALUE "ProductName", "NeKernel"
VALUE "ProductVersion", KERNEL_VERSION
diff --git a/dev/kernel/power64-cb.make b/dev/kernel/power64-cb.make
index 4b6adb96..c46a00d0 100644
--- a/dev/kernel/power64-cb.make
+++ b/dev/kernel/power64-cb.make
@@ -1,4 +1,4 @@
##################################################
-# (c) Amlal El Mahrouss, all rights reserved.
+# (c) Amlal El Mahrouss, licensed under the Apache 2.0 license.
# This is the microKernel makefile.
##################################################
diff --git a/dev/kernel/src/ACPIFactoryInterface.cc b/dev/kernel/src/ACPIFactoryInterface.cc
index 6cebf26c..c0efe73d 100644
--- a/dev/kernel/src/ACPIFactoryInterface.cc
+++ b/dev/kernel/src/ACPIFactoryInterface.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Array.cc b/dev/kernel/src/Array.cc
index 36a8e744..57c77652 100644
--- a/dev/kernel/src/Array.cc
+++ b/dev/kernel/src/Array.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/ArrayList.cc b/dev/kernel/src/ArrayList.cc
index 39291935..c028086f 100644
--- a/dev/kernel/src/ArrayList.cc
+++ b/dev/kernel/src/ArrayList.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/AsciiUtils.cc b/dev/kernel/src/AsciiUtils.cc
index 8d2f9dc5..aed11e94 100644
--- a/dev/kernel/src/AsciiUtils.cc
+++ b/dev/kernel/src/AsciiUtils.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Atom.cc b/dev/kernel/src/Atom.cc
index a0e45468..ba8a6088 100644
--- a/dev/kernel/src/Atom.cc
+++ b/dev/kernel/src/Atom.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/BinaryMutex.cc b/dev/kernel/src/BinaryMutex.cc
index 3fef477c..e91051f2 100644
--- a/dev/kernel/src/BinaryMutex.cc
+++ b/dev/kernel/src/BinaryMutex.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/BitMapMgr.cc b/dev/kernel/src/BitMapMgr.cc
index a7ca12ce..c3d3c05d 100644
--- a/dev/kernel/src/BitMapMgr.cc
+++ b/dev/kernel/src/BitMapMgr.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/CodeMgr.cc b/dev/kernel/src/CodeMgr.cc
index 6146682a..7f85d547 100644
--- a/dev/kernel/src/CodeMgr.cc
+++ b/dev/kernel/src/CodeMgr.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Crc32.cc b/dev/kernel/src/Crc32.cc
index df0b34e3..49bd3d10 100644
--- a/dev/kernel/src/Crc32.cc
+++ b/dev/kernel/src/Crc32.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Defines.cc b/dev/kernel/src/Defines.cc
index a06b4dd2..1cc5280e 100644
--- a/dev/kernel/src/Defines.cc
+++ b/dev/kernel/src/Defines.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/DeviceMgr.cc b/dev/kernel/src/DeviceMgr.cc
index b12470a9..198cd7ef 100644
--- a/dev/kernel/src/DeviceMgr.cc
+++ b/dev/kernel/src/DeviceMgr.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/DriveMgr.cc b/dev/kernel/src/DriveMgr.cc
index 9f107e97..a0f7bb77 100644
--- a/dev/kernel/src/DriveMgr.cc
+++ b/dev/kernel/src/DriveMgr.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
@@ -152,10 +152,8 @@ DriveTrait io_construct_blank_drive() noexcept {
return trait;
}
-namespace Detail {
+namespace Probe {
Void io_detect_drive(DriveTrait& trait) {
- trait.fInit(trait.fPacket);
-
EPM_PART_BLOCK block_struct;
trait.fPacket.fPacketLba = kEPMBootBlockLba;
@@ -165,6 +163,8 @@ namespace Detail {
rt_copy_memory((VoidPtr) "fs/detect-packet", trait.fPacket.fPacketMime,
rt_string_len("fs/detect-packet"));
+ trait.fInit(trait.fPacket);
+
trait.fInput(trait.fPacket);
if (rt_string_cmp(block_struct.Magic, kEPMMagic, kEPMMagicLength) == 0) {
@@ -220,12 +220,11 @@ namespace Detail {
/// @brief Fetches the main drive.
/// @return the new drive. (returns kEPMDrive if EPM formatted)
DriveTrait io_construct_main_drive() noexcept {
- DriveTrait trait;
-
constexpr auto kMainDrive = "/media/main/";
- rt_copy_memory((VoidPtr) kMainDrive, trait.fName, rt_string_len(kMainDrive));
+ DriveTrait trait{};
+ rt_copy_memory((VoidPtr) kMainDrive, trait.fName, rt_string_len(kMainDrive));
MUST_PASS(trait.fName[0] != 0);
trait.fVerify = io_drv_unimplemented;
@@ -233,10 +232,8 @@ DriveTrait io_construct_main_drive() noexcept {
trait.fInput = io_drv_input;
trait.fInit = io_drv_init;
trait.fProtocol = io_drv_kind;
-
- kout << "DriveMgr: Detecting partition scheme of: " << trait.fName << ".\r";
-
- Detail::io_detect_drive(trait);
+
+ Probe::io_detect_drive(trait);
return trait;
}
diff --git a/dev/kernel/src/ErrorOr.cc b/dev/kernel/src/ErrorOr.cc
index a872164c..fedfe3b3 100644
--- a/dev/kernel/src/ErrorOr.cc
+++ b/dev/kernel/src/ErrorOr.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/FS/Ext2+IFS.cc b/dev/kernel/src/FS/Ext2+IFS.cc
index 2c359197..51e2cde3 100644
--- a/dev/kernel/src/FS/Ext2+IFS.cc
+++ b/dev/kernel/src/FS/Ext2+IFS.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/FS/NeFS+FileMgr.cc b/dev/kernel/src/FS/NeFS+FileMgr.cc
index 2fcfa2bb..7d663397 100644
--- a/dev/kernel/src/FS/NeFS+FileMgr.cc
+++ b/dev/kernel/src/FS/NeFS+FileMgr.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/FS/NeFS+FileSystemParser.cc b/dev/kernel/src/FS/NeFS+FileSystemParser.cc
index b50841a4..848a1cc4 100644
--- a/dev/kernel/src/FS/NeFS+FileSystemParser.cc
+++ b/dev/kernel/src/FS/NeFS+FileSystemParser.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/FS/OpenHeFS+FileMgr.cc b/dev/kernel/src/FS/OpenHeFS+FileMgr.cc
index bb87fd67..8a3c7968 100644
--- a/dev/kernel/src/FS/OpenHeFS+FileMgr.cc
+++ b/dev/kernel/src/FS/OpenHeFS+FileMgr.cc
@@ -1,11 +1,11 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
#ifndef __NE_MINIMAL_OS__
-#ifdef __FSKIT_INCLUDES_HEFS__
+#ifdef __FSKIT_INCLUDES_OPENHEFS__
#include <KernelKit/FileMgr.h>
#include <KernelKit/HeapMgr.h>
@@ -187,5 +187,5 @@ _Output HeFileSystemParser* HeFileSystemMgr::GetParser() noexcept {
}
} // namespace Kernel
-#endif // ifdef __FSKIT_INCLUDES_HEFS__
+#endif // ifdef __FSKIT_INCLUDES_OPENHEFS__
#endif // ifndef __NE_MINIMAL_OS__
diff --git a/dev/kernel/src/FS/OpenHeFS+FileSystemParser.cc b/dev/kernel/src/FS/OpenHeFS+FileSystemParser.cc
index 3746ebc1..8bfbf7fb 100644
--- a/dev/kernel/src/FS/OpenHeFS+FileSystemParser.cc
+++ b/dev/kernel/src/FS/OpenHeFS+FileSystemParser.cc
@@ -1,10 +1,10 @@
/* -------------------------------------------
- Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025 Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
-#ifdef __FSKIT_INCLUDES_HEFS__
+#ifdef __FSKIT_INCLUDES_OPENHEFS__
#include <FSKit/OpenHeFS.h>
#include <FirmwareKit/EPM.h>
@@ -1149,13 +1149,15 @@ STATIC DriveTrait kMountPoint;
/// @brief Initialize the OpenHeFS filesystem.
/// @return To check its status, see err_local_get().
-Boolean OpenHeFS::fs_init_hefs(Void) noexcept {
+Boolean OpenHeFS::fs_init_openhefs(Void) noexcept {
kout << "Verifying disk...\r";
kMountPoint = io_construct_main_drive();
- if (kMountPoint.fPacket.fPacketReadOnly == YES)
- ke_panic(RUNTIME_CHECK_FILESYSTEM, "Main disk cannot be mounted (read-only media).");
+ if (kMountPoint.fPacket.fPacketReadOnly == YES) {
+ kout << "Main disk cannot be mounted (read-only media).\r";
+ return NO;
+ }
HeFileSystemParser parser;
@@ -1163,4 +1165,4 @@ Boolean OpenHeFS::fs_init_hefs(Void) noexcept {
}
} // namespace Kernel
-#endif // ifdef __FSKIT_INCLUDES_HEFS__
+#endif // ifdef __FSKIT_INCLUDES_OPENHEFS__
diff --git a/dev/kernel/src/FileMgr.cc b/dev/kernel/src/FileMgr.cc
index faed9ae1..bb6b27d0 100644
--- a/dev/kernel/src/FileMgr.cc
+++ b/dev/kernel/src/FileMgr.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/GUIDWizard.cc b/dev/kernel/src/GUIDWizard.cc
index b36fffc2..81bf3293 100644
--- a/dev/kernel/src/GUIDWizard.cc
+++ b/dev/kernel/src/GUIDWizard.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: GUIDWizard.cc
Purpose: GUID helper code
diff --git a/dev/kernel/src/GUIDWrapper.cc b/dev/kernel/src/GUIDWrapper.cc
index d5ab6bb8..de773a74 100644
--- a/dev/kernel/src/GUIDWrapper.cc
+++ b/dev/kernel/src/GUIDWrapper.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Gfx/FBDeviceInterface.cc b/dev/kernel/src/Gfx/FBDeviceInterface.cc
index f1867b45..422aaf53 100644
--- a/dev/kernel/src/Gfx/FBDeviceInterface.cc
+++ b/dev/kernel/src/Gfx/FBDeviceInterface.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/HardwareThreadScheduler.cc b/dev/kernel/src/HardwareThreadScheduler.cc
index a4b6b4b8..2600c4cb 100644
--- a/dev/kernel/src/HardwareThreadScheduler.cc
+++ b/dev/kernel/src/HardwareThreadScheduler.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/HeapMgr.cc b/dev/kernel/src/HeapMgr.cc
index eb86f378..1e5b460e 100644
--- a/dev/kernel/src/HeapMgr.cc
+++ b/dev/kernel/src/HeapMgr.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/IDylibObject.cc b/dev/kernel/src/IDylibObject.cc
index 6def3fcf..61191af1 100644
--- a/dev/kernel/src/IDylibObject.cc
+++ b/dev/kernel/src/IDylibObject.cc
@@ -2,7 +2,7 @@
* ========================================================
*
* NeKernel
- * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
*
* ========================================================
*/
diff --git a/dev/kernel/src/IFS.cc b/dev/kernel/src/IFS.cc
index ffb8ef8e..e975750a 100644
--- a/dev/kernel/src/IFS.cc
+++ b/dev/kernel/src/IFS.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
@@ -13,7 +13,7 @@
* Purpose: Filesystem to mountpoint interface.
* Date: 05/26/2025
*
- * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
*
*************************************************************/
diff --git a/dev/kernel/src/IPEFDylibObject.cc b/dev/kernel/src/IPEFDylibObject.cc
index 91f8c88a..bca09efe 100644
--- a/dev/kernel/src/IPEFDylibObject.cc
+++ b/dev/kernel/src/IPEFDylibObject.cc
@@ -2,7 +2,7 @@
* ========================================================
*
* NeKernel
- * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
*
* ========================================================
*/
diff --git a/dev/kernel/src/IndexableProperty.cc b/dev/kernel/src/IndexableProperty.cc
index 56143607..7ed6f708 100644
--- a/dev/kernel/src/IndexableProperty.cc
+++ b/dev/kernel/src/IndexableProperty.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Json.cc b/dev/kernel/src/Json.cc
index d156c0ce..79f16cfb 100644
--- a/dev/kernel/src/Json.cc
+++ b/dev/kernel/src/Json.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/KPC.cc b/dev/kernel/src/KPC.cc
index 1693fbd3..94e86399 100644
--- a/dev/kernel/src/KPC.cc
+++ b/dev/kernel/src/KPC.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/KernelTaskScheduler.cc b/dev/kernel/src/KernelTaskScheduler.cc
index 8bbe5601..b6cea3bc 100644
--- a/dev/kernel/src/KernelTaskScheduler.cc
+++ b/dev/kernel/src/KernelTaskScheduler.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
FILE: KernelTaskScheduler.cc
PURPOSE: Kernel Task scheduler.
diff --git a/dev/kernel/src/LockDelegate.cc b/dev/kernel/src/LockDelegate.cc
index d02de3e4..759fad73 100644
--- a/dev/kernel/src/LockDelegate.cc
+++ b/dev/kernel/src/LockDelegate.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/MutableArray.cc b/dev/kernel/src/MutableArray.cc
index b7aaee1c..c2e98851 100644
--- a/dev/kernel/src/MutableArray.cc
+++ b/dev/kernel/src/MutableArray.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Network/IPAddress.cc b/dev/kernel/src/Network/IPAddress.cc
index bc46292b..7834cfa8 100644
--- a/dev/kernel/src/Network/IPAddress.cc
+++ b/dev/kernel/src/Network/IPAddress.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Network/IPCAddress.cc b/dev/kernel/src/Network/IPCAddress.cc
index 4c1dd500..9af46ad1 100644
--- a/dev/kernel/src/Network/IPCAddress.cc
+++ b/dev/kernel/src/Network/IPCAddress.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Network/IPCMessage.cc b/dev/kernel/src/Network/IPCMessage.cc
index 6f8223f7..16d5ed80 100644
--- a/dev/kernel/src/Network/IPCMessage.cc
+++ b/dev/kernel/src/Network/IPCMessage.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Network/MACAddressGetter.cc b/dev/kernel/src/Network/MACAddressGetter.cc
index 736e1e27..8356cd7d 100644
--- a/dev/kernel/src/Network/MACAddressGetter.cc
+++ b/dev/kernel/src/Network/MACAddressGetter.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Network/NetworkDevice.cc b/dev/kernel/src/Network/NetworkDevice.cc
index ffdfa53b..b1ecf841 100644
--- a/dev/kernel/src/Network/NetworkDevice.cc
+++ b/dev/kernel/src/Network/NetworkDevice.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/New+Delete.cc b/dev/kernel/src/New+Delete.cc
index da705f26..aab963aa 100644
--- a/dev/kernel/src/New+Delete.cc
+++ b/dev/kernel/src/New+Delete.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/OwnPtr.cc b/dev/kernel/src/OwnPtr.cc
index c716c2f4..f07c9393 100644
--- a/dev/kernel/src/OwnPtr.cc
+++ b/dev/kernel/src/OwnPtr.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/PE32CodeMgr.cc b/dev/kernel/src/PE32CodeMgr.cc
new file mode 100644
index 00000000..ec8c6e1b
--- /dev/null
+++ b/dev/kernel/src/PE32CodeMgr.cc
@@ -0,0 +1,258 @@
+/* -------------------------------------------
+
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
+
+------------------------------------------- */
+
+#include <CFKit/Utils.h>
+#include <KernelKit/DebugOutput.h>
+#include <KernelKit/HeapMgr.h>
+#include <KernelKit/PE32CodeMgr.h>
+#include <KernelKit/ProcessScheduler.h>
+#include <NeKit/Defines.h>
+#include <NeKit/KString.h>
+#include <NeKit/OwnPtr.h>
+#include <NeKit/KernelPanic.h>
+
+namespace Kernel {
+namespace Detail {
+ /***********************************************************************************/
+ /// @brief Get the PE32+ platform signature according to the compiled architecture.
+ /***********************************************************************************/
+
+ UInt32 ldr_get_platform_pe(void) noexcept {
+#if defined(__NE_AMD64__)
+ return kPEPlatformAMD64;
+#elif defined(__NE_ARM64__)
+ return kPEPlatformARM64;
+#else
+ return kPEPlatformInvalid;
+#endif // __32x0__ || __64x0__ || __x86_64__
+ }
+} // namespace Detail
+
+/***********************************************************************************/
+/// @brief PE32+ loader constructor w/ blob.
+/// @param blob file blob.
+/***********************************************************************************/
+
+PE32Loader::PE32Loader(const VoidPtr blob) : fCachedBlob(blob) {
+ MUST_PASS(fCachedBlob);
+ fBad = false;
+}
+
+/***********************************************************************************/
+/// @brief PE32+ loader constructor.
+/// @param path the filesystem path.
+/***********************************************************************************/
+
+PE32Loader::PE32Loader(const Char* path) : fCachedBlob(nullptr), fBad(false) {
+ fFile.New(const_cast<Char*>(path), kRestrictRB);
+ fPath = KStringBuilder::Construct(path).Leak();
+
+ auto kPefHeader = "PE32_BLOB";
+ fCachedBlob = fFile->Read(kPefHeader, 0);
+
+ if (!fCachedBlob) fBad = YES;
+}
+
+/***********************************************************************************/
+/// @brief PE32+ destructor.
+/***********************************************************************************/
+
+PE32Loader::~PE32Loader() {
+ if (fCachedBlob) mm_free_ptr(fCachedBlob);
+
+ fFile.Delete();
+}
+
+/***********************************************************************************/
+/// @brief Finds the section according to its name.
+/// @param name name of section.
+/***********************************************************************************/
+
+ErrorOr<VoidPtr> PE32Loader::FindSectionByName(const Char* name) {
+ if (!fCachedBlob || fBad || !name) return ErrorOr<VoidPtr>{kErrorInvalidData};
+
+ LDR_EXEC_HEADER_PTR header_ptr = CF::ldr_find_exec_header((const Char*) fCachedBlob);
+ LDR_OPTIONAL_HEADER_PTR opt_header_ptr = CF::ldr_find_opt_exec_header((const Char*) fCachedBlob);
+
+ if (!header_ptr || !opt_header_ptr) return ErrorOr<VoidPtr>{kErrorInvalidData};
+
+#ifdef __NE_AMD64__
+ if (header_ptr->Machine != kPeMachineAMD64 || header_ptr->Signature != kPeSignature) {
+ return ErrorOr<VoidPtr>{kErrorInvalidData};
+ }
+
+#elif defined(__NE_ARM64__)
+ if (header_ptr->Machine != kPeMachineARM64 || header_ptr->Signature != kPeSignature) {
+ return ErrorOr<VoidPtr>{kErrorInvalidData};
+ }
+#endif // __NE_AMD64__ || __NE_ARM64__
+
+ if (header_ptr->NumberOfSections < 1) {
+ return ErrorOr<VoidPtr>{kErrorInvalidData};
+ }
+
+ LDR_SECTION_HEADER_PTR secs =
+ (LDR_SECTION_HEADER_PTR) (((Char*) opt_header_ptr) + header_ptr->SizeOfOptionalHeader);
+
+ for (SizeT sectIndex = 0; sectIndex < header_ptr->NumberOfSections; ++sectIndex) {
+ LDR_SECTION_HEADER_PTR sect = &secs[sectIndex];
+
+ if (KStringBuilder::Equals(name, sect->Name)) {
+ return ErrorOr<VoidPtr>(sect);
+ }
+ }
+
+ return ErrorOr<VoidPtr>{kErrorInvalidData};
+}
+
+/***********************************************************************************/
+/// @brief Finds the symbol according to it's name.
+/// @param name name of symbol.
+/// @param kind kind of symbol we want.
+/***********************************************************************************/
+
+ErrorOr<VoidPtr> PE32Loader::FindSymbol(const Char* name, Int32 kind) {
+ if (!name || *name == 0) return ErrorOr<VoidPtr>{kErrorInvalidData};
+
+ auto section_name = "\0";
+
+ switch (kind) {
+ case kPETypeData:
+ section_name = ".data";
+ break;
+ case kPETypeBSS:
+ section_name = ".bss";
+ break;
+ case kPETypeText:
+ section_name = ".text";
+ break;
+ default:
+ return ErrorOr<VoidPtr>{kErrorInvalidData};
+ }
+
+ auto sec = this->FindSectionByName(section_name);
+ LDR_SECTION_HEADER_PTR* sec_ptr = (LDR_SECTION_HEADER_PTR*) sec.Leak().Leak();
+
+ if (!sec_ptr || !*sec_ptr) return ErrorOr<VoidPtr>{kErrorInvalidData};
+
+ LDR_OPTIONAL_HEADER_PTR opt_header_ptr = CF::ldr_find_opt_exec_header((const Char*) fCachedBlob);
+
+ if (opt_header_ptr) {
+ LDR_DATA_DIRECTORY_PTR data_dirs =
+ (LDR_DATA_DIRECTORY_PTR) ((UInt8*) opt_header_ptr + sizeof(LDR_OPTIONAL_HEADER));
+
+ LDR_DATA_DIRECTORY_PTR export_dir_entry = &data_dirs[0];
+
+ if (export_dir_entry->VirtualAddress == 0 || export_dir_entry->Size == 0)
+ return ErrorOr<VoidPtr>{kErrorInvalidData};
+
+ LDR_EXPORT_DIRECTORY* export_dir =
+ (LDR_EXPORT_DIRECTORY*) ((UIntPtr) fCachedBlob + export_dir_entry->VirtualAddress);
+
+ UInt32* name_table = (UInt32*) ((UIntPtr) fCachedBlob + export_dir->AddressOfNames);
+ UInt16* ordinal_table = (UInt16*) ((UIntPtr) fCachedBlob + export_dir->AddressOfNameOrdinal);
+ UInt32* function_table = (UInt32*) ((UIntPtr) fCachedBlob + export_dir->AddressOfFunctions);
+
+ for (UInt32 i = 0; i < export_dir->NumberOfNames; ++i) {
+ const char* exported_name = (const char*) ((UIntPtr) fCachedBlob + name_table[i]);
+
+ if (KStringBuilder::Equals(exported_name, name)) {
+ UInt16 ordinal = ordinal_table[i];
+ UInt32 rva = function_table[ordinal];
+
+ VoidPtr symbol_addr = (VoidPtr) ((UIntPtr) fCachedBlob + rva);
+
+ return ErrorOr<VoidPtr>{symbol_addr};
+ }
+ }
+ }
+
+ return ErrorOr<VoidPtr>{kErrorInvalidData};
+}
+
+/// @brief Finds the executable entrypoint.
+/// @return
+ErrorOr<VoidPtr> PE32Loader::FindStart() {
+ if (auto sym = this->FindSymbol(kPeImageStart, 0); sym) return sym;
+
+ return ErrorOr<VoidPtr>(kErrorExecutable);
+}
+
+/// @brief Tells if the executable is loaded or not.
+/// @return Whether it's not bad and is cached.
+bool PE32Loader::IsLoaded() noexcept {
+ return !fBad && fCachedBlob;
+}
+
+const Char* PE32Loader::Path() {
+ return fPath.Leak().CData();
+}
+
+const Char* PE32Loader::AsString() {
+#ifdef __32x0__
+ return "32x0 PE";
+#elif defined(__64x0__)
+ return "64x0 PE";
+#elif defined(__x86_64__)
+ return "x86_64 PE";
+#elif defined(__aarch64__)
+ return "AARCH64 PE";
+#elif defined(__powerpc64__)
+ return "POWER64 PE";
+#else
+ return "???? PE";
+#endif // __32x0__ || __64x0__ || __x86_64__ || __powerpc64__
+}
+
+const Char* PE32Loader::MIME() {
+ return kPeApplicationMime;
+}
+
+ErrorOr<VoidPtr> PE32Loader::GetBlob() {
+ return ErrorOr<VoidPtr>{this->fCachedBlob};
+}
+
+namespace Utils {
+ ProcessID rtl_create_user_process(PE32Loader& exec, const Int32& process_kind) noexcept {
+ auto errOrStart = exec.FindStart();
+
+ if (errOrStart.Error() != kErrorSuccess) return kSchedInvalidPID;
+
+ auto symname = exec.FindSymbol(kPeImageStart, 0);
+
+ if (!symname) {
+ symname = ErrorOr<VoidPtr>{(VoidPtr) rt_alloc_string("USER_PROCESS_PE32+")};
+ }
+
+ auto id =
+ UserProcessScheduler::The().Spawn(reinterpret_cast<const Char*>(symname.Leak().Leak()),
+ errOrStart.Leak().Leak(), exec.GetBlob().Leak().Leak());
+
+ mm_free_ptr(symname.Leak().Leak());
+
+ if (id != kSchedInvalidPID) {
+ auto stacksym = exec.FindSymbol(kPeStackSizeSymbol, 0);
+
+ if (!stacksym) {
+ stacksym = ErrorOr<VoidPtr>{(VoidPtr) new UIntPtr(kSchedMaxStackSz)};
+ }
+
+ if ((*(volatile UIntPtr*) stacksym.Leak().Leak()) > kSchedMaxStackSz) {
+ *(volatile UIntPtr*) stacksym.Leak().Leak() = kSchedMaxStackSz;
+ }
+
+ UserProcessScheduler::The().TheCurrentTeam().AsArray()[id].Kind = process_kind;
+ UserProcessScheduler::The().TheCurrentTeam().AsArray()[id].StackSize =
+ *(UIntPtr*) stacksym.Leak().Leak();
+
+ mm_free_ptr(stacksym.Leak().Leak());
+ stacksym.Leak().Leak() = nullptr;
+ }
+
+ return id;
+ }
+} // namespace Utils
+} // namespace NeKernel \ No newline at end of file
diff --git a/dev/kernel/src/PEFCodeMgr.cc b/dev/kernel/src/PEFCodeMgr.cc
index a0d0a6af..3175d815 100644
--- a/dev/kernel/src/PEFCodeMgr.cc
+++ b/dev/kernel/src/PEFCodeMgr.cc
@@ -1,7 +1,7 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
- Copyright (C) 2025, Amlal El Mahrouss & NeKernel contributors, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
+ Copyright (C) 2025, Amlal El Mahrouss & NeKernel contributors, licensed under the Apache 2.0 license.
------------------------------------------- */
@@ -192,7 +192,7 @@ ErrorOr<VoidPtr> PEFLoader::FindSymbol(const Char* name, Int32 kind) {
Char* unconst_symbol = const_cast<Char*>(name);
for (SizeT i = 0UL; i < rt_string_len(unconst_symbol, kPefNameLen); ++i) {
- if (unconst_symbol[i] == ' ') {
+ if (rt_is_space(unconst_symbol[i])) {
unconst_symbol[i] = kMangleCharacter;
}
}
@@ -301,7 +301,7 @@ namespace Utils {
auto symname = exec.FindSymbol(kPefNameSymbol, kPefData);
if (!symname) {
- symname = ErrorOr<VoidPtr>{(VoidPtr) rt_alloc_string("USER_PROCESS")};
+ symname = ErrorOr<VoidPtr>{(VoidPtr) rt_alloc_string("USER_PROCESS_PEF")};
}
ProcessID id =
diff --git a/dev/kernel/src/PRDT.cc b/dev/kernel/src/PRDT.cc
index 0c84fd29..8feb96dc 100644
--- a/dev/kernel/src/PRDT.cc
+++ b/dev/kernel/src/PRDT.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/PageMgr.cc b/dev/kernel/src/PageMgr.cc
index 2aa2a79c..ffc88bca 100644
--- a/dev/kernel/src/PageMgr.cc
+++ b/dev/kernel/src/PageMgr.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Pmm.cc b/dev/kernel/src/Pmm.cc
index 7f5050f9..ac0c629b 100644
--- a/dev/kernel/src/Pmm.cc
+++ b/dev/kernel/src/Pmm.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Property.cc b/dev/kernel/src/Property.cc
index 714fb2a4..87ffec18 100644
--- a/dev/kernel/src/Property.cc
+++ b/dev/kernel/src/Property.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Ref.cc b/dev/kernel/src/Ref.cc
index db584d9c..ff66e882 100644
--- a/dev/kernel/src/Ref.cc
+++ b/dev/kernel/src/Ref.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Semaphore.cc b/dev/kernel/src/Semaphore.cc
index acbbb57f..52965ceb 100644
--- a/dev/kernel/src/Semaphore.cc
+++ b/dev/kernel/src/Semaphore.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/SoftwareTimer.cc b/dev/kernel/src/SoftwareTimer.cc
index 52087931..66a4c94f 100644
--- a/dev/kernel/src/SoftwareTimer.cc
+++ b/dev/kernel/src/SoftwareTimer.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Storage/AHCIDeviceInterface.cc b/dev/kernel/src/Storage/AHCIDeviceInterface.cc
index 6dcfed69..e392bca3 100644
--- a/dev/kernel/src/Storage/AHCIDeviceInterface.cc
+++ b/dev/kernel/src/Storage/AHCIDeviceInterface.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Storage/ATADeviceInterface.cc b/dev/kernel/src/Storage/ATADeviceInterface.cc
index 70d6e9ae..faf5bcad 100644
--- a/dev/kernel/src/Storage/ATADeviceInterface.cc
+++ b/dev/kernel/src/Storage/ATADeviceInterface.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Storage/NVMEDeviceInterface.cc b/dev/kernel/src/Storage/NVMEDeviceInterface.cc
index 0b8043b7..ead294f9 100644
--- a/dev/kernel/src/Storage/NVMEDeviceInterface.cc
+++ b/dev/kernel/src/Storage/NVMEDeviceInterface.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Storage/SCSIDeviceInterface.cc b/dev/kernel/src/Storage/SCSIDeviceInterface.cc
index 6f26f486..d223ca9c 100644
--- a/dev/kernel/src/Storage/SCSIDeviceInterface.cc
+++ b/dev/kernel/src/Storage/SCSIDeviceInterface.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Stream.cc b/dev/kernel/src/Stream.cc
index e05f6e6d..e9b66c8c 100644
--- a/dev/kernel/src/Stream.cc
+++ b/dev/kernel/src/Stream.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
File: Stream.cc
Purpose: Stream object
diff --git a/dev/kernel/src/Swap/DiskSwap.cc b/dev/kernel/src/Swap/DiskSwap.cc
index 99efb2c0..ce265102 100644
--- a/dev/kernel/src/Swap/DiskSwap.cc
+++ b/dev/kernel/src/Swap/DiskSwap.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025 Amlal El Mahrouss , all rights reserved.
+ Copyright (C) 2024-2025 Amlal El Mahrouss , licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/ThreadLocalStorage.cc b/dev/kernel/src/ThreadLocalStorage.cc
index f54eeaab..fa445d84 100644
--- a/dev/kernel/src/ThreadLocalStorage.cc
+++ b/dev/kernel/src/ThreadLocalStorage.cc
@@ -2,7 +2,7 @@
* ========================================================
*
* NeKernel
- * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
*
* ========================================================
*/
diff --git a/dev/kernel/src/Timer.cc b/dev/kernel/src/Timer.cc
index 6539f1a9..45b0d929 100644
--- a/dev/kernel/src/Timer.cc
+++ b/dev/kernel/src/Timer.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/UserMgr.cc b/dev/kernel/src/UserMgr.cc
index 5ee2aa33..103e8ec9 100644
--- a/dev/kernel/src/UserMgr.cc
+++ b/dev/kernel/src/UserMgr.cc
@@ -2,7 +2,7 @@
* ========================================================
*
* NeKernel
- * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
*
* File: UserMgr.cc
* Purpose: User Manager, used to provide authentication and security.
@@ -89,14 +89,11 @@ Bool User::Save(const UserPublicKey password) noexcept {
Bool User::Login(const UserPublicKey password) noexcept {
if (!password || !*password) return No;
- // now check if the password matches.
- if (this->mUserFNV == Detail::user_fnv_generator(password, this)) {
- kout << "User::Login: Password matches.\r";
- return Yes;
- }
+ auto ret = this->mUserFNV == Detail::user_fnv_generator(password, this);
- kout << "User::Login: Password doesn't match.\r";
- return No;
+ // now check if the password matches.
+ kout << (ret ? "User::Login: Password matches.\r" : "User::Login: Password doesn't match.\r");
+ return ret;
}
Bool User::operator==(const User& lhs) {
diff --git a/dev/kernel/src/UserProcessScheduler.cc b/dev/kernel/src/UserProcessScheduler.cc
index ac25c3d8..aafa71f6 100644
--- a/dev/kernel/src/UserProcessScheduler.cc
+++ b/dev/kernel/src/UserProcessScheduler.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
FILE: UserProcessScheduler.cc
PURPOSE: Low-Privilege/Ring-3 process scheduler.
@@ -678,11 +678,13 @@ UserProcessScheduler::operator bool() {
/// @brief this checks if no process is on the team.
////////////////////////////////////////////////////////////
Bool UserProcessScheduler::operator!() {
+ SInt64 cnt = 0UL;
+
for (auto process_index = 0UL; process_index < mTeam.AsArray().Count(); ++process_index) {
auto& process = mTeam.AsArray()[process_index];
- if (UserProcessHelper::CanBeScheduled(process)) return false;
+ if (UserProcessHelper::CanBeScheduled(process)) ++cnt;
}
- return true;
+ return cnt == 0L;
}
} // namespace Kernel
diff --git a/dev/kernel/src/UserProcessTeam.cc b/dev/kernel/src/UserProcessTeam.cc
index 23536242..ba675209 100644
--- a/dev/kernel/src/UserProcessTeam.cc
+++ b/dev/kernel/src/UserProcessTeam.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/UtfUtils.cc b/dev/kernel/src/UtfUtils.cc
index d0523b96..df634735 100644
--- a/dev/kernel/src/UtfUtils.cc
+++ b/dev/kernel/src/UtfUtils.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/Variant.cc b/dev/kernel/src/Variant.cc
index 51e5f5b8..b1cc5485 100644
--- a/dev/kernel/src/Variant.cc
+++ b/dev/kernel/src/Variant.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */
diff --git a/dev/kernel/src/ZXD.cc b/dev/kernel/src/ZXD.cc
index 8ca6bbf7..7cbeac8b 100644
--- a/dev/kernel/src/ZXD.cc
+++ b/dev/kernel/src/ZXD.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
------------------------------------------- */