summaryrefslogtreecommitdiffhomepage
path: root/Kernel
diff options
context:
space:
mode:
authorAmlal EL Mahrouss <amlal@softwarelabs.com>2024-06-08 10:32:50 +0200
committerAmlal EL Mahrouss <amlal@softwarelabs.com>2024-06-08 10:32:50 +0200
commitdf1b19604b3fcb9508d27d1d7e41bd3616eb78e5 (patch)
treed7a54666312153410dc0c46f4c76f1cb94607c49 /Kernel
parent9994b8f3f88131f41be1061fb0947177e66dc7b0 (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>
Diffstat (limited to 'Kernel')
-rw-r--r--Kernel/FirmwareKit/EPM.hxx12
-rw-r--r--Kernel/HALKit/ARM64/APM/.gitkeep (renamed from Kernel/HALKit/ARM64/ACPI/.gitkeep)0
-rw-r--r--Kernel/HALKit/ARM64/ReadMe.md5
-rw-r--r--Kernel/KernelKit/FileManager.hpp4
-rw-r--r--Kernel/KernelRsrc.rsrc2
-rw-r--r--Kernel/Root/.gitkeep0
-rw-r--r--Kernel/Root/Applications/.gitkeep0
-rw-r--r--Kernel/Root/Assistants/.gitkeep0
-rw-r--r--Kernel/Root/Boot/.gitkeep0
-rw-r--r--Kernel/Root/Boot/Icons/bonjour-logo.icobin108478 -> 0 bytes
-rw-r--r--Kernel/Root/Boot/Icons/boot-logo.icobin108478 -> 0 bytes
-rw-r--r--Kernel/Root/Boot/Icons/driver-logo.icobin108478 -> 0 bytes
-rw-r--r--Kernel/Root/Boot/Icons/kernel-logo.icobin108478 -> 0 bytes
-rw-r--r--Kernel/Root/Boot/Icons/settings-icon.icobin108478 -> 0 bytes
-rw-r--r--Kernel/Root/Boot/Icons/update-logo.icobin108478 -> 0 bytes
-rw-r--r--Kernel/Root/Library/.gitkeep0
-rw-r--r--Kernel/Root/Mount/.gitkeep0
-rw-r--r--Kernel/Root/Support/.gitkeep0
-rw-r--r--Kernel/Root/System/.gitkeep0
-rw-r--r--Kernel/Root/System/FileExplorerHome.html34
-rw-r--r--Kernel/Root/System/SystemTheme.css46
-rw-r--r--Kernel/Root/Users/.gitkeep0
-rw-r--r--Kernel/Root/Users/Shared/.gitkeep0
-rw-r--r--Kernel/Sources/AppMain.cxx20
-rw-r--r--Kernel/Sources/FileManager.cxx2
25 files changed, 25 insertions, 100 deletions
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/Boot/Icons/bonjour-logo.ico b/Kernel/Root/Boot/Icons/bonjour-logo.ico
deleted file mode 100644
index 568de302..00000000
--- a/Kernel/Root/Boot/Icons/bonjour-logo.ico
+++ /dev/null
Binary files differ
diff --git a/Kernel/Root/Boot/Icons/boot-logo.ico b/Kernel/Root/Boot/Icons/boot-logo.ico
deleted file mode 100644
index a7edcfe8..00000000
--- a/Kernel/Root/Boot/Icons/boot-logo.ico
+++ /dev/null
Binary files differ
diff --git a/Kernel/Root/Boot/Icons/driver-logo.ico b/Kernel/Root/Boot/Icons/driver-logo.ico
deleted file mode 100644
index dbdcdee1..00000000
--- a/Kernel/Root/Boot/Icons/driver-logo.ico
+++ /dev/null
Binary files differ
diff --git a/Kernel/Root/Boot/Icons/kernel-logo.ico b/Kernel/Root/Boot/Icons/kernel-logo.ico
deleted file mode 100644
index 00724f48..00000000
--- a/Kernel/Root/Boot/Icons/kernel-logo.ico
+++ /dev/null
Binary files differ
diff --git a/Kernel/Root/Boot/Icons/settings-icon.ico b/Kernel/Root/Boot/Icons/settings-icon.ico
deleted file mode 100644
index 4fd36645..00000000
--- a/Kernel/Root/Boot/Icons/settings-icon.ico
+++ /dev/null
Binary files differ
diff --git a/Kernel/Root/Boot/Icons/update-logo.ico b/Kernel/Root/Boot/Icons/update-logo.ico
deleted file mode 100644
index 3423d76a..00000000
--- a/Kernel/Root/Boot/Icons/update-logo.ico
+++ /dev/null
Binary files differ
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;
}