summaryrefslogtreecommitdiffhomepage
path: root/dev/boot
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-03-28 19:57:33 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-03-28 19:57:33 +0100
commitba7b3ed69cd24970a28b72c54982735cd120e663 (patch)
tree934b7645435ab1bfd2d8eb99fa861fc09e3dd5b4 /dev/boot
parent2205e801a6e84238dc8cbbb8f9de5a675eae1d81 (diff)
kernel: breaking: Change namespace from NeOS to Kernel.
sched: Fix redundancy in NeKernel's user scheduler macros, refactored the other files using the redundant macros too. part one of a series of commit for NeKernel. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/boot')
-rw-r--r--dev/boot/BootKit/BootKit.h10
-rw-r--r--dev/boot/BootKit/BootThread.h4
-rw-r--r--dev/boot/BootKit/Device.h2
-rw-r--r--dev/boot/BootKit/HW/ATA.h2
-rw-r--r--dev/boot/BootKit/HW/SATA.h10
-rw-r--r--dev/boot/BootKit/Qr.h4
-rw-r--r--dev/boot/amd64-desktop.make5
-rw-r--r--dev/boot/arm64-mobile.make113
-rw-r--r--dev/boot/modules/BootNet/BootNet.cc2
-rw-r--r--dev/boot/modules/BootNet/BootNet.h20
-rw-r--r--dev/boot/modules/SysChk/SysChk.cc2
-rw-r--r--dev/boot/obj/.gitkeep0
-rw-r--r--dev/boot/src/BootString.cc14
-rw-r--r--dev/boot/src/HEL/AMD64/BootATA.cc4
-rw-r--r--dev/boot/src/HEL/AMD64/BootPlatform.cc2
15 files changed, 41 insertions, 153 deletions
diff --git a/dev/boot/BootKit/BootKit.h b/dev/boot/BootKit/BootKit.h
index d8c33db0..05ed9405 100644
--- a/dev/boot/BootKit/BootKit.h
+++ b/dev/boot/BootKit/BootKit.h
@@ -53,7 +53,7 @@ namespace Boot
typedef WideChar CharacterTypeUTF16;
typedef Char CharacterTypeUTF8;
- using namespace NeOS;
+ using namespace Kernel;
/**
* @brief BootKit Text Writer class
@@ -86,17 +86,17 @@ namespace Boot
BootTextWriter(const BootTextWriter&) = default;
};
- NeOS::SizeT BCopyMem(CharacterTypeUTF16* dest, CharacterTypeUTF16* src, const NeOS::SizeT len);
+ Kernel::SizeT BCopyMem(CharacterTypeUTF16* dest, CharacterTypeUTF16* src, const Kernel::SizeT len);
- NeOS::SizeT BSetMem(CharacterTypeUTF8* src, const CharacterTypeUTF8 byte, const NeOS::SizeT len);
+ Kernel::SizeT BSetMem(CharacterTypeUTF8* src, const CharacterTypeUTF8 byte, const Kernel::SizeT len);
/// String length functions.
/// @brief get string length.
- NeOS::SizeT BStrLen(const CharacterTypeUTF16* ptr);
+ Kernel::SizeT BStrLen(const CharacterTypeUTF16* ptr);
/// @brief set memory with custom value.
- NeOS::SizeT BSetMem(CharacterTypeUTF16* src, const CharacterTypeUTF16 byte, const NeOS::SizeT len);
+ Kernel::SizeT BSetMem(CharacterTypeUTF16* src, const CharacterTypeUTF16 byte, const Kernel::SizeT len);
/**
* @brief BootKit File Reader class
diff --git a/dev/boot/BootKit/BootThread.h b/dev/boot/BootKit/BootThread.h
index 6e48d190..333dad9f 100644
--- a/dev/boot/BootKit/BootThread.h
+++ b/dev/boot/BootKit/BootThread.h
@@ -12,7 +12,7 @@
namespace Boot
{
- using namespace NeOS;
+ using namespace Kernel;
class BootThread;
@@ -23,7 +23,7 @@ namespace Boot
explicit BootThread() = delete;
~BootThread() = default;
- explicit BootThread(NeOS::VoidPtr blob);
+ explicit BootThread(Kernel::VoidPtr blob);
BootThread& operator=(const BootThread&) = default;
BootThread(const BootThread&) = default;
diff --git a/dev/boot/BootKit/Device.h b/dev/boot/BootKit/Device.h
index acdaa478..8626390b 100644
--- a/dev/boot/BootKit/Device.h
+++ b/dev/boot/BootKit/Device.h
@@ -9,7 +9,7 @@
#include <modules/ATA/ATA.h>
#include <modules/AHCI/AHCI.h>
-using namespace NeOS;
+using namespace Kernel;
/// @brief Device type.
class Device
diff --git a/dev/boot/BootKit/HW/ATA.h b/dev/boot/BootKit/HW/ATA.h
index 39b66db4..ef54457b 100644
--- a/dev/boot/BootKit/HW/ATA.h
+++ b/dev/boot/BootKit/HW/ATA.h
@@ -9,7 +9,7 @@
#include <modules/ATA/ATA.h>
#include <BootKit/Device.h>
-using namespace NeOS;
+using namespace Kernel;
class BootDeviceATA final : public Device
{
diff --git a/dev/boot/BootKit/HW/SATA.h b/dev/boot/BootKit/HW/SATA.h
index 10868cd9..6ae18740 100644
--- a/dev/boot/BootKit/HW/SATA.h
+++ b/dev/boot/BootKit/HW/SATA.h
@@ -19,9 +19,9 @@ public:
struct SATATrait final
{
- NeOS::SizeT mBase{1024};
- NeOS::Boolean mErr{false};
- NeOS::Boolean mDetected{false};
+ Kernel::SizeT mBase{1024};
+ Kernel::Boolean mErr{false};
+ Kernel::Boolean mDetected{false};
operator bool()
{
@@ -34,8 +34,8 @@ public:
return this->Leak().mDetected;
}
- BootDeviceSATA& Read(NeOS::WideChar* Buf, const NeOS::SizeT& SecCount);
- BootDeviceSATA& Write(NeOS::WideChar* Buf, const NeOS::SizeT& SecCount);
+ BootDeviceSATA& Read(Kernel::WideChar* Buf, const Kernel::SizeT& SecCount);
+ BootDeviceSATA& Write(Kernel::WideChar* Buf, const Kernel::SizeT& SecCount);
SATATrait& Leak();
diff --git a/dev/boot/BootKit/Qr.h b/dev/boot/BootKit/Qr.h
index d51c9c10..760d8b7f 100644
--- a/dev/boot/BootKit/Qr.h
+++ b/dev/boot/BootKit/Qr.h
@@ -965,9 +965,9 @@ namespace qr
};
} // namespace qr
-namespace NeOS::Qr
+namespace Kernel::Qr
{
using namespace qr;
-} // namespace NeOS::Qr
+} // namespace Kernel::Qr
#endif // QR_H \ No newline at end of file
diff --git a/dev/boot/amd64-desktop.make b/dev/boot/amd64-desktop.make
index 8494a2b3..cd1190d4 100644
--- a/dev/boot/amd64-desktop.make
+++ b/dev/boot/amd64-desktop.make
@@ -21,7 +21,7 @@ EMU=qemu-system-x86_64 -net none
endif
ifeq ($(NEOS_MODEL), )
-NE_MODEL=-DkMachineModel="\"NeOS\""
+NE_MODEL=-DkMachineModel="\"Kernel\""
endif
BIOS=OVMF.fd
@@ -61,7 +61,7 @@ endif
LD_FLAGS=-e Main --subsystem=10
STANDALONE_MACRO=-D__BOOTZ_STANDALONE__
-OBJ=*.o
+OBJ=obj/*.o
REM=rm
REM_FLAG=-f
@@ -111,6 +111,7 @@ compile-amd64:
$(wildcard src/HEL/AMD64/*.cc) \
$(wildcard src/HEL/AMD64/*.S) \
$(wildcard src/*.cc)
+ mv *.o obj/
.PHONY: run-efi-amd64-ahci
run-efi-amd64-ahci:
diff --git a/dev/boot/arm64-mobile.make b/dev/boot/arm64-mobile.make
deleted file mode 100644
index 274a29cb..00000000
--- a/dev/boot/arm64-mobile.make
+++ /dev/null
@@ -1,113 +0,0 @@
-##################################################
-# (c) Amlal EL Mahrouss, all rights reserved.
-# This is the bootloader makefile.
-##################################################
-
-CC_GNU = clang++
-LD_GNU = lld-link
-
-ADD_FILE=touch
-COPY=cp
-HTTP_GET=wget
-
-# Select this for Windows.
-ifneq ($(findstring CYGWIN_NT-10.0,$(shell uname)), )
-EMU=qemu-system-aarch64w.exe
-else
-# this for NT distributions
-EMU=qemu-system-aarch64
-endif
-
-ifeq ($(NEOS_MODEL), )
-NE_MODEL=-DkMachineModel="\"NeKernel\""
-endif
-
-BIOS=OVMF.fd
-IMG=epm-master-1.img
-IMG_2=epm-slave.img
-IMG_3=epm-master-2.img
-
-EMU_FLAGS=-net none -smp 4 -m 8G -cpu max -M virt-9.1 \
- -bios $(BIOS) \
- -drive id=disk,file=$(IMG),format=raw,if=none \
- -drive \
- file=fat:rw:src/Root/,index=1,format=raw \
- -device virtio-tablet-pci \
- -no-shutdown -no-reboot -cpu cortex-a72 -device virtio-gpu-pci
-
-LD_FLAGS=-subsystem:efi_application -entry:Main /nodefaultlib
-
-STANDALONE_MACRO=-D__BOOTZ_STANDALONE__
-OBJ=*.o
-
-REM=rm
-REM_FLAG=-f
-
-FLAG_ASM=-f win64
-FLAG_GNU=-fshort-wchar -c -ffreestanding -MMD -mno-red-zone -D__NE_ARM64__ -fno-rtti -fno-exceptions -I./ \
- -target aarch64-unknown-windows \
- -std=c++20 -DBOOTZ_EPM_SUPPORT -DkExpectedWidth=320 -DkExpectedHeight=480 -D__FSKIT_USE_NEFS__ -D__BOOTZ_STANDALONE__ -D__NEOSKRNL__ -D__BOOTZ__ -D__HAVE_NE_APIS__ -D__NE__ -I../ -I../kernel
-
-BOOT_LOADER=bootz.exe
-KERNEL=neoskrnl.exe
-SYSCHK=syschk.sys
-STARTUP=startup.sys
-
-.PHONY: invalid-recipe
-invalid-recipe:
- @echo "invalid-recipe: Use make compile-<arch> instead."
-
-.PHONY: all
-all: compile
- mkdir -p src/Root/EFI/BOOT
- $(LD_GNU) $(OBJ) $(LD_FLAGS) /out:src/$(BOOT_LOADER)
- $(COPY) src/$(BOOT_LOADER) src/Root/EFI/BOOT/BOOTAA64.EFI
- $(COPY) src/$(BOOT_LOADER) src/Root/EFI/BOOT/BootZ.EFI
- $(COPY) ../kernel/$(KERNEL) src/Root/$(KERNEL)
- $(COPY) ./modules/SysChk/$(SYSCHK) src/Root/$(SYSCHK)
- $(COPY) src/$(BOOT_LOADER) src/Root/$(BOOT_LOADER)
-
-ifneq ($(DEBUG_SUPPORT), )
-DEBUG = -D__DEBUG__
-endif
-
-.PHONY: compile
-compile:
- $(RESCMD)
- $(CC_GNU) $(NE_MODEL) $(STANDALONE_MACRO) $(FLAG_GNU) $(DEBUG) \
- $(wildcard src/HEL/ARM64/*.cc) \
- $(wildcard src/HEL/ARM64/*.S) \
- $(wildcard src/*.cc)
-
-.PHONY: run
-run:
- $(EMU) $(EMU_FLAGS)
-
-# img_2 is the rescue disk. img is the bootable disk, as provided by the Zeta.
-.PHONY: epm-img
-epm-img:
- qemu-img create -f raw $(IMG) 10G
- qemu-img create -f raw $(IMG_2) 4G
- qemu-img create -f raw $(IMG_3) 4G
-
-.PHONY: efi
-efi:
- $(HTTP_GET) https://retrage.github.io/edk2-nightly/bin/DEBUGAARCH64_QEMU_EFI.fd -O OVMF.fd
-
-BINS=*.bin
-EXECUTABLES=bootz.exe neoskrnl.exe OVMF.fd
-
-TARGETS=$(REM_FLAG) $(OBJ) $(BIN) $(IMG) $(IMG_2) $(EXECUTABLES)
-
-.PHONY: clean
-clean:
- $(REM) $(TARGETS)
-
-.PHONY: help
-help:
- @echo "=== HELP ==="
- @echo "epm-img: Format a disk using the Explicit Partition Map."
- @echo "gpt-img: Format a disk using the Explicit Partition Map."
- @echo "clean: clean bootloader."
- @echo "bootloader-amd64: Build bootloader. (PC AMD64)"
- @echo "run-efi-amd64: Run bootloader. (PC AMD64)"
diff --git a/dev/boot/modules/BootNet/BootNet.cc b/dev/boot/modules/BootNet/BootNet.cc
index b4c1408f..4b7e5c30 100644
--- a/dev/boot/modules/BootNet/BootNet.cc
+++ b/dev/boot/modules/BootNet/BootNet.cc
@@ -11,7 +11,7 @@
#include <BootKit/BootKit.h>
#include <BootKit/BootThread.h>
-EXTERN_C Int32 ModuleMain(NeOS::HEL::BootInfoHeader* handover)
+EXTERN_C Int32 ModuleMain(Kernel::HEL::BootInfoHeader* handover)
{
NETBOOT_INTERNET_HEADER inet{};
diff --git a/dev/boot/modules/BootNet/BootNet.h b/dev/boot/modules/BootNet/BootNet.h
index cde30658..4f795861 100644
--- a/dev/boot/modules/BootNet/BootNet.h
+++ b/dev/boot/modules/BootNet/BootNet.h
@@ -19,15 +19,15 @@
/// @brief the internet header is used to download updates OTA.
typedef struct NETBOOT_INTERNET_HEADER
{
- NeOS::Char NB1; /// magic char 1 'N'
- NeOS::Char NB2; /// magic char 2 'E'
- NeOS::Char NB3; /// magic char 3 'T'
- NeOS::Char NB4; /// magic char 4 'B'
+ Kernel::Char NB1; /// magic char 1 'N'
+ Kernel::Char NB2; /// magic char 2 'E'
+ Kernel::Char NB3; /// magic char 3 'T'
+ Kernel::Char NB4; /// magic char 4 'B'
- NeOS::Char PatchName[kNetBootNameLen]; /// example: Modjo
- NeOS::Int32 PatchLength; /// the patch length.
- NeOS::Char PatchTarget[kNetBootNameLen]; /// the target file.
- NeOS::Boolean EEPROM : 1; /// does it imply an EEPROM reprogram?
- NeOS::Boolean Preflight : 1; /// is it a preflight packet.
- NeOS::Char PatchData[]; /// non preflight packet has a patch blob for a **PatchTarget**
+ Kernel::Char PatchName[kNetBootNameLen]; /// example: Modjo
+ Kernel::Int32 PatchLength; /// the patch length.
+ Kernel::Char PatchTarget[kNetBootNameLen]; /// the target file.
+ Kernel::Boolean EEPROM : 1; /// does it imply an EEPROM reprogram?
+ Kernel::Boolean Preflight : 1; /// is it a preflight packet.
+ Kernel::Char PatchData[]; /// non preflight packet has a patch blob for a **PatchTarget**
} ATTRIBUTE(packed) NETBOOT_INTERNET_HEADER;
diff --git a/dev/boot/modules/SysChk/SysChk.cc b/dev/boot/modules/SysChk/SysChk.cc
index e9a740bd..cea2789e 100644
--- a/dev/boot/modules/SysChk/SysChk.cc
+++ b/dev/boot/modules/SysChk/SysChk.cc
@@ -21,7 +21,7 @@
#include <BootKit/BootThread.h>
#include <modules/CoreGfx/FBMgr.h>
-EXTERN_C Int32 ModuleMain(NeOS::HEL::BootInfoHeader* handover)
+EXTERN_C Int32 ModuleMain(Kernel::HEL::BootInfoHeader* handover)
{
#ifdef __NE_AMD64__
Boot::BDiskFormatFactory<BootDeviceATA> partition_factory;
diff --git a/dev/boot/obj/.gitkeep b/dev/boot/obj/.gitkeep
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/dev/boot/obj/.gitkeep
diff --git a/dev/boot/src/BootString.cc b/dev/boot/src/BootString.cc
index 194261d0..29b01682 100644
--- a/dev/boot/src/BootString.cc
+++ b/dev/boot/src/BootString.cc
@@ -19,7 +19,7 @@
/////////////////////////////////////////////////////////////////////////////////////////////////////////
-NeOS::SizeT Boot::BCopyMem(CharacterTypeUTF16* dest, CharacterTypeUTF16* src, const NeOS::SizeT len)
+Kernel::SizeT Boot::BCopyMem(CharacterTypeUTF16* dest, CharacterTypeUTF16* src, const Kernel::SizeT len)
{
if (!dest || !src)
return 0;
@@ -33,12 +33,12 @@ NeOS::SizeT Boot::BCopyMem(CharacterTypeUTF16* dest, CharacterTypeUTF16* src, co
return index;
}
-NeOS::SizeT Boot::BStrLen(const CharacterTypeUTF16* ptr)
+Kernel::SizeT Boot::BStrLen(const CharacterTypeUTF16* ptr)
{
if (!ptr)
return 0;
- NeOS::SizeT cnt = 0;
+ Kernel::SizeT cnt = 0;
while (*ptr != (CharacterTypeUTF16)0)
{
@@ -49,12 +49,12 @@ NeOS::SizeT Boot::BStrLen(const CharacterTypeUTF16* ptr)
return cnt;
}
-NeOS::SizeT Boot::BSetMem(CharacterTypeUTF16* src, const CharacterTypeUTF16 byte, const NeOS::SizeT len)
+Kernel::SizeT Boot::BSetMem(CharacterTypeUTF16* src, const CharacterTypeUTF16 byte, const Kernel::SizeT len)
{
if (!src)
return 0;
- NeOS::SizeT cnt = 0UL;
+ Kernel::SizeT cnt = 0UL;
while (*src != 0)
{
@@ -70,12 +70,12 @@ NeOS::SizeT Boot::BSetMem(CharacterTypeUTF16* src, const CharacterTypeUTF16 byte
return cnt;
}
-NeOS::SizeT Boot::BSetMem(CharacterTypeUTF8* src, const CharacterTypeUTF8 byte, const NeOS::SizeT len)
+Kernel::SizeT Boot::BSetMem(CharacterTypeUTF8* src, const CharacterTypeUTF8 byte, const Kernel::SizeT len)
{
if (!src)
return 0;
- NeOS::SizeT cnt = 0UL;
+ Kernel::SizeT cnt = 0UL;
while (*src != 0)
{
diff --git a/dev/boot/src/HEL/AMD64/BootATA.cc b/dev/boot/src/HEL/AMD64/BootATA.cc
index 5d0a0e6f..880bb0f2 100644
--- a/dev/boot/src/HEL/AMD64/BootATA.cc
+++ b/dev/boot/src/HEL/AMD64/BootATA.cc
@@ -100,7 +100,7 @@ ATAInit_Retry:
for (SizeT indexData = 0ul; indexData < kATADataLen; ++indexData)
{
- kATAData[indexData] = NeOS::HAL::rt_in16(IO + ATA_REG_DATA);
+ kATAData[indexData] = Kernel::HAL::rt_in16(IO + ATA_REG_DATA);
}
OutBus =
@@ -136,7 +136,7 @@ Void boot_ata_read(UInt64 Lba, UInt16 IO, UInt8 Master, CharacterTypeUTF8* Buf,
for (SizeT IndexOff = 0; IndexOff < Size; ++IndexOff)
{
boot_ata_wait_io(IO);
- Buf[IndexOff] = NeOS::HAL::rt_in16(IO + ATA_REG_DATA);
+ Buf[IndexOff] = Kernel::HAL::rt_in16(IO + ATA_REG_DATA);
boot_ata_wait_io(IO);
}
}
diff --git a/dev/boot/src/HEL/AMD64/BootPlatform.cc b/dev/boot/src/HEL/AMD64/BootPlatform.cc
index aab1c6b4..9a2bf4a5 100644
--- a/dev/boot/src/HEL/AMD64/BootPlatform.cc
+++ b/dev/boot/src/HEL/AMD64/BootPlatform.cc
@@ -100,7 +100,7 @@ EXTERN_C UInt32 rt_in32(UInt16 port)
void rt_hlt()
{
- NeOS::HAL::rt_halt();
+ Kernel::HAL::rt_halt();
}
#endif // __BOOTZ_STANDALONE__