summaryrefslogtreecommitdiffhomepage
path: root/Private
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-04-21 21:04:42 +0200
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-04-21 21:06:05 +0200
commit593e9b91591a9b98f6f46b5db046fe56f719ef24 (patch)
tree02561ea8465c0fb92d822f7f34c057a207c2cc8f /Private
parentda3e277c4685f64112ed0e7d7715e11a9f684eff (diff)
MHR-5: Add icon for settings app alongside Applications folder, register **mup** and **param** schemes on the kernel.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private')
-rw-r--r--Private/Applications/.gitkeep0
-rw-r--r--Private/HALKit/POWER/HalVirtualMemory.cxx3
-rw-r--r--Private/HALKit/POWER/Processor.hpp14
-rw-r--r--Private/Root/Boot/Icons/settings-icon.icobin0 -> 108478 bytes
-rw-r--r--Private/Root/Boot/Icons/update-logo.icobin108478 -> 108478 bytes
-rw-r--r--Private/Source/URL.cxx5
6 files changed, 14 insertions, 8 deletions
diff --git a/Private/Applications/.gitkeep b/Private/Applications/.gitkeep
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/Private/Applications/.gitkeep
diff --git a/Private/HALKit/POWER/HalVirtualMemory.cxx b/Private/HALKit/POWER/HalVirtualMemory.cxx
index 43c59384..c138d76f 100644
--- a/Private/HALKit/POWER/HalVirtualMemory.cxx
+++ b/Private/HALKit/POWER/HalVirtualMemory.cxx
@@ -10,8 +10,7 @@
#include <HALKit/POWER/Processor.hpp>
#include <KernelKit/DebugOutput.hpp>
-/// NOTE: refer to: https://www.nxp.com/docs/en/white-paper/POWRPCARCPRMRM.pdf,
-/// or in /Developer/PDF/POWRPCARCPRMRM.pdf
+/// @note refer to our SoC documentation.
using namespace NewOS;
diff --git a/Private/HALKit/POWER/Processor.hpp b/Private/HALKit/POWER/Processor.hpp
index a597b202..d6fbfb89 100644
--- a/Private/HALKit/POWER/Processor.hpp
+++ b/Private/HALKit/POWER/Processor.hpp
@@ -34,13 +34,17 @@ typedef StackFrame* StackFramePtr;
inline void rt_halt() {
while (1) {
-
+ asm volatile("mr 0, 0"); // no oop.
}
}
-inline void rt_cli() {}
+inline void rt_cli() {
+ asm volatile ("mr 0, 0"); // no oop
+}
} // namespace NewOS::HAL
-extern "C" void int_handle_math(NewOS::UIntPtr sp);
-extern "C" void int_handle_pf(NewOS::UIntPtr sp);
-extern "C" void* __ppc_alloca(size_t sz);
+EXTERN_C void int_handle_math(NewOS::UIntPtr sp);
+EXTERN_C void int_handle_pf(NewOS::UIntPtr sp);
+
+/// @brief Flush system TLB.
+EXTERN_C void hal_flush_tlb();
diff --git a/Private/Root/Boot/Icons/settings-icon.ico b/Private/Root/Boot/Icons/settings-icon.ico
new file mode 100644
index 00000000..4fd36645
--- /dev/null
+++ b/Private/Root/Boot/Icons/settings-icon.ico
Binary files differ
diff --git a/Private/Root/Boot/Icons/update-logo.ico b/Private/Root/Boot/Icons/update-logo.ico
index 2ec56e03..3423d76a 100644
--- a/Private/Root/Boot/Icons/update-logo.ico
+++ b/Private/Root/Boot/Icons/update-logo.ico
Binary files differ
diff --git a/Private/Source/URL.cxx b/Private/Source/URL.cxx
index 090c7c66..4983a34c 100644
--- a/Private/Source/URL.cxx
+++ b/Private/Source/URL.cxx
@@ -15,12 +15,15 @@ URL::URL(StringView &strUrl) : fUrlView(strUrl, false) {}
URL::~URL() = default;
+/// @brief internal and reserved protocols by kernel.
constexpr const char *kURLProtocols[] = {
"file", // Filesystem protocol
+ "mup", // Mahrouss update protocol
+ "param", // Mahrouss parameter protocol.
};
constexpr const int kUrlOutSz = 1; //! such as: ://
-constexpr const int kProtosCount = 4;
+constexpr const int kProtosCount = 3;
constexpr const int kRangeSz = 4096;
ErrorOr<StringView> url_extract_location(const char *url) {