diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-01-31 09:42:54 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-01-31 09:42:54 +0100 |
| commit | fc55f0d69d24fb4908cbd811681f2c3fac53614d (patch) | |
| tree | ba09a2cdbb225df7ba1a9ec5a12bcbb90b673ead /Private/HALKit/PowerPC/HalHardware.cpp | |
| parent | 7bed9287589293bd9d712d152539591dee0b28c0 (diff) | |
kernel: add GKit, improve AMD64 HAL.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/HALKit/PowerPC/HalHardware.cpp')
| -rw-r--r-- | Private/HALKit/PowerPC/HalHardware.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Private/HALKit/PowerPC/HalHardware.cpp b/Private/HALKit/PowerPC/HalHardware.cpp new file mode 100644 index 00000000..04676eff --- /dev/null +++ b/Private/HALKit/PowerPC/HalHardware.cpp @@ -0,0 +1,48 @@ +/* + * ======================================================== + * + * HCore + * Copyright 2024 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; } +} // namespace HAL + +// @brief wakes up thread. +// wakes up thread from hang. +void rt_wakeup_thread(HAL::StackFrame* stack) {} + +// @brief makes thread sleep. +// hooks and hangs thread to prevent code from executing. +void rt_hang_thread(HAL::StackFrame* stack) {} + +// @brief main HAL entrypoint +void ke_init_hal() {} + +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); +} // namespace HCore |
