diff options
| author | Amlal EL Mahrouss <amlal@softwarelabs.com> | 2024-06-08 10:32:50 +0200 |
|---|---|---|
| committer | Amlal EL Mahrouss <amlal@softwarelabs.com> | 2024-06-08 10:32:50 +0200 |
| commit | df1b19604b3fcb9508d27d1d7e41bd3616eb78e5 (patch) | |
| tree | d7a54666312153410dc0c46f4c76f1cb94607c49 | |
| parent | 9994b8f3f88131f41be1061fb0947177e66dc7b0 (diff) | |
MHR-28: Implement SMP support.
Now we need to feed the core code to finish our scheduler.
Signed-off-by: Amlal EL Mahrouss <amlal@softwarelabs.com>
| -rw-r--r-- | Boot/Sources/BootloaderRsrc.rsrc | 2 | ||||
| -rw-r--r-- | Drv/Bonjour/DriverRsrc.rsrc | 2 | ||||
| -rw-r--r-- | Drv/SampleDriver/DriverRsrc.rsrc | 2 | ||||
| -rw-r--r-- | Icons/bonjour-logo.ico (renamed from Kernel/Root/Boot/Icons/bonjour-logo.ico) | bin | 108478 -> 108478 bytes | |||
| -rw-r--r-- | Icons/boot-logo.ico (renamed from Kernel/Root/Boot/Icons/boot-logo.ico) | bin | 108478 -> 108478 bytes | |||
| -rw-r--r-- | Icons/driver-logo.ico (renamed from Kernel/Root/Boot/Icons/driver-logo.ico) | bin | 108478 -> 108478 bytes | |||
| -rw-r--r-- | Icons/kernel-logo.ico (renamed from Kernel/Root/Boot/Icons/kernel-logo.ico) | bin | 108478 -> 108478 bytes | |||
| -rw-r--r-- | Icons/settings-icon.ico (renamed from Kernel/Root/Boot/Icons/settings-icon.ico) | bin | 108478 -> 108478 bytes | |||
| -rw-r--r-- | Icons/update-logo.ico (renamed from Kernel/Root/Boot/Icons/update-logo.ico) | bin | 108478 -> 108478 bytes | |||
| -rw-r--r-- | Kernel/FirmwareKit/EPM.hxx | 12 | ||||
| -rw-r--r-- | Kernel/HALKit/ARM64/APM/.gitkeep (renamed from Kernel/HALKit/ARM64/ACPI/.gitkeep) | 0 | ||||
| -rw-r--r-- | Kernel/HALKit/ARM64/ReadMe.md | 5 | ||||
| -rw-r--r-- | Kernel/KernelKit/FileManager.hpp | 4 | ||||
| -rw-r--r-- | Kernel/KernelRsrc.rsrc | 2 | ||||
| -rw-r--r-- | Kernel/Root/.gitkeep | 0 | ||||
| -rw-r--r-- | Kernel/Root/Applications/.gitkeep | 0 | ||||
| -rw-r--r-- | Kernel/Root/Assistants/.gitkeep | 0 | ||||
| -rw-r--r-- | Kernel/Root/Boot/.gitkeep | 0 | ||||
| -rw-r--r-- | Kernel/Root/Library/.gitkeep | 0 | ||||
| -rw-r--r-- | Kernel/Root/Mount/.gitkeep | 0 | ||||
| -rw-r--r-- | Kernel/Root/Support/.gitkeep | 0 | ||||
| -rw-r--r-- | Kernel/Root/System/.gitkeep | 0 | ||||
| -rw-r--r-- | Kernel/Root/System/FileExplorerHome.html | 34 | ||||
| -rw-r--r-- | Kernel/Root/System/SystemTheme.css | 46 | ||||
| -rw-r--r-- | Kernel/Root/Users/.gitkeep | 0 | ||||
| -rw-r--r-- | Kernel/Root/Users/Shared/.gitkeep | 0 | ||||
| -rw-r--r-- | Kernel/Sources/AppMain.cxx | 20 | ||||
| -rw-r--r-- | Kernel/Sources/FileManager.cxx | 2 |
28 files changed, 28 insertions, 103 deletions
diff --git a/Boot/Sources/BootloaderRsrc.rsrc b/Boot/Sources/BootloaderRsrc.rsrc index 857e08e4..5089e3fa 100644 --- a/Boot/Sources/BootloaderRsrc.rsrc +++ b/Boot/Sources/BootloaderRsrc.rsrc @@ -1,6 +1,6 @@ #include "../../Kernel/CompilerKit/Version.hxx" -1 ICON "../../Kernel/Root/Boot/Icons/boot-logo.ico" +1 ICON "../../Icons/boot-logo.ico" 1 VERSIONINFO FILEVERSION 1,0,0,0 diff --git a/Drv/Bonjour/DriverRsrc.rsrc b/Drv/Bonjour/DriverRsrc.rsrc index d2f15f1e..2ba7db11 100644 --- a/Drv/Bonjour/DriverRsrc.rsrc +++ b/Drv/Bonjour/DriverRsrc.rsrc @@ -1,4 +1,4 @@ -1 ICON "../../Kernel/Root/Boot/Icons/driver-logo.ico" +1 ICON "../../Boot/Icons/driver-logo.ico" 1 VERSIONINFO FILEVERSION 1,0,0,0 diff --git a/Drv/SampleDriver/DriverRsrc.rsrc b/Drv/SampleDriver/DriverRsrc.rsrc index dc819c7e..a7170b93 100644 --- a/Drv/SampleDriver/DriverRsrc.rsrc +++ b/Drv/SampleDriver/DriverRsrc.rsrc @@ -1,4 +1,4 @@ -1 ICON "../../Kernel/Root/Boot/Icons/driver-logo.ico" +1 ICON "../../Icons/driver-logo.ico" 1 VERSIONINFO FILEVERSION 1,0,0,0 diff --git a/Kernel/Root/Boot/Icons/bonjour-logo.ico b/Icons/bonjour-logo.ico Binary files differindex 568de302..568de302 100644 --- a/Kernel/Root/Boot/Icons/bonjour-logo.ico +++ b/Icons/bonjour-logo.ico diff --git a/Kernel/Root/Boot/Icons/boot-logo.ico b/Icons/boot-logo.ico Binary files differindex a7edcfe8..a7edcfe8 100644 --- a/Kernel/Root/Boot/Icons/boot-logo.ico +++ b/Icons/boot-logo.ico diff --git a/Kernel/Root/Boot/Icons/driver-logo.ico b/Icons/driver-logo.ico Binary files differindex dbdcdee1..dbdcdee1 100644 --- a/Kernel/Root/Boot/Icons/driver-logo.ico +++ b/Icons/driver-logo.ico diff --git a/Kernel/Root/Boot/Icons/kernel-logo.ico b/Icons/kernel-logo.ico Binary files differindex 00724f48..00724f48 100644 --- a/Kernel/Root/Boot/Icons/kernel-logo.ico +++ b/Icons/kernel-logo.ico diff --git a/Kernel/Root/Boot/Icons/settings-icon.ico b/Icons/settings-icon.ico Binary files differindex 4fd36645..4fd36645 100644 --- a/Kernel/Root/Boot/Icons/settings-icon.ico +++ b/Icons/settings-icon.ico diff --git a/Kernel/Root/Boot/Icons/update-logo.ico b/Icons/update-logo.ico Binary files differindex 3423d76a..3423d76a 100644 --- a/Kernel/Root/Boot/Icons/update-logo.ico +++ b/Icons/update-logo.ico diff --git a/Kernel/FirmwareKit/EPM.hxx b/Kernel/FirmwareKit/EPM.hxx index aa5dc92a..5d41e21a 100644 --- a/Kernel/FirmwareKit/EPM.hxx +++ b/Kernel/FirmwareKit/EPM.hxx @@ -83,6 +83,10 @@ struct PACKED PartitionBlock #define kEPMMagicUEFI "EPMUE" +/* @brief CoreBoot magic for EPM */ + +#define kEPMMagicCoreBoot "EPMCB" + /* @brief Invalid magic for EPM */ #define kEPMMagicError "EPM??" @@ -113,16 +117,16 @@ typedef struct PartitionBlock PartitionBlockType; ///! @brief partition must start at this address. ///! Anything below is reserved for Data backup by the Main OS. -#define kEPMStartPartitionBlk (sizeof(BootBlock)) +#define kEPMStartPartitionBlk (sizeof(BootBlock)) ///! @brief Current EPM revision (2) -#define kEPMRevision (2) +#define kEPMRevision (3) ///! @brief Current EPM revision (2) -#define kEPMRevisionUEFI (0xF) +#define kEPMRevisionUEFI (0xF) /* @brief Maximum block count. */ -#define kEPMMaxBlks 128 +#define kEPMMaxBlks (128) /// END OF SPECS diff --git a/Kernel/HALKit/ARM64/ACPI/.gitkeep b/Kernel/HALKit/ARM64/APM/.gitkeep index e69de29b..e69de29b 100644 --- a/Kernel/HALKit/ARM64/ACPI/.gitkeep +++ b/Kernel/HALKit/ARM64/APM/.gitkeep diff --git a/Kernel/HALKit/ARM64/ReadMe.md b/Kernel/HALKit/ARM64/ReadMe.md index 89679e18..d4d35a0b 100644 --- a/Kernel/HALKit/ARM64/ReadMe.md +++ b/Kernel/HALKit/ARM64/ReadMe.md @@ -1,4 +1,3 @@ -ARM64 Hardware Abstraction Layer +# ARM64 Hardware Abstraction Layer -- Supported CPU: Qualcomm CPU -- Supported Firmware: EDK 2
\ No newline at end of file +- Supported Firmware: CoreBoot
\ No newline at end of file diff --git a/Kernel/KernelKit/FileManager.hpp b/Kernel/KernelKit/FileManager.hpp index 1f6fd774..19428f24 100644 --- a/Kernel/KernelKit/FileManager.hpp +++ b/Kernel/KernelKit/FileManager.hpp @@ -133,7 +133,9 @@ namespace NewOS void SetResourceFork(const char* forkName); void SetDataFork(const char* forkName); - NewFSParser* GetImpl() noexcept; + /// @brief Get internal parser. + /// @return + NewFSParser* GetParser() noexcept; private: NewFSParser* fImpl{nullptr}; diff --git a/Kernel/KernelRsrc.rsrc b/Kernel/KernelRsrc.rsrc index 56c94a06..7e224c62 100644 --- a/Kernel/KernelRsrc.rsrc +++ b/Kernel/KernelRsrc.rsrc @@ -1,4 +1,4 @@ -1 ICON "Root/Boot/Icons/kernel-logo.ico" +1 ICON "../Icons/kernel-logo.ico" #include "CompilerKit/Version.hxx" diff --git a/Kernel/Root/.gitkeep b/Kernel/Root/.gitkeep deleted file mode 100644 index e69de29b..00000000 --- a/Kernel/Root/.gitkeep +++ /dev/null diff --git a/Kernel/Root/Applications/.gitkeep b/Kernel/Root/Applications/.gitkeep deleted file mode 100644 index e69de29b..00000000 --- a/Kernel/Root/Applications/.gitkeep +++ /dev/null diff --git a/Kernel/Root/Assistants/.gitkeep b/Kernel/Root/Assistants/.gitkeep deleted file mode 100644 index e69de29b..00000000 --- a/Kernel/Root/Assistants/.gitkeep +++ /dev/null diff --git a/Kernel/Root/Boot/.gitkeep b/Kernel/Root/Boot/.gitkeep deleted file mode 100644 index e69de29b..00000000 --- a/Kernel/Root/Boot/.gitkeep +++ /dev/null diff --git a/Kernel/Root/Library/.gitkeep b/Kernel/Root/Library/.gitkeep deleted file mode 100644 index e69de29b..00000000 --- a/Kernel/Root/Library/.gitkeep +++ /dev/null diff --git a/Kernel/Root/Mount/.gitkeep b/Kernel/Root/Mount/.gitkeep deleted file mode 100644 index e69de29b..00000000 --- a/Kernel/Root/Mount/.gitkeep +++ /dev/null diff --git a/Kernel/Root/Support/.gitkeep b/Kernel/Root/Support/.gitkeep deleted file mode 100644 index e69de29b..00000000 --- a/Kernel/Root/Support/.gitkeep +++ /dev/null diff --git a/Kernel/Root/System/.gitkeep b/Kernel/Root/System/.gitkeep deleted file mode 100644 index e69de29b..00000000 --- a/Kernel/Root/System/.gitkeep +++ /dev/null diff --git a/Kernel/Root/System/FileExplorerHome.html b/Kernel/Root/System/FileExplorerHome.html deleted file mode 100644 index f37e6d64..00000000 --- a/Kernel/Root/System/FileExplorerHome.html +++ /dev/null @@ -1,34 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>NewOS WebTraveler</title> - - <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> - -</head> -<body> - <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> - <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> - <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> - - <nav class="navbar navbar-expand-lg bg-body-tertiary"> - <div class="container-fluid"> - <a class="navbar-brand" href="#">NewOS</a> - <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> - <span class="navbar-toggler-icon"></span> - </button> - <div class="collapse navbar-collapse" id="navbarSupportedContent"> - <form action="https://www.google.com/search" method="get" name="searchform" target="_blank" class="d-flex" role="search"> - <input name="q" autocomplete="on" id="searchQuery" class="form-control me-2" type="text" required="required" placeholder="Search the web..." aria-label="Search"/> - </form> - </div> - </div> - </nav> - - <br> - <br> -</body> -</html> - diff --git a/Kernel/Root/System/SystemTheme.css b/Kernel/Root/System/SystemTheme.css deleted file mode 100644 index 44e38465..00000000 --- a/Kernel/Root/System/SystemTheme.css +++ /dev/null @@ -1,46 +0,0 @@ -@layer base { - :root { - --background: 0 0% 100%; - --foreground: 240 10% 3.9%; - --card: 0 0% 100%; - --card-foreground: 240 10% 3.9%; - --popover: 0 0% 100%; - --popover-foreground: 240 10% 3.9%; - --primary: 240 5.9% 10%; - --primary-foreground: 0 0% 98%; - --secondary: 240 4.8% 95.9%; - --secondary-foreground: 240 5.9% 10%; - --muted: 240 4.8% 95.9%; - --muted-foreground: 240 3.8% 46.1%; - --accent: 240 4.8% 95.9%; - --accent-foreground: 240 5.9% 10%; - --destructive: 0 84.2% 60.2%; - --destructive-foreground: 0 0% 98%; - --border: 240 5.9% 90%; - --input: 240 5.9% 90%; - --ring: 240 5.9% 10%; - --radius: 0.5rem; - } - - .dark { - --background: 240 10% 3.9%; - --foreground: 0 0% 98%; - --card: 240 10% 3.9%; - --card-foreground: 0 0% 98%; - --popover: 240 10% 3.9%; - --popover-foreground: 0 0% 98%; - --primary: 0 0% 98%; - --primary-foreground: 240 5.9% 10%; - --secondary: 240 3.7% 15.9%; - --secondary-foreground: 0 0% 98%; - --muted: 240 3.7% 15.9%; - --muted-foreground: 240 5% 64.9%; - --accent: 240 3.7% 15.9%; - --accent-foreground: 0 0% 98%; - --destructive: 0 62.8% 30.6%; - --destructive-foreground: 0 0% 98%; - --border: 240 3.7% 15.9%; - --input: 240 3.7% 15.9%; - --ring: 240 4.9% 83.9%; - } -} diff --git a/Kernel/Root/Users/.gitkeep b/Kernel/Root/Users/.gitkeep deleted file mode 100644 index e69de29b..00000000 --- a/Kernel/Root/Users/.gitkeep +++ /dev/null diff --git a/Kernel/Root/Users/Shared/.gitkeep b/Kernel/Root/Users/Shared/.gitkeep deleted file mode 100644 index e69de29b..00000000 --- a/Kernel/Root/Users/Shared/.gitkeep +++ /dev/null diff --git a/Kernel/Sources/AppMain.cxx b/Kernel/Sources/AppMain.cxx index 62795893..41619673 100644 --- a/Kernel/Sources/AppMain.cxx +++ b/Kernel/Sources/AppMain.cxx @@ -49,7 +49,7 @@ namespace NewOS::Detail NewOS::FilesystemManagerInterface::Mount(fNewFS); - if (fNewFS->GetImpl()) + if (fNewFS->GetParser()) { constexpr auto cFolderInfo = "Metadata"; const auto cDirCount = 8; @@ -59,7 +59,7 @@ namespace NewOS::Detail for (NewOS::SizeT dirIndx = 0UL; dirIndx < cDirCount; ++dirIndx) { - auto catalogDir = fNewFS->GetImpl()->GetCatalog(cDirStr[dirIndx]); + auto catalogDir = fNewFS->GetParser()->GetCatalog(cDirStr[dirIndx]); if (catalogDir) { @@ -67,7 +67,7 @@ namespace NewOS::Detail continue; } - catalogDir = fNewFS->GetImpl()->CreateCatalog(cDirStr[dirIndx], 0, + catalogDir = fNewFS->GetParser()->CreateCatalog(cDirStr[dirIndx], 0, kNewFSCatalogKindDir); NewFork theFork{0}; @@ -100,11 +100,11 @@ namespace NewOS::Detail const NewOS::SizeT metadataSz = kNewFSSectorSz; - auto catalogSystem = fNewFS->GetImpl()->GetCatalog(cDirStr[dirIndx]); + auto catalogSystem = fNewFS->GetParser()->GetCatalog(cDirStr[dirIndx]); - fNewFS->GetImpl()->CreateFork(catalogSystem, theFork); + fNewFS->GetParser()->CreateFork(catalogSystem, theFork); - fNewFS->GetImpl()->WriteCatalog( + fNewFS->GetParser()->WriteCatalog( catalogSystem, (NewOS::VoidPtr)(metadataFolder.CData()), metadataSz, cFolderInfo); @@ -113,13 +113,13 @@ namespace NewOS::Detail } NewCatalog* catalogDisk = - this->fNewFS->GetImpl()->GetCatalog("/Mount/This Disk"); + this->fNewFS->GetParser()->GetCatalog("/Mount/This Disk"); const NewOS::Char* cSrcName = "DiskInfo"; if (catalogDisk) { - auto bufferInfoDisk = (NewOS::Char*)this->fNewFS->GetImpl()->ReadCatalog(catalogDisk, kNewFSSectorSz, cSrcName); + auto bufferInfoDisk = (NewOS::Char*)this->fNewFS->GetParser()->ReadCatalog(catalogDisk, kNewFSSectorSz, cSrcName); NewOS::kcout << bufferInfoDisk << NewOS::end_line(); delete bufferInfoDisk; @@ -155,8 +155,8 @@ namespace NewOS::Detail theDiskFork.ResourceKind = NewOS::kNewFSRsrcForkKind; theDiskFork.Kind = NewOS::kNewFSDataForkKind; - fNewFS->GetImpl()->CreateFork(catalogDisk, theDiskFork); - fNewFS->GetImpl()->WriteCatalog(catalogDisk, + fNewFS->GetParser()->CreateFork(catalogDisk, theDiskFork); + fNewFS->GetParser()->WriteCatalog(catalogDisk, (NewOS::VoidPtr)diskFolder.CData(), kNewFSSectorSz, cSrcName); diff --git a/Kernel/Sources/FileManager.cxx b/Kernel/Sources/FileManager.cxx index 1aeae426..0ea463ec 100644 --- a/Kernel/Sources/FileManager.cxx +++ b/Kernel/Sources/FileManager.cxx @@ -163,7 +163,7 @@ namespace NewOS /// @brief Returns the filesystem parser. /// @return the Filesystem parser class. - NewFSParser* NewFilesystemManager::GetImpl() noexcept + NewFSParser* NewFilesystemManager::GetParser() noexcept { return fImpl; } |
