summaryrefslogtreecommitdiffhomepage
path: root/Kernel
diff options
context:
space:
mode:
Diffstat (limited to 'Kernel')
-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
18 files changed, 58 insertions, 55 deletions
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: