diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-06-02 09:25:18 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-06-02 09:25:18 +0200 |
| commit | 39415bb759f7eb67fb393385c28c3d2e5d7f6857 (patch) | |
| tree | c818db537a0f722e7d3dee0a7770df2ef1ebe3f6 | |
| parent | c34c46598c12b04b2877aa7290dd401cc40a29e3 (diff) | |
MHR-23: Porting to ARM64 now.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
31 files changed, 79 insertions, 182 deletions
diff --git a/Boot/BootKit/BootKit.hxx b/Boot/BootKit/BootKit.hxx index 77badc23..311d6c7f 100644 --- a/Boot/BootKit/BootKit.hxx +++ b/Boot/BootKit/BootKit.hxx @@ -284,7 +284,7 @@ private: EFI::ThrowError(L"Developer-Error", L"This is caused by the developer of the bootloader."); } - writer.Write((catalogKind->Kind == kNewFSCatalogKindFile) ? L"New Boot: Write-File: " : L"New Boot: Write-Directory: ").Write(blob->fFileName).Write(L"\r"); + writer.Write((catalogKind->Kind == kNewFSCatalogKindFile) ? L"newosldr: Write-File: " : L"newosldr: Write-Directory: ").Write(blob->fFileName).Write(L"\r"); memcpy(catalogKind->Name, blob->fFileName, strlen(blob->fFileName)); @@ -360,7 +360,7 @@ inline Boolean BDiskFormatFactory<BootDev>::Format(const char* partName, fDiskDev.Write(buf, sectorSz); BTextWriter writer; - writer.Write(L"New Boot: Write-Partition: OK.\r"); + writer.Write(L"newosldr: Write-Partition: OK.\r"); return true; } diff --git a/Boot/ReadMe.md b/Boot/ReadMe.md index d5f2b89e..ce5b30cd 100644 --- a/Boot/ReadMe.md +++ b/Boot/ReadMe.md @@ -1,4 +1,4 @@ -# NewBoot +# newosldr You need: diff --git a/Boot/Sources/BootloaderRsrc.rsrc b/Boot/Sources/BootloaderRsrc.rsrc index 0282192b..857e08e4 100644 --- a/Boot/Sources/BootloaderRsrc.rsrc +++ b/Boot/Sources/BootloaderRsrc.rsrc @@ -13,10 +13,10 @@ BEGIN VALUE "CompanyName", "SoftwareLabs" VALUE "FileDescription", "New OS multi-platform bootloader." VALUE "FileVersion", BOOTLOADER_VERSION - VALUE "InternalName", "NewBoot" + VALUE "InternalName", "newosldr" VALUE "LegalCopyright", "Copyright SoftwareLabs, all rights reserved." - VALUE "OriginalFilename", "NewOSLdr.exe" - VALUE "ProductName", "NewBoot" + VALUE "OriginalFilename", "newosldr.exe" + VALUE "ProductName", "newosldr" VALUE "ProductVersion", BOOTLOADER_VERSION END END diff --git a/Boot/Sources/HEL/AMD64/BootATA.cxx b/Boot/Sources/HEL/AMD64/BootATA.cxx index c82cb2ea..d2753110 100644 --- a/Boot/Sources/HEL/AMD64/BootATA.cxx +++ b/Boot/Sources/HEL/AMD64/BootATA.cxx @@ -81,7 +81,7 @@ ATAInit_Retry: if (statRdy & ATA_SR_ERR) { writer.Write( - L"New Boot: ATA: Select error, not an IDE based hard-drive.\r"); + L"newosldr: ATA: Select error, not an IDE based hard-drive.\r"); return false; } diff --git a/Boot/Sources/HEL/AMD64/BootFileReader.cxx b/Boot/Sources/HEL/AMD64/BootFileReader.cxx index 7ec6b7ab..e6e70509 100644 --- a/Boot/Sources/HEL/AMD64/BootFileReader.cxx +++ b/Boot/Sources/HEL/AMD64/BootFileReader.cxx @@ -57,13 +57,13 @@ BFileReader::BFileReader(const CharacterTypeUTF16* path, if (BS->HandleProtocol(ImageHandle, &guidImg, (void**)&img) != kEfiOk) { - mWriter.Write(L"New Boot: Fetch-Protocol: No-Such-Protocol").Write(L"\r"); + mWriter.Write(L"newosldr: Fetch-Protocol: No-Such-Protocol").Write(L"\r"); this->mErrorCode = kNotSupported; } if (BS->HandleProtocol(img->DeviceHandle, &guidEfp, (void**)&efp) != kEfiOk) { - mWriter.Write(L"New Boot: Fetch-Protocol: No-Such-Protocol").Write(L"\r"); + mWriter.Write(L"newosldr: Fetch-Protocol: No-Such-Protocol").Write(L"\r"); this->mErrorCode = kNotSupported; return; } @@ -72,7 +72,7 @@ BFileReader::BFileReader(const CharacterTypeUTF16* path, if (efp->OpenVolume(efp, &rootFs) != kEfiOk) { - mWriter.Write(L"New Boot: Fetch-Protocol: No-Such-Volume").Write(L"\r"); + mWriter.Write(L"newosldr: Fetch-Protocol: No-Such-Volume").Write(L"\r"); this->mErrorCode = kNotSupported; return; } @@ -82,7 +82,7 @@ BFileReader::BFileReader(const CharacterTypeUTF16* path, if (rootFs->Open(rootFs, &kernelFile, mPath, kEFIFileRead, kEFIReadOnly) != kEfiOk) { - mWriter.Write(L"New Boot: Fetch-Protocol: No-Such-Path: ") + mWriter.Write(L"newosldr: Fetch-Protocol: No-Such-Path: ") .Write(mPath) .Write(L"\r"); this->mErrorCode = kNotSupported; diff --git a/Boot/Sources/HEL/AMD64/BootMain.cxx b/Boot/Sources/HEL/AMD64/BootMain.cxx index 7609c1af..cb8bccba 100644 --- a/Boot/Sources/HEL/AMD64/BootMain.cxx +++ b/Boot/Sources/HEL/AMD64/BootMain.cxx @@ -68,7 +68,7 @@ EFI_EXTERN_C EFI_API Int Main(EfiHandlePtr ImageHandle, /// Splash screen stuff - writer.Write(L"SoftwareLabs (R) New Boot: ") + writer.Write(L"SoftwareLabs (R) newosldr: ") .Write(BVersionString::The()); writer.Write(L"\rNew Boot: Firmware Vendor: ") @@ -99,7 +99,7 @@ EFI_EXTERN_C EFI_API Int Main(EfiHandlePtr ImageHandle, vendorTable[4] == 'P' && vendorTable[5] == 'T' && vendorTable[6] == 'R' && vendorTable[7] == ' ') { - writer.Write(L"New Boot: Found ACPI RSD PTR!\r"); + writer.Write(L"newosldr: Found ACPI RSD PTR!\r"); handoverHdrPtr->f_HardwareTables.f_RsdPtr = (VoidPtr)vendorTable; break; diff --git a/Boot/Sources/HEL/POWER/CoreBootStartup.S b/Boot/Sources/HEL/POWER/CoreBootStartup.S index f8ff99d7..ed39c3b5 100644 --- a/Boot/Sources/HEL/POWER/CoreBootStartup.S +++ b/Boot/Sources/HEL/POWER/CoreBootStartup.S @@ -13,7 +13,7 @@ boot_hdr_mag: .ascii "CB" boot_hdr_name: // it has to match ten bytes. - .asciz "NewBoot\0\0\0" + .asciz "newosldr\0\0" boot_hdr_ver: .word 0x104 boot_hdr_proc: diff --git a/Boot/Sources/HEL/RISCV/BootRISCV.S b/Boot/Sources/HEL/RISCV/BootRISCV.S index 7a7e7db0..b682d597 100644 --- a/Boot/Sources/HEL/RISCV/BootRISCV.S +++ b/Boot/Sources/HEL/RISCV/BootRISCV.S @@ -13,10 +13,10 @@ k_hdr_mag: .ascii "LX" k_hdr_name: // it has to match ten bytes. - .asciz "New OS\0\0\0\0" + .asciz "newosldr\0\0" k_hdr_ver: .word 0x104 k_hdr_proc: - .long __bootloader_start + .long bootloader_start /* end */
\ No newline at end of file diff --git a/Boot/Sources/Root/SplashScreen.fmt b/Boot/Sources/Root/SplashScreen.fmt index 863d7b62..42005568 100644 --- a/Boot/Sources/Root/SplashScreen.fmt +++ b/Boot/Sources/Root/SplashScreen.fmt @@ -1,7 +1,7 @@ ================================================================== Welcome to NeWS. Brought to you by: Amlal EL Mahrouss. -* NewBoot, NewKernel: Amlal EL Mahrouss. -This copy can boot directly to NewKernel (Unified System). +* newosldr, newoskrnl: Amlal EL Mahrouss. +This copy can boot directly to newoskrnl (Unified System). Copyright SoftwareLabs, all rights reserved. ================================================================== diff --git a/Boot/makefile b/Boot/makefile index 5b1ab16b..e979c309 100644 --- a/Boot/makefile +++ b/Boot/makefile @@ -50,8 +50,8 @@ FLAG_GNU=-fshort-wchar -D__EFI_x86_64__ -mno-red-zone -D__KERNEL__ -D__NEWBOOT__ -DEFI_FUNCTION_WRAPPER -I./ -I../Kernel -I./ -c -nostdlib -fno-rtti -fno-exceptions \ -std=c++20 -D__HAVE_MAHROUSS_APIS__ -D__MAHROUSS__ -D__BOOTLOADER__ -I./ -BOOT_LOADER=NewOSLdr.exe -KERNEL=NewOSKrnl.exe +BOOT_LOADER=newosldr.exe +KERNEL=newoskrnl.exe .PHONY: invalid-recipe invalid-recipe: @@ -92,7 +92,7 @@ download-edk: $(HTTP_GET) https://retrage.github.io/edk2-nightly/bin/DEBUGX64_OVMF.fd -O OVMF.fd BINS=*.bin -EXECUTABLES=NewOSLdr.exe NewOSKrnl.exe OVMF.fd +EXECUTABLES=newosldr.exe newoskrnl.exe OVMF.fd TARGETS=$(REM_FLAG) $(OBJ) $(BIN) $(IMG) $(IMG_2) $(EXECUTABLES) diff --git a/Drv/DynamicLoader/DriverRsrc.rsrc b/Drv/DynamicLoader/DriverRsrc.rsrc deleted file mode 100644 index 565895b0..00000000 --- a/Drv/DynamicLoader/DriverRsrc.rsrc +++ /dev/null @@ -1,25 +0,0 @@ -1 ICON "../../Kernel/Root/Boot/Icons/driver-logo.ico" - -1 VERSIONINFO -FILEVERSION 1,0,0,0 -PRODUCTVERSION 1,0,0,0 -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "080904E4" - BEGIN - VALUE "CompanyName", "SoftwareLabs" - VALUE "FileDescription", "SoftwareLabs Dynamic Loader Driver." - VALUE "FileVersion", "1.00" - VALUE "InternalName", "DynamicLoader" - VALUE "LegalCopyright", "Copyright SoftwareLabs, all rights reserved." - VALUE "OriginalFilename", "DynamicLoader.exe" - VALUE "ProductName", "SDLD" - VALUE "ProductVersion", "1.00" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x809, 1252 - END -END diff --git a/Drv/DynamicLoader/DynamicLoader.c b/Drv/DynamicLoader/DynamicLoader.c deleted file mode 100644 index f7eb9458..00000000 --- a/Drv/DynamicLoader/DynamicLoader.c +++ /dev/null @@ -1,30 +0,0 @@ -/* ------------------------------------------- - - Copyright SoftwareLabs - -------------------------------------------- */ - -#include <DDK/KernelString.h> -#include <DDK/KernelPrint.h> - -/// @brief Start function -/// @return status code -int __ImageStart(void) -{ - kernelPrintStr("SDLD: Starting up...\r"); - return 0; -} - -/// @brief End function. -/// @return status code -int __ImageEnd(void) -{ - kernelPrintStr("SDLD: Shutting down...\r"); - return 0; -} - -///! @brief Check if stack has enough space. -void ___chkstk_ms(void) -{ - (void)0; -} diff --git a/Drv/DynamicLoader/x86_64.mk b/Drv/DynamicLoader/x86_64.mk deleted file mode 100644 index 54ee54f0..00000000 --- a/Drv/DynamicLoader/x86_64.mk +++ /dev/null @@ -1,51 +0,0 @@ -################################################## -# (C) SoftwareLabs, all rights reserved. -# This is the sample driver makefile. -################################################## - -CC_GNU=x86_64-w64-mingw32-gcc -LD_GNU=x86_64-w64-mingw32-ld - -WINDRES=x86_64-w64-mingw32-windres - -ADD_FILE=touch -COPY=cp -HTTP_GET=wget - -LD_FLAGS=-e __ImageStart --subsystem=17 - -OBJ=*.o - - -REM=rm -REM_FLAG=-f - -FLAG_ASM=-f win64 -FLAG_GNU=-fshort-wchar -D__EFI_x86_64__ -mgeneral-regs-only -mno-red-zone -D__KERNEL__ -DEFI_FUNCTION_WRAPPER -I../ -I../../ -I./ -c -ffreestanding -std=c17 -D__HAVE_MAHROUSS_APIS__ -D__MAHROUSS__ -D__BOOTLOADER__ -I./ - -.PHONY: invalid-recipe -invalid-recipe: - @echo "invalid-recipe: Use make all instead." - -.PHONY: all -all: compile-amd64 - $(LD_GNU) $(OBJ) $(LD_FLAGS) -o SampleDriver.exe - -ifneq ($(DEBUG_SUPPORT), ) -DEBUG = -D__DEBUG__ -endif - -.PHONY: compile-amd64 -compile-amd64: - $(WINDRES) DriverRsrc.rsrc -O coff -o DriverRsrc.o - $(CC_GNU) $(FLAG_GNU) $(DEBUG) $(wildcard *.c) $(wildcard ../../DDK/*.c) $(wildcard ../../DDK/*.S) - -.PHONY: clean -clean: - $(REM) $(REM_FLAG) $(OBJ) SampleDriver.exe - -.PHONY: help -help: - @echo "=== HELP ===" - @echo "clean: Clean driver." - @echo "compile-amd64: Build driver." diff --git a/Kernel/Docs/SPECIFICATION.md b/Kernel/Docs/SPECIFICATION.md index e218947e..6f9ac3d3 100644 --- a/Kernel/Docs/SPECIFICATION.md +++ b/Kernel/Docs/SPECIFICATION.md @@ -51,7 +51,7 @@ =================================== -# 4: The NewBoot +# 4: The newosldr =================================== diff --git a/Kernel/Docs/TODO-LIST.md b/Kernel/Docs/TODO-LIST.md index b7780b9f..ed7b1cf9 100644 --- a/Kernel/Docs/TODO-LIST.md +++ b/Kernel/Docs/TODO-LIST.md @@ -18,6 +18,6 @@ Status: -NewBoot: Need to boot from EPM partition. +newosldr: Need to boot from EPM partition. <br> NewKernel: New Filesystem in progress. diff --git a/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp b/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp index d06dc6a6..6d831d3b 100644 --- a/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp +++ b/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp @@ -14,11 +14,11 @@ EXTERN_C void idt_handle_gpf(NewOS::UIntPtr rsp) { MUST_PASS(NewOS::ProcessScheduler::The().Leak().GetCurrent()); - NewOS::kcout << "New OS: Stack Pointer: " + NewOS::kcout << "newoskrnl: Stack Pointer: " << NewOS::StringBuilder::FromInt("rsp{%}", rsp); NewOS::kcout - << "New OS: General Protection Fault, caused by " + << "newoskrnl: General Protection Fault, caused by " << NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().GetName(); NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); @@ -31,14 +31,14 @@ EXTERN_C void idt_handle_scheduler(NewOS::UIntPtr rsp) NewOS::kcout << NewOS::StringBuilder::FromInt("rsp{%}", rsp); NewOS::kcout - << "New OS: Will be scheduled back later " + << "newoskrnl: Will be scheduled back later " << NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().GetName() << NewOS::end_line(); /// schedule another process. if (!NewOS::ProcessHelper::StartScheduling()) { - NewOS::kcout << "New OS: Continue schedule this process...\r"; + NewOS::kcout << "newoskrnl: Continue schedule this process...\r"; } } @@ -50,7 +50,7 @@ EXTERN_C void idt_handle_pf(NewOS::UIntPtr rsp) NewOS::kcout << NewOS::StringBuilder::FromInt("rsp{%}", rsp); NewOS::kcout - << "New OS: Segmentation Fault, caused by " + << "newoskrnl: Segmentation Fault, caused by " << NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().GetName(); NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); @@ -64,7 +64,7 @@ EXTERN_C void idt_handle_math(NewOS::UIntPtr rsp) NewOS::kcout << NewOS::StringBuilder::FromInt("rsp{%}", rsp); NewOS::kcout - << "New OS: Math error, caused by " + << "newoskrnl: Math error, caused by " << NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().GetName(); NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); @@ -78,7 +78,7 @@ EXTERN_C void idt_handle_generic(NewOS::UIntPtr rsp) NewOS::kcout << NewOS::StringBuilder::FromInt("sp{%}", rsp); NewOS::kcout - << "New OS: Execution error, caused by " + << "newoskrnl: Execution error, caused by " << NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().GetName(); NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); @@ -90,11 +90,11 @@ EXTERN_C void idt_handle_ud(NewOS::UIntPtr rsp) { MUST_PASS(NewOS::ProcessScheduler::The().Leak().GetCurrent()); - NewOS::kcout << "New OS: Stack Pointer: " + NewOS::kcout << "newoskrnl: Stack Pointer: " << NewOS::StringBuilder::FromInt("rsp{%}", rsp); NewOS::kcout - << "New OS: Invalid interrupt, caused by " + << "newoskrnl: Invalid interrupt, caused by " << NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().GetName(); NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); diff --git a/Kernel/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp b/Kernel/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp index 5ab40532..a184efc2 100644 --- a/Kernel/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp +++ b/Kernel/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp @@ -146,12 +146,13 @@ namespace NewOS::HAL if (madt->MadtRecords[i].Flags == 0x01) // if local apic. { // then register as a core for scheduler. + kcout << "newoskrnl: register core as scheduler thread.\r"; } } } else { - kcout << "New OS: APIC is not present! it is a vital component.\r"; + kcout << "newoskrnl: APIC is not present! it is a vital component.\r"; ke_stop(RUNTIME_CHECK_FAILED); } } diff --git a/Kernel/HALKit/AMD64/Storage/AHCI.cxx b/Kernel/HALKit/AMD64/Storage/AHCI.cxx index 93cef10c..a8045617 100644 --- a/Kernel/HALKit/AMD64/Storage/AHCI.cxx +++ b/Kernel/HALKit/AMD64/Storage/AHCI.cxx @@ -43,7 +43,7 @@ NewOS::Boolean drv_std_init(NewOS::UInt16& PortsImplemented) iterator[devIndex].Leak().EnableMmio(); /// enable the memory i/o for this ahci device. kAhciDevice = iterator[devIndex].Leak(); /// and then leak the reference. - kcout << "New Kernel: [PCI] Found AHCI controller.\r"; + kcout << "newoskrnl: [PCI] Found AHCI controller.\r"; return true; } diff --git a/Kernel/KernelKit/DriveManager.hxx b/Kernel/KernelKit/DriveManager.hxx index 019812a3..01058d00 100644 --- a/Kernel/KernelKit/DriveManager.hxx +++ b/Kernel/KernelKit/DriveManager.hxx @@ -113,7 +113,7 @@ namespace NewOS return &mD; default: { DbgLastError() = kErrorNoSuchDisk; - kcout << "New OS: No such disk.\n"; + kcout << "newoskrnl: No such disk.\n"; break; } diff --git a/Kernel/KernelRsrc.rsrc b/Kernel/KernelRsrc.rsrc index 91699b63..56c94a06 100644 --- a/Kernel/KernelRsrc.rsrc +++ b/Kernel/KernelRsrc.rsrc @@ -15,7 +15,7 @@ BEGIN VALUE "FileVersion", KERNEL_VERSION VALUE "InternalName", "NeXUS" VALUE "LegalCopyright", "SoftwareLabs" - VALUE "OriginalFilename", "NewOSKrnl.exe" + VALUE "OriginalFilename", "newoskrnl.exe" VALUE "ProductName", "NewOSKrnl" VALUE "ProductVersion", KERNEL_VERSION END diff --git a/Kernel/Linker/16x0.json b/Kernel/Linker/16x0.json index 40cee7c9..77235537 100644 --- a/Kernel/Linker/16x0.json +++ b/Kernel/Linker/16x0.json @@ -1,6 +1,6 @@ { "executable_type": "kernel", - "output_name": "NewOSKrnl.exe", + "output_name": "newoskrnl.exe", "start_proc": "__ImageStart", "format": "PEF" } diff --git a/Kernel/Linker/32x0.json b/Kernel/Linker/32x0.json index 40cee7c9..77235537 100644 --- a/Kernel/Linker/32x0.json +++ b/Kernel/Linker/32x0.json @@ -1,6 +1,6 @@ { "executable_type": "kernel", - "output_name": "NewOSKrnl.exe", + "output_name": "newoskrnl.exe", "start_proc": "__ImageStart", "format": "PEF" } diff --git a/Kernel/Linker/64x0.json b/Kernel/Linker/64x0.json index 40cee7c9..77235537 100644 --- a/Kernel/Linker/64x0.json +++ b/Kernel/Linker/64x0.json @@ -1,6 +1,6 @@ { "executable_type": "kernel", - "output_name": "NewOSKrnl.exe", + "output_name": "newoskrnl.exe", "start_proc": "__ImageStart", "format": "PEF" } diff --git a/Kernel/NetworkKit/NetworkDevice.inl b/Kernel/NetworkKit/NetworkDevice.inl index 614ccadf..750520ff 100644 --- a/Kernel/NetworkKit/NetworkDevice.inl +++ b/Kernel/NetworkKit/NetworkDevice.inl @@ -15,7 +15,7 @@ namespace NewOS void (*on_cleanup)(void)) : DeviceInterface<NetworkDeviceCommand>(out, in), fCleanup(on_cleanup) { - kcout << "New OS: NetworkDevice initialized.\r"; + kcout << "newoskrnl: NetworkDevice initialized.\r"; MUST_PASS(out && in && on_cleanup); } @@ -24,7 +24,7 @@ namespace NewOS { MUST_PASS(fCleanup); - kcout << "New OS: NetworkDevice cleanup.\r"; + kcout << "newoskrnl: NetworkDevice cleanup.\r"; if (fCleanup) fCleanup(); } diff --git a/Kernel/Sources/CxxAbi.cxx b/Kernel/Sources/CxxAbi.cxx index 9aea8db7..0b01928a 100644 --- a/Kernel/Sources/CxxAbi.cxx +++ b/Kernel/Sources/CxxAbi.cxx @@ -14,7 +14,7 @@ uarch_t __atexit_func_count; extern "C" void __cxa_pure_virtual() { - NewOS::kcout << "New OS: C++ placeholder method.\n"; + NewOS::kcout << "newoskrnl: C++ placeholder method.\n"; } extern "C" void ___chkstk_ms() diff --git a/Kernel/Sources/FS/NewFS.cxx b/Kernel/Sources/FS/NewFS.cxx index 6f19c8ed..5e07fef8 100644 --- a/Kernel/Sources/FS/NewFS.cxx +++ b/Kernel/Sources/FS/NewFS.cxx @@ -73,11 +73,11 @@ _Output NewFork* NewFSParser::CreateFork(_Input NewCatalog* catalog, drv->fInput(&drv->fPacket); - kcout << "New OS: Next-Fork: " << hex_number(curFork.NextSibling) << endl; + kcout << "newoskrnl: Next-Fork: " << hex_number(curFork.NextSibling) << endl; if (curFork.Flags == kNewFSFlagCreated) { - kcout << "New OS: Fork already exists.\r"; + kcout << "newoskrnl: Fork already exists.\r"; /// sanity check. if (StringBuilder::Equals(curFork.ForkName, theFork.ForkName) && @@ -126,10 +126,10 @@ _Output NewFork* NewFSParser::CreateFork(_Input NewCatalog* catalog, drv->fOutput(&drv->fPacket); /// log what we have now. - kcout << "New OS: Wrote fork data at: " << hex_number(theFork.DataOffset) + kcout << "newoskrnl: Wrote fork data at: " << hex_number(theFork.DataOffset) << endl; - kcout << "New OS: Wrote fork at: " << hex_number(lba) << endl; + kcout << "newoskrnl: Wrote fork at: " << hex_number(lba) << endl; return &theFork; } @@ -372,9 +372,9 @@ _Output NewCatalog* NewFSParser::CreateCatalog(_Input const char* name, drive->fOutput(&drive->fPacket); - kcout << "New OS: Create new catalog, status: " + kcout << "newoskrnl: Create new catalog, status: " << hex_number(catalogChild->Flags) << endl; - kcout << "New OS: Create new catalog, status: " << catalogChild->Name + kcout << "newoskrnl: Create new catalog, status: " << catalogChild->Name << endl; drive->fPacket.fPacketContent = sectorBufPartBlock; @@ -449,7 +449,7 @@ bool NewFSParser::Format(_Input _Output DriveTrait* drive) partBlock->Version = kNewFSVersionInteger; - const auto cUntitledHD = "New OS HD\0"; + const auto cUntitledHD = "newoskrnl HD\0"; rt_copy_memory((VoidPtr)kNewFSIdent, (VoidPtr)partBlock->Ident, kNewFSIdentLen); @@ -475,14 +475,14 @@ bool NewFSParser::Format(_Input _Output DriveTrait* drive) drive->fOutput(&drive->fPacket); - kcout << "Drive-Kind: " << drive->fDriveKind() << endl; + kcout << "newoskrnl: drive kind: " << drive->fDriveKind() << endl; - kcout << "Partition-Name: " << partBlock->PartitionName << endl; - kcout << "Start-Catalog: " << hex_number(partBlock->StartCatalog) << endl; - kcout << "Catalog-Count: " << hex_number(partBlock->CatalogCount) << endl; - kcout << "Free-Catalog: " << hex_number(partBlock->FreeCatalog) << endl; - kcout << "Free-Sectors: " << hex_number(partBlock->FreeSectors) << endl; - kcout << "Sector-Size: " << hex_number(partBlock->SectorSize) << endl; + kcout << "newoskrnl: partition name: " << partBlock->PartitionName << endl; + kcout << "newoskrnl: start: " << hex_number(partBlock->StartCatalog) << endl; + kcout << "newoskrnl: number of catalogs: " << hex_number(partBlock->CatalogCount) << endl; + kcout << "newoskrnl: free catalog: " << hex_number(partBlock->FreeCatalog) << endl; + kcout << "newoskrnl: free sectors: " << hex_number(partBlock->FreeSectors) << endl; + kcout << "newoskrnl: sector size: " << hex_number(partBlock->SectorSize) << endl; /// write the root catalog. this->CreateCatalog(kNewFSRoot, 0, kNewFSCatalogKindDir); @@ -490,7 +490,7 @@ bool NewFSParser::Format(_Input _Output DriveTrait* drive) return true; } - kcout << "New OS: PartitionBlock already exists.\r"; + kcout << "newoskrnl: PartitionBlock already exists.\r"; /// return success as well, do not ignore that partition. return true; @@ -531,14 +531,14 @@ bool NewFSParser::WriteCatalog(_Input _Output NewCatalog* catalog, voidPtr data, drive->fInput(&drive->fPacket); - kcout << "Fork-Name: " << forkData->ForkName << endl; + kcout << "newoskrnl: forkName: " << forkData->ForkName << endl; /// sanity check the fork. if (forkData->DataOffset <= kNewFSCatalogStartAddress) { DbgLastError() = kErrorDiskIsCorrupted; - kcout << "New OS: Invalid fork offset.\r"; + kcout << "newoskrnl: Invalid fork offset.\r"; delete forkData; return false; @@ -552,7 +552,8 @@ bool NewFSParser::WriteCatalog(_Input _Output NewCatalog* catalog, voidPtr data, drive->fPacket.fPacketContent = data; drive->fPacket.fPacketSize = sizeOfData; drive->fPacket.fLba = forkData->DataOffset; - kcout << "Fork-Offset: " << hex_number(forkData->DataOffset) << endl; + + kcout << "newoskrnl: data offset: " << hex_number(forkData->DataOffset) << endl; drive->fOutput(&drive->fPacket); @@ -563,10 +564,12 @@ bool NewFSParser::WriteCatalog(_Input _Output NewCatalog* catalog, voidPtr data, catalog == nullptr) { delete catalog; + drive->fPacket.fPacketContent = data; drive->fPacket.fPacketSize = sizeOfData; drive->fPacket.fLba = forkData->DataOffset; - kcout << "Fork-Offset: " << hex_number(forkData->DataOffset) << endl; + + kcout << "newoskrnl: data offset: " << hex_number(forkData->DataOffset) << endl; drive->fOutput(&drive->fPacket); @@ -670,7 +673,7 @@ _NewFSSearchThroughCatalogList: NewCatalog* catalogPtr = new NewCatalog(); rt_copy_memory(catalog, catalogPtr, sizeof(NewCatalog)); - kcout << "New OS: Found catalog at: " << hex_number(startCatalogList) << endl; + kcout << "newoskrnl: found catalog at: " << hex_number(startCatalogList) << endl; outLba = startCatalogList; delete[] sectorBuf; @@ -809,8 +812,8 @@ VoidPtr NewFSParser::ReadCatalog(_Input _Output NewCatalog* catalog, Lba dataForkLba = catalog->DataFork; Size dataForkSize = catalog->DataForkSize; - kcout << "Found-Catalog: " << catalog->Name - << ", Data-Fork: " << hex_number(dataForkLba) << endl; + kcout << "newoskrnl: catalog " << catalog->Name + << ", fork: " << hex_number(dataForkLba) << endl; Char* sectorBuf = new Char[sizeof(NewFork)]; auto drive = sMountpointInterface.GetAddressOf(this->fDriveIndex); @@ -830,7 +833,7 @@ VoidPtr NewFSParser::ReadCatalog(_Input _Output NewCatalog* catalog, forkData = (NewFork*)sectorBuf; - kcout << "Fork-Name: " << forkData->ForkName << endl; + kcout << "newoskrnl: name: " << forkData->ForkName << endl; if (forkData->DataOffset <= kNewFSCatalogStartAddress) { @@ -930,11 +933,11 @@ namespace NewOS::Detail if (!StringBuilder::Equals(partBlock->Ident, kNewFSIdent)) { - kcout << "New OS: New FS Partition is corrupt.\r"; + kcout << "newoskrnl: New FS Partition is corrupt.\r"; return false; } - kcout << "New OS: Read partition: " << partBlock->PartitionName << ", with success!\r"; + kcout << "newoskrnl: Read partition: " << partBlock->PartitionName << ", with success!\r"; return true; } diff --git a/Kernel/Sources/IndexableProperty.cxx b/Kernel/Sources/IndexableProperty.cxx index 16694f52..6c773b9a 100644 --- a/Kernel/Sources/IndexableProperty.cxx +++ b/Kernel/Sources/IndexableProperty.cxx @@ -50,7 +50,7 @@ namespace NewOS indexer.AddFlag(kIndexerClaimed); rt_copy_memory((VoidPtr)indexer.LeakProperty().Path, (VoidPtr)filename, filenameLen); - kcout << "New OS: FSKit: index new file: " << filename << endl; + kcout << "newoskrnl: FSKit: index new file: " << filename << endl; } } } // namespace Indexer diff --git a/Kernel/Sources/KernelCheck.cxx b/Kernel/Sources/KernelCheck.cxx index b59417d4..6b355011 100644 --- a/Kernel/Sources/KernelCheck.cxx +++ b/Kernel/Sources/KernelCheck.cxx @@ -98,8 +98,8 @@ namespace NewOS if (!expr) { #ifdef __DEBUG__ - kcout << "New Kernel: File: " << file << "\r"; - kcout << "New Kernel: Line: " << line << "\r"; + kcout << "newoskrnl: File: " << file << "\r"; + kcout << "newoskrnl: Line: " << line << "\r"; #endif // __DEBUG__ diff --git a/Kernel/Sources/PEFSharedObjectRT.cxx b/Kernel/Sources/PEFSharedObject.cxx index 3ddef245..06825a3c 100644 --- a/Kernel/Sources/PEFSharedObjectRT.cxx +++ b/Kernel/Sources/PEFSharedObject.cxx @@ -102,6 +102,5 @@ EXTERN_C Void rt_library_free(SharedObjectPtr lib, bool* successful) /// @param EXTERN_C void __mh_purecall(void) { - ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); - return; + kcout << "newoskrnl: unimplemented symbol!\r"; } diff --git a/Kernel/Sources/ThreadLocalStorage.cxx b/Kernel/Sources/ThreadLocalStorage.cxx index 00305006..f72bab67 100644 --- a/Kernel/Sources/ThreadLocalStorage.cxx +++ b/Kernel/Sources/ThreadLocalStorage.cxx @@ -33,7 +33,7 @@ Boolean tls_check_tib(ThreadInformationBlock* tib) Encoder encoder; const char* tibAsBytes = encoder.AsBytes(tib); - kcout << "New OS: Checking for a valid cookie...\r"; + kcout << "newoskrnl: Checking for a valid cookie...\r"; return tibAsBytes[0] == kCookieMag0 && tibAsBytes[1] == kCookieMag1 && tibAsBytes[2] == kCookieMag2; @@ -50,9 +50,9 @@ EXTERN_C Void tls_check_syscall_impl(NewOS::HAL::StackFramePtr stackPtr) noexcep if (!tls_check_tib(tib)) { - kcout << "New OS: Verification failed, Crashing...\r"; + kcout << "newoskrnl: Verification failed, Crashing...\r"; ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); } - kcout << "New OS: Verification succeeded! Keeping on...\r"; + kcout << "newoskrnl: Verification succeeded! Keeping on...\r"; } diff --git a/Kernel/makefile b/Kernel/makefile index 14bd1cae..c550956a 100644 --- a/Kernel/makefile +++ b/Kernel/makefile @@ -37,7 +37,7 @@ LDFLAGS = -e __ImageStart --subsystem=17 LDOBJ = Objects/*.obj # This file is the kernel, responsible of task management and memory. -KERNEL = NewOSKrnl.exe +KERNEL = newoskrnl.exe .PHONY: error error: |
