summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-06-02 09:25:18 +0200
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-06-02 09:25:18 +0200
commit39415bb759f7eb67fb393385c28c3d2e5d7f6857 (patch)
treec818db537a0f722e7d3dee0a7770df2ef1ebe3f6
parentc34c46598c12b04b2877aa7290dd401cc40a29e3 (diff)
MHR-23: Porting to ARM64 now.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
-rw-r--r--Boot/BootKit/BootKit.hxx4
-rw-r--r--Boot/ReadMe.md2
-rw-r--r--Boot/Sources/BootloaderRsrc.rsrc6
-rw-r--r--Boot/Sources/HEL/AMD64/BootATA.cxx2
-rw-r--r--Boot/Sources/HEL/AMD64/BootFileReader.cxx8
-rw-r--r--Boot/Sources/HEL/AMD64/BootMain.cxx4
-rw-r--r--Boot/Sources/HEL/POWER/CoreBootStartup.S2
-rw-r--r--Boot/Sources/HEL/RISCV/BootRISCV.S4
-rw-r--r--Boot/Sources/Root/SplashScreen.fmt4
-rw-r--r--Boot/makefile6
-rw-r--r--Drv/DynamicLoader/DriverRsrc.rsrc25
-rw-r--r--Drv/DynamicLoader/DynamicLoader.c30
-rw-r--r--Drv/DynamicLoader/x86_64.mk51
-rw-r--r--Kernel/Docs/SPECIFICATION.md2
-rw-r--r--Kernel/Docs/TODO-LIST.md2
-rw-r--r--Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp18
-rw-r--r--Kernel/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp3
-rw-r--r--Kernel/HALKit/AMD64/Storage/AHCI.cxx2
-rw-r--r--Kernel/KernelKit/DriveManager.hxx2
-rw-r--r--Kernel/KernelRsrc.rsrc2
-rw-r--r--Kernel/Linker/16x0.json2
-rw-r--r--Kernel/Linker/32x0.json2
-rw-r--r--Kernel/Linker/64x0.json2
-rw-r--r--Kernel/NetworkKit/NetworkDevice.inl4
-rw-r--r--Kernel/Sources/CxxAbi.cxx2
-rw-r--r--Kernel/Sources/FS/NewFS.cxx53
-rw-r--r--Kernel/Sources/IndexableProperty.cxx2
-rw-r--r--Kernel/Sources/KernelCheck.cxx4
-rw-r--r--Kernel/Sources/PEFSharedObject.cxx (renamed from Kernel/Sources/PEFSharedObjectRT.cxx)3
-rw-r--r--Kernel/Sources/ThreadLocalStorage.cxx6
-rw-r--r--Kernel/makefile2
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: