diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-24 03:02:43 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-24 03:02:43 +0100 |
| commit | 83d870e58457a1d335a1d9b9966a6a1887cc297b (patch) | |
| tree | 72888f88c7728c82f3f6df1f4f70591de15eab36 /dev/boot/modules | |
| parent | ab37adbacf0f33845804c788b39680cd754752a8 (diff) | |
feat! breaking changes on kernel sources.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/boot/modules')
| -rw-r--r-- | dev/boot/modules/.keep | 0 | ||||
| -rw-r--r-- | dev/boot/modules/BootNet/.hgkeep | 0 | ||||
| -rw-r--r-- | dev/boot/modules/BootNet/BootNet.cc | 121 | ||||
| -rw-r--r-- | dev/boot/modules/BootNet/BootNet.h | 12 | ||||
| -rw-r--r-- | dev/boot/modules/BootNet/BootNetStartup.S | 24 | ||||
| -rw-r--r-- | dev/boot/modules/BootNet/amd64.json | 23 | ||||
| -rw-r--r-- | dev/boot/modules/SysChk/.hgkeep | 0 | ||||
| -rw-r--r-- | dev/boot/modules/SysChk/SysChk.cc | 41 | ||||
| -rw-r--r-- | dev/boot/modules/SysChk/SysChkStartup.S | 24 | ||||
| -rw-r--r-- | dev/boot/modules/SysChk/amd64-ahci-epm.json | 42 | ||||
| -rw-r--r-- | dev/boot/modules/SysChk/amd64-ahci-gpt.json | 40 | ||||
| -rw-r--r-- | dev/boot/modules/SysChk/amd64-pio-epm.json | 41 | ||||
| -rw-r--r-- | dev/boot/modules/SysChk/amd64-pio-gpt.json | 41 | ||||
| -rw-r--r-- | dev/boot/modules/SysChk/arm64.json | 26 |
14 files changed, 0 insertions, 435 deletions
diff --git a/dev/boot/modules/.keep b/dev/boot/modules/.keep deleted file mode 100644 index e69de29b..00000000 --- a/dev/boot/modules/.keep +++ /dev/null diff --git a/dev/boot/modules/BootNet/.hgkeep b/dev/boot/modules/BootNet/.hgkeep deleted file mode 100644 index e69de29b..00000000 --- a/dev/boot/modules/BootNet/.hgkeep +++ /dev/null diff --git a/dev/boot/modules/BootNet/BootNet.cc b/dev/boot/modules/BootNet/BootNet.cc deleted file mode 100644 index 20d1a6c9..00000000 --- a/dev/boot/modules/BootNet/BootNet.cc +++ /dev/null @@ -1,121 +0,0 @@ -/* - * ======================================================== - * - * BootNet - * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license. - * - * ======================================================== - */ - -#include <BootKit/BootKit.h> -#include <BootKit/BootThread.h> -#include <FirmwareKit/EFI/API.h> -#include <modules/BootNet/BootNet.h> - -STATIC EFI_GUID kEfiSimpleProtoGUID = EFI_SIMPLE_NETWORK_PROTOCOL_GUID; -STATIC EFI_SIMPLE_NETWORK_PROTOCOL* kEfiProtocol = nullptr; - -STATIC Void bootnet_read_ip_packet(BOOTNET_INTERNET_HEADER inet, - BOOTNET_INTERNET_HEADER** inet_out); - -EXTERN_C Int32 BootNetModuleMain(Kernel::HEL::BootInfoHeader* handover) { - fw_init_efi((EfiSystemTable*) handover->f_FirmwareCustomTables[Kernel::HEL::kHandoverTableST]); - - Boot::BootTextWriter writer; - - writer.Write("BootNet: Init BootNet...\r"); - - if (BS->LocateProtocol(&kEfiSimpleProtoGUID, nullptr, (VoidPtr*) &kEfiProtocol) != kEfiOk) { - writer.Write("BootNet: Not supported by firmware.\r"); - return kEfiFail; - } - - BOOTNET_INTERNET_HEADER inet{}; - BOOTNET_INTERNET_HEADER* inet_out = nullptr; - - SetMem(&inet, 0, sizeof(BOOTNET_INTERNET_HEADER)); - - writer.Write("BootNet: Downloading kernel...\r"); - - bootnet_read_ip_packet(inet, &inet_out); - - if (inet_out->Length < 1) { - writer.Write("BootNet: No executable attached to the packet, aborting.\r"); - return kEfiFail; - } - - if (inet_out->Version != kBootNetVersion) { - writer.Write("BootNet: The version clashes, not good.\r"); - return kEfiFail; - } - - if (!inet_out->ImpliesProgram) { - Boot::BootThread thread(inet_out->Data); - - if (thread.IsValid()) { - writer.Write("BootNet: Running NeKernel...\r"); - return thread.Start(handover, YES); - } - - return kEfiFail; - } else { - constexpr auto kROMSize = 0x200; - - if (inet_out->Length > kROMSize) { - writer.Write("BootNet: Not within 512K, won't flash EEPROM.\r"); - return kEfiFail; - } - - writer.Write("BootNet: Programming the flash...\r"); - - /// TODO: Program new firmware to EEPROM (if crc and size matches) - - const ATTRIBUTE(unused) UIntPtr kEEPROMStartAddress = 0; - const ATTRIBUTE(unused) UInt16 kEEPROMSize = inet_out->Length; - - return kEfiFail; - } - - return kEfiFail; -} - -STATIC Void bootnet_read_ip_packet(BOOTNET_INTERNET_HEADER inet, - BOOTNET_INTERNET_HEADER** inet_out) { - NE_UNUSED(inet); - - kEfiProtocol->Start(kEfiProtocol); - - UInt32 size_inet = sizeof(inet); - - /// Connect to the local BootNet server. - - /// And receive the handshake packet. - if (kEfiProtocol->Receive(kEfiProtocol, &size_inet, (UInt32*) &inet.Length, (VoidPtr) &inet, - nullptr, nullptr, nullptr) == kEfiOk) { - BOOTNET_INTERNET_HEADER* out = nullptr; - - BS->AllocatePool(EfiLoaderData, sizeof(BOOTNET_INTERNET_HEADER) + inet.Length, (VoidPtr*) &out); - - if (out == nullptr) { - kEfiProtocol->Stop(kEfiProtocol); - kEfiProtocol->Shutdown(kEfiProtocol); - return; - } - - SetMem(out, 0, sizeof(BOOTNET_INTERNET_HEADER)); - SetMem(out->Data, 0, inet.Length); - - size_inet = sizeof(BOOTNET_INTERNET_HEADER); - - auto full_size = size_inet + inet.Length; - - /// Ask for it again since we know the full_size variable now. - kEfiProtocol->Receive(kEfiProtocol, &size_inet, (UInt32*) &full_size, (VoidPtr) out, nullptr, - nullptr, nullptr); - - *inet_out = out; - } - - kEfiProtocol->Stop(kEfiProtocol); - kEfiProtocol->Shutdown(kEfiProtocol); -}
\ No newline at end of file diff --git a/dev/boot/modules/BootNet/BootNet.h b/dev/boot/modules/BootNet/BootNet.h deleted file mode 100644 index 9fe1a186..00000000 --- a/dev/boot/modules/BootNet/BootNet.h +++ /dev/null @@ -1,12 +0,0 @@ -/* - * ======================================================== - * - * BootNet - * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license. - * - * ======================================================== - */ - -#pragma once - -#include <FirmwareKit/NeBoot/BootNet.h> diff --git a/dev/boot/modules/BootNet/BootNetStartup.S b/dev/boot/modules/BootNet/BootNetStartup.S deleted file mode 100644 index a5832ee6..00000000 --- a/dev/boot/modules/BootNet/BootNetStartup.S +++ /dev/null @@ -1,24 +0,0 @@ -;; /* -;; * ======================================================== -;; * -;; * BootZ -;; * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license. -;; * -;; * ======================================================== -;; */ - -#ifdef __NE_AMD64__ -.code64 -.intel_syntax noprefix -#endif - -#define kTypeDriver 101 -#define kArchAmd64 122 -#define kHandoverMagic 0xBADCC - -.section .ldr - -.quad kHandoverMagic -.word kTypeDriver -.word 0 -.word kArchAmd64
\ No newline at end of file diff --git a/dev/boot/modules/BootNet/amd64.json b/dev/boot/modules/BootNet/amd64.json deleted file mode 100644 index 3d58cbc1..00000000 --- a/dev/boot/modules/BootNet/amd64.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compiler_path": "x86_64-w64-mingw32-g++", - "compiler_std": "c++20", - "headers_path": ["../", "../../", "../../../kernel", "../../../", "./"], - "sources_path": ["*.cc", "*.S", "../../src/HEL/AMD64/*.cc", "../../src/HEL/AMD64/*.S", "../../src/*.cc"], - "output_name": "net.efi", - "compiler_flags": [ - "-nostdlib", - "-std=c++20", - "-fno-rtti", - "-fno-exceptions", - "-Wl,--subsystem=17,--image-base,0x10000000,-e,BootNetModuleMain" - ], - "cpp_macros": [ - "__NEOSKRNL__", - "__BOOTZ__", - "__BOOTZ_STANDALONE__", - "__NE_AMD64__", - "kBootNetVersionHighest=0x0100", - "kBootNetVersionLowest=0x0100", - "kBootNetEFIVersion=0x0100" - ] -} diff --git a/dev/boot/modules/SysChk/.hgkeep b/dev/boot/modules/SysChk/.hgkeep deleted file mode 100644 index e69de29b..00000000 --- a/dev/boot/modules/SysChk/.hgkeep +++ /dev/null diff --git a/dev/boot/modules/SysChk/SysChk.cc b/dev/boot/modules/SysChk/SysChk.cc deleted file mode 100644 index 0706d457..00000000 --- a/dev/boot/modules/SysChk/SysChk.cc +++ /dev/null @@ -1,41 +0,0 @@ -/* - * ======================================================== - * - * SysChk - * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license. - * - * ======================================================== - */ - -#include <BootKit/BootKit.h> -#include <BootKit/BootThread.h> -#include <BootKit/HW/SATA.h> -#include <FirmwareKit/EFI.h> -#include <FirmwareKit/EFI/API.h> -#include <FirmwareKit/Handover.h> -#include <KernelKit/MSDOS.h> -#include <KernelKit/PE.h> -#include <KernelKit/PEF.h> -#include <NeKit/Macros.h> -#include <NeKit/Ref.h> -#include <modules/CoreGfx/CoreGfx.h> -#include <modules/CoreGfx/TextGfx.h> - -// Makes the compiler shut up. -#ifndef kMachineModel -#define kMachineModel "OS" -#endif // !kMachineModel - -EXTERN_C Int32 SysChkModuleMain(Kernel::HEL::BootInfoHeader* handover) { - fw_init_efi((EfiSystemTable*) handover->f_FirmwareCustomTables[Kernel::HEL::kHandoverTableST]); - -#if defined(__ATA_PIO__) - Boot::BDiskFormatFactory<BootDeviceATA> partition_factory; -#elif defined(__AHCI__) - Boot::BDiskFormatFactory<BootDeviceSATA> partition_factory; -#endif - - if (partition_factory.IsPartitionValid()) return kEfiOk; - - return partition_factory.Format(kMachineModel); -} diff --git a/dev/boot/modules/SysChk/SysChkStartup.S b/dev/boot/modules/SysChk/SysChkStartup.S deleted file mode 100644 index a5832ee6..00000000 --- a/dev/boot/modules/SysChk/SysChkStartup.S +++ /dev/null @@ -1,24 +0,0 @@ -;; /* -;; * ======================================================== -;; * -;; * BootZ -;; * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license. -;; * -;; * ======================================================== -;; */ - -#ifdef __NE_AMD64__ -.code64 -.intel_syntax noprefix -#endif - -#define kTypeDriver 101 -#define kArchAmd64 122 -#define kHandoverMagic 0xBADCC - -.section .ldr - -.quad kHandoverMagic -.word kTypeDriver -.word 0 -.word kArchAmd64
\ No newline at end of file diff --git a/dev/boot/modules/SysChk/amd64-ahci-epm.json b/dev/boot/modules/SysChk/amd64-ahci-epm.json deleted file mode 100644 index 8ce9bfd8..00000000 --- a/dev/boot/modules/SysChk/amd64-ahci-epm.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "compiler_path": "x86_64-w64-mingw32-g++", - "compiler_std": "c++20", - "headers_path": ["../", "../../", "../../../kernel", "../../../", "./"], - "sources_path": [ - "*.cc", - "*.S", - "../../src/HEL/AMD64/BootSATA.cc", - "../../src/HEL/AMD64/BootPlatform.cc", - "../../src/HEL/AMD64/BootAPI.S", - "../../src/BootTextWriter.cc", - "../../src/BootSupport.cc", - "../../src/New+Delete.cc", - "../../../kernel/HALKit/AMD64/PCI/*.cc", - "../../../kernel/HALKit/AMD64/Storage/*.cc", - "../../../kernel/src/Storage/*.cc", - "../../../kernel/src/Network/*.cc", - "../../../kernel/HALKit/AMD64/*.cc", - "../../../kernel/HALKit/AMD64/*.s", - "../../../kernel/src/*.cc" - ], - "output_name": "chk.efi", - "compiler_flags": [ - "-nostdlib", - "-std=c++20", - "-fno-rtti", - "-fno-exceptions", - "-Wl,--subsystem=17,--image-base,0x10000000,-e,SysChkModuleMain" - ], - "cpp_macros": [ - "__NEOSKRNL__", - "__NE_AMD64__", - "__AHCI__", - "__SYSCHK__", - "BOOTZ_EPM_SUPPORT", - "__NE_VEPM__", - "__NE_MODULAR_KERNEL_COMPONENTS__", - "kChkVersionHighest=0x0100", - "kChkVersionLowest=0x0100", - "kChkVersion=0x0100" - ] -} diff --git a/dev/boot/modules/SysChk/amd64-ahci-gpt.json b/dev/boot/modules/SysChk/amd64-ahci-gpt.json deleted file mode 100644 index 80bb433e..00000000 --- a/dev/boot/modules/SysChk/amd64-ahci-gpt.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "compiler_path": "x86_64-w64-mingw32-g++", - "compiler_std": "c++20", - "headers_path": ["../", "../../", "../../../kernel", "../../../", "./"], - "sources_path": [ - "*.cc", - "*.S", - "../../src/HEL/AMD64/BootSATA.cc", - "../../src/HEL/AMD64/BootPlatform.cc", - "../../src/HEL/AMD64/BootAPI.S", - "../../src/BootTextWriter.cc", - "../../src/BootSupport.cc", - "../../src/New+Delete.cc", - "../../../kernel/HALKit/AMD64/PCI/*.cc", - "../../../kernel/HALKit/AMD64/Storage/*.cc", - "../../../kernel/src/Storage/*.cc", - "../../../kernel/HALKit/AMD64/*.cc", - "../../../kernel/HALKit/AMD64/*.s", - "../../../kernel/src/*.cc" - ], - "output_name": "chk.efi", - "compiler_flags": [ - "-nostdlib", - "-std=c++20", - "-fno-rtti", - "-fno-exceptions", - "-Wl,--subsystem=17,--image-base,0x10000000,-e,SysChkModuleMain" - ], - "cpp_macros": [ - "__NEOSKRNL__", - "__NE_AMD64__", - "__AHCI__", - "__SYSCHK__", - "BOOTZ_GPT_SUPPORT", - "__NE_MODULAR_KERNEL_COMPONENTS__", - "kChkVersionHighest=0x0100", - "kChkVersionLowest=0x0100", - "kChkVersion=0x0100" - ] -} diff --git a/dev/boot/modules/SysChk/amd64-pio-epm.json b/dev/boot/modules/SysChk/amd64-pio-epm.json deleted file mode 100644 index b1b95d8d..00000000 --- a/dev/boot/modules/SysChk/amd64-pio-epm.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "compiler_path": "x86_64-w64-mingw32-g++", - "compiler_std": "c++20", - "headers_path": [ - "../", - "../../", - "../../../kernel", - "../../../", - "./" - ], - "sources_path": [ - "*.cc", - "*.S", - "../../src/HEL/AMD64/BootATA.cc", - "../../src/HEL/AMD64/BootPlatform.cc", - "../../src/HEL/AMD64/BootAPI.S", - "../../src/BootTextWriter.cc", - "../../src/BootSupport.cc", - "../../src/New+Delete.cc" - ], - "output_name": "chk.efi", - "compiler_flags": [ - "-nostdlib", - "-std=c++20", - "-fno-rtti", - "-fno-exceptions", - "-Wl,--subsystem=17,--image-base,0x10000000,-e,SysChkModuleMain" - ], - "cpp_macros": [ - "__NEOSKRNL__", - "__BOOTZ__", - "__BOOTZ_STANDALONE__", - "__NE_AMD64__", - "__ATA_PIO__", - "BOOTZ_EPM_SUPPORT", - "__NE_VEPM__", - "kChkVersionHighest=0x0100", - "kChkVersionLowest=0x0100", - "kChkVersion=0x0100" - ] -}
\ No newline at end of file diff --git a/dev/boot/modules/SysChk/amd64-pio-gpt.json b/dev/boot/modules/SysChk/amd64-pio-gpt.json deleted file mode 100644 index b1a4d38b..00000000 --- a/dev/boot/modules/SysChk/amd64-pio-gpt.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "compiler_path": "x86_64-w64-mingw32-g++", - "compiler_std": "c++20", - "headers_path": [ - "../", - "../../", - "../../../kernel", - "../../../", - "./" - ], - "sources_path": [ - "*.cc", - "*.S", - "../../src/HEL/AMD64/BootATA.cc", - "../../src/HEL/AMD64/BootPlatform.cc", - "../../src/HEL/AMD64/BootAPI.S", - "../../src/BootTextWriter.cc", - "../../src/BootSupport.cc", - "../../src/New+Delete.cc" - ], - "output_name": "chk.efi", - "compiler_flags": [ - "-nostdlib", - "-std=c++20", - "-fno-rtti", - "-fno-exceptions", - "-Wl,--subsystem=17,--image-base,0x10000000,-e,SysChkModuleMain" - ], - "cpp_macros": [ - "__NEOSKRNL__", - "__BOOTZ__", - "__BOOTZ_STANDALONE__", - "__NE_AMD64__", - "__ATA_PIO__", - "__NE_VEPM__", - "BOOTZ_GPT_SUPPORT", - "kChkVersionHighest=0x0100", - "kChkVersionLowest=0x0100", - "kChkVersion=0x0100" - ] -}
\ No newline at end of file diff --git a/dev/boot/modules/SysChk/arm64.json b/dev/boot/modules/SysChk/arm64.json deleted file mode 100644 index ad5fde6e..00000000 --- a/dev/boot/modules/SysChk/arm64.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "compiler_path": "clang++", - "compiler_std": "c++20", - "headers_path": ["../", "../../", "../../../kernel", "../../../", "./"], - "sources_path": ["*.cc", "*.S", "../../src/HEL/ARM64/*.cc", "../../src/HEL/ARM64/*.S", "../../src/*.cc"], - "output_name": "chk.efi", - "compiler_flags": [ - "-ffreestanding", - "-nostdlib", - "-std=c++20", - "-fno-rtti", - "-fno-exceptions", - "-fuse-ld=lld", - "-Wl,-subsystem:efi_application,-entry:BootloaderMain", - "-target aarch64-unknown-windows" - ], - "cpp_macros": [ - "__NEOSKRNL__", - "__BOOTZ__", - "__BOOTZ_STANDALONE__", - "__NE_ARM64__", - "kChkVersionHighest=0x0100", - "kChkVersionLowest=0x0100", - "kChkVersion=0x0100" - ] -} |
