summaryrefslogtreecommitdiffhomepage
path: root/HALKit/PowerPC/Processor.cpp
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-01-19 12:44:57 +0100
committerAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-01-19 12:45:09 +0100
commit9d6babb9a3b9ffbedc1fa377f47ff6b3f7585056 (patch)
tree8d24c521d8986a8a2ed0273763bfe309dd05b524 /HALKit/PowerPC/Processor.cpp
parent149ad21b7188d21d726215c98d0d74835ea4e737 (diff)
Kernel/PowerPC: did some progress on it, got it booting on ofw.
Signed-off-by: Amlal El Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'HALKit/PowerPC/Processor.cpp')
-rw-r--r--HALKit/PowerPC/Processor.cpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/HALKit/PowerPC/Processor.cpp b/HALKit/PowerPC/Processor.cpp
new file mode 100644
index 00000000..6bb4ff65
--- /dev/null
+++ b/HALKit/PowerPC/Processor.cpp
@@ -0,0 +1,68 @@
+/*
+* ========================================================
+*
+* hCore
+* Copyright Mahrouss Logic, all rights reserved.
+*
+* ========================================================
+*/
+
+#include <HALKit/PowerPC/Processor.hpp>
+#include <KernelKit/DebugOutput.hpp>
+
+extern "C" void flush_tlb() {}
+extern "C" void rt_wait_for_io() {}
+extern "C" hCore::HAL::StackFrame* rt_get_current_context() { }
+
+namespace hCore
+{
+namespace HAL
+{
+ UIntPtr hal_create_page(bool rw, bool user)
+ {
+ return 0;
+ }
+
+ UIntPtr hal_alloc_page(UIntPtr offset, bool rw, bool user)
+ {
+ return 0;
+ }
+}
+
+// @brief wakes up thread.
+// wakes up thread from hang.
+extern void rt_wakeup_thread(HAL::StackFrame* stack)
+{
+
+}
+
+// @brief makes thread sleep.
+// hooks and hangs thread to prevent code from executing.
+extern void rt_hang_thread(HAL::StackFrame* stack)
+{
+
+}
+
+// @brief main HAL entrypoint
+void initialize_hardware_components()
+{
+
+}
+
+void system_io_print(const char *bytes)
+{
+ if (!bytes)
+ return;
+
+ SizeT index = 0;
+ SizeT len = string_length(bytes, 256);
+
+ while (index < len)
+ {
+ // TODO
+ ++index;
+ }
+}
+
+TerminalDevice kcout(hCore::system_io_print, nullptr);
+} \ No newline at end of file