diff options
Diffstat (limited to 'dev/boot')
| -rw-r--r-- | dev/boot/BootKit/BootKit.h | 10 | ||||
| -rw-r--r-- | dev/boot/BootKit/BootThread.h | 4 | ||||
| -rw-r--r-- | dev/boot/BootKit/Device.h | 2 | ||||
| -rw-r--r-- | dev/boot/BootKit/HW/ATA.h | 2 | ||||
| -rw-r--r-- | dev/boot/BootKit/HW/SATA.h | 10 | ||||
| -rw-r--r-- | dev/boot/BootKit/Qr.h | 4 | ||||
| -rw-r--r-- | dev/boot/amd64-desktop.make | 5 | ||||
| -rw-r--r-- | dev/boot/arm64-mobile.make | 113 | ||||
| -rw-r--r-- | dev/boot/modules/BootNet/BootNet.cc | 2 | ||||
| -rw-r--r-- | dev/boot/modules/BootNet/BootNet.h | 20 | ||||
| -rw-r--r-- | dev/boot/modules/SysChk/SysChk.cc | 2 | ||||
| -rw-r--r-- | dev/boot/obj/.gitkeep | 0 | ||||
| -rw-r--r-- | dev/boot/src/BootString.cc | 14 | ||||
| -rw-r--r-- | dev/boot/src/HEL/AMD64/BootATA.cc | 4 | ||||
| -rw-r--r-- | dev/boot/src/HEL/AMD64/BootPlatform.cc | 2 |
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__ |
