diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-06-13 09:41:32 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-06-13 09:41:32 +0200 |
| commit | 2f921f57ec48cc8c98882d7150a08c354b60bb72 (patch) | |
| tree | 6b8a42c44883d835530a16ed5ff5eedf09d2bc27 | |
| parent | a0b3442fe9978093326dc29d0938f1116eadd147 (diff) | |
MHR-31: initial commit.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
| -rw-r--r-- | Boot/BootKit/BootKit.hxx | 2 | ||||
| -rw-r--r-- | Kernel/FSKit/NewFS.hxx | 4 | ||||
| -rw-r--r-- | Kernel/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp | 4 | ||||
| -rw-r--r-- | Kernel/Sources/FS/NewFS.cxx | 2 | ||||
| -rw-r--r-- | Kernel/Sources/KeMain.cxx | 24 |
5 files changed, 19 insertions, 17 deletions
diff --git a/Boot/BootKit/BootKit.hxx b/Boot/BootKit/BootKit.hxx index 3eab16cb..93b9986e 100644 --- a/Boot/BootKit/BootKit.hxx +++ b/Boot/BootKit/BootKit.hxx @@ -279,7 +279,7 @@ private: /// before going to forks, we must check for the catalog name first. if (blob->fKind == kNewFSCatalogKindDir && - blob->fFileName[strlen(blob->fFileName) - 1] != '/') + blob->fFileName[strlen(blob->fFileName) - 1] != kNewFSSeparator) { EFI::ThrowError(L"Developer-Error", L"This is caused by the developer of the bootloader."); } diff --git a/Kernel/FSKit/NewFS.hxx b/Kernel/FSKit/NewFS.hxx index df4e7ea4..c400ff30 100644 --- a/Kernel/FSKit/NewFS.hxx +++ b/Kernel/FSKit/NewFS.hxx @@ -68,10 +68,10 @@ default. #define kNewFSCatalogKindDevice (9) #define kNewFSCatalogKindLock (10) -#define kNewFSSeparator '/' +#define kNewFSSeparator '\\' #define kNewFSUpDir ".." -#define kNewFSRoot "/" +#define kNewFSRoot "\\" #define kNewFSLF '\r' #define kNewFSEOF (-1) diff --git a/Kernel/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp b/Kernel/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp index f15faf3c..b70649ee 100644 --- a/Kernel/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp +++ b/Kernel/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp @@ -168,12 +168,12 @@ namespace NewOS::HAL kcout << "newoskrnl: putting thread to sleep...\r"; + KeMain(); + _hal_spin_core(); } else { - KeMain(); - _hal_spin_core(); } } diff --git a/Kernel/Sources/FS/NewFS.cxx b/Kernel/Sources/FS/NewFS.cxx index f015673d..2938c53f 100644 --- a/Kernel/Sources/FS/NewFS.cxx +++ b/Kernel/Sources/FS/NewFS.cxx @@ -593,6 +593,8 @@ _Output NewCatalog* NewFSParser::FindCatalog(_Input const char* catalogName, if (!sMountpointInterface.GetAddressOf(this->fDriveIndex)) return nullptr; + kcout << "newoskrnl: start finding catalog...\r"; + Char* sectorBuf = new Char[sizeof(NewPartitionBlock)]; auto drive = sMountpointInterface.GetAddressOf(this->fDriveIndex); diff --git a/Kernel/Sources/KeMain.cxx b/Kernel/Sources/KeMain.cxx index f4f9f44c..e2f41464 100644 --- a/Kernel/Sources/KeMain.cxx +++ b/Kernel/Sources/KeMain.cxx @@ -39,7 +39,7 @@ namespace NewOS::Detail { /// Mounted partition, cool! NewOS::kcout - << "New OS: No need to create for a NewFS partition here...\r"; + << "newoskrnl: No need to create for a NewFS partition here...\r"; } else { @@ -51,11 +51,11 @@ namespace NewOS::Detail if (fNewFS->GetParser()) { - constexpr auto cFolderInfo = "Metadata"; + constexpr auto cFolderInfo = "META-INF"; const auto cDirCount = 8; const char* cDirStr[cDirCount] = { - "/Boot/", "/System/", "/Support/", "/Applications/", - "/Users/", "/Library/", "/Mount/", "/Assistants/"}; + "\\Boot\\", "\\System\\", "\\Support\\", "\\Applications\\", + "\\Users\\", "\\Library\\", "\\Mount\\", "\\DCIM\\"}; for (NewOS::SizeT dirIndx = 0UL; dirIndx < cDirCount; ++dirIndx) { @@ -113,9 +113,9 @@ namespace NewOS::Detail } NewCatalog* catalogDisk = - this->fNewFS->GetParser()->GetCatalog("/Mount/This Disk"); + this->fNewFS->GetParser()->GetCatalog("\\Mount\\This Disk"); - const NewOS::Char* cSrcName = "DiskInfo"; + const NewOS::Char* cSrcName = "DISK-INF"; if (catalogDisk) { @@ -128,14 +128,14 @@ namespace NewOS::Detail else { catalogDisk = - (NewCatalog*)this->Leak()->CreateAlias("/Mount/This Disk"); + (NewCatalog*)this->Leak()->CreateAlias("\\Mount\\This Disk"); NewOS::StringView diskFolder(kNewFSSectorSz); diskFolder += - "<p>Kind: alias to disk</p>\r<p>Created by: system</p>\r<p>Edited " + "<p>Kind: alias to disk</p>\r<p>Created by: newoskrnl</p>\r<p>Edited " "by: " - "system</p>\r<p>Volume Type: New OS Standard</p>\r"; + "N/A</p>\r<p>Volume Type: New OS Standard</p>\r"; diskFolder += "<p>Original Path: "; diskFolder += NewOS::NewFilesystemHelper::Root(); @@ -184,7 +184,7 @@ namespace NewOS::Detail /// @return void no return value. STATIC NewOS::Void SystemLauncher_Main(NewOS::Void) { - NewOS::PEFLoader lockScreen("/System/LockScreen"); + NewOS::PEFLoader lockScreen("\\System\\LockScreen"); if (!lockScreen.IsLoaded()) { @@ -194,7 +194,7 @@ namespace NewOS::Detail NewOS::Utils::execute_from_image(lockScreen, NewOS::ProcessHeader::kAppKind); - NewOS::PEFLoader stageBoard("/System/StageBoard"); + NewOS::PEFLoader stageBoard("\\System\\StageBoard"); if (!stageBoard.IsLoaded()) { @@ -221,7 +221,7 @@ EXTERN_C NewOS::Void KeMain(NewOS::Void) auto cLoaderName = "SystemLauncher"; NewOS::execute_from_image(NewOS::Detail::SystemLauncher_Main, cLoaderName); - while (true) + while (true) { NewOS::ProcessScheduler::The().Leak().Run(); } |
