diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-12-25 08:47:34 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-12-25 08:47:43 +0100 |
| commit | ec23419517078d032187b5b5f204d4c78de8c964 (patch) | |
| tree | b36af28b30113579c12d14391467563bee76c52f /dev/Kernel | |
| parent | 738664e41b24ba7832d1ebe8dab8344d9440c5a1 (diff) | |
IMPL: Refactor the Graphics API of the OS (kernel side) (AppearanceMgr.h)
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel')
| -rw-r--r-- | dev/Kernel/HALKit/AMD64/HalKernelMain.cc | 5 | ||||
| -rw-r--r-- | dev/Kernel/HALKit/ARM64/HalKernelMain.cc | 7 | ||||
| -rw-r--r-- | dev/Kernel/KernelKit/UserProcessScheduler.h | 8 | ||||
| -rw-r--r-- | dev/Kernel/KernelKit/UserProcessScheduler.inl | 2 | ||||
| -rwxr-xr-x[-rw-r--r--] | dev/Kernel/MoveAll.X64.sh | 0 | ||||
| -rw-r--r-- | dev/Kernel/src/KernelMain.cc | 7 | ||||
| -rw-r--r-- | dev/Kernel/src/Stop.cc | 32 | ||||
| -rw-r--r-- | dev/Kernel/src/UserProcessScheduler.cc | 11 |
8 files changed, 34 insertions, 38 deletions
diff --git a/dev/Kernel/HALKit/AMD64/HalKernelMain.cc b/dev/Kernel/HALKit/AMD64/HalKernelMain.cc index e9350af9..bf297d6a 100644 --- a/dev/Kernel/HALKit/AMD64/HalKernelMain.cc +++ b/dev/Kernel/HALKit/AMD64/HalKernelMain.cc @@ -11,7 +11,7 @@ #include <Modules/ACPI/ACPIFactoryInterface.h> #include <NetworkKit/IPC.h> #include <CFKit/Property.h> -#include <Modules/FB/KWindow.h> +#include <Modules/FB/AppearanceMgr.h> #include <Modules/FB/Text.h> EXTERN_C Kernel::VoidPtr kInterruptVectorTable[]; @@ -84,10 +84,9 @@ EXTERN_C void hal_init_platform( EXTERN_C Kernel::Void hal_real_init(Kernel::Void) noexcept { - CG::CGDrawBackground(); + CG::ui_draw_background(); auto str_proc = Kernel::rt_alloc_string("System"); - Kernel::rtl_create_process(rtl_kernel_main, str_proc); delete str_proc; diff --git a/dev/Kernel/HALKit/ARM64/HalKernelMain.cc b/dev/Kernel/HALKit/ARM64/HalKernelMain.cc index 2901e80b..3892e31b 100644 --- a/dev/Kernel/HALKit/ARM64/HalKernelMain.cc +++ b/dev/Kernel/HALKit/ARM64/HalKernelMain.cc @@ -15,7 +15,7 @@ #include <KernelKit/CodeMgr.h> #include <Modules/ACPI/ACPIFactoryInterface.h> #include <NetworkKit/IPC.h> -#include <Modules/FB/KWindow.h> +#include <Modules/FB/AppearanceMgr.h> #include <CFKit/Property.h> Kernel::Void hal_real_init(Kernel::Void) noexcept; @@ -47,9 +47,10 @@ EXTERN_C void hal_init_platform( /// @note do initialize the interrupts after it. - CG::CGDrawBackground(); + CG::ui_draw_background(); - Kernel::rtl_create_process(rtl_kernel_main, "ZkaOS System Kernel"); + auto str_proc = Kernel::rt_alloc_string("System"); + Kernel::rtl_create_process(rtl_kernel_main, str_proc); while (YES) { diff --git a/dev/Kernel/KernelKit/UserProcessScheduler.h b/dev/Kernel/KernelKit/UserProcessScheduler.h index ab8a52a1..cb1fc5a0 100644 --- a/dev/Kernel/KernelKit/UserProcessScheduler.h +++ b/dev/Kernel/KernelKit/UserProcessScheduler.h @@ -167,14 +167,14 @@ namespace Kernel SizeT MemoryCursor{0}; SizeT MemoryLimit{kSchedMaxMemoryLimit}; - struct UserProcessHeapList final + struct ProcessMemoryHeapList final { VoidPtr MemoryEntry{nullptr}; SizeT MemoryEntrySize{0UL}; SizeT MemoryEntryPad{0UL}; - struct UserProcessHeapList* MemoryPrev{nullptr}; - struct UserProcessHeapList* MemoryNext{nullptr}; + struct ProcessMemoryHeapList* MemoryPrev{nullptr}; + struct ProcessMemoryHeapList* MemoryNext{nullptr}; }; struct UserProcessSignal final @@ -185,7 +185,7 @@ namespace Kernel }; UserProcessSignal ProcessSignal; - UserProcessHeapList* ProcessMemoryHeap{nullptr}; + ProcessMemoryHeapList* ProcessMemoryHeap{nullptr}; UserProcessTeam* ProcessParentTeam; VoidPtr VMRegister{0UL}; diff --git a/dev/Kernel/KernelKit/UserProcessScheduler.inl b/dev/Kernel/KernelKit/UserProcessScheduler.inl index 2973d6a4..595ba71e 100644 --- a/dev/Kernel/KernelKit/UserProcessScheduler.inl +++ b/dev/Kernel/KernelKit/UserProcessScheduler.inl @@ -11,7 +11,7 @@ namespace Kernel sz == 0) return No; - UserProcessHeapList* entry = this->ProcessMemoryHeap; + ProcessMemoryHeapList* entry = this->ProcessMemoryHeap; while (entry != nullptr) { diff --git a/dev/Kernel/MoveAll.X64.sh b/dev/Kernel/MoveAll.X64.sh index 1c135d06..1c135d06 100644..100755 --- a/dev/Kernel/MoveAll.X64.sh +++ b/dev/Kernel/MoveAll.X64.sh diff --git a/dev/Kernel/src/KernelMain.cc b/dev/Kernel/src/KernelMain.cc index 556ab5e2..cc889619 100644 --- a/dev/Kernel/src/KernelMain.cc +++ b/dev/Kernel/src/KernelMain.cc @@ -22,13 +22,9 @@ #include <NewKit/Utils.h> #include <KernelKit/CodeMgr.h> #include <CFKit/Property.h> -#include <Modules/FB/KWindow.h> +#include <Modules/FB/AppearanceMgr.h> #include <KernelKit/Timer.h> -#define kKeCachedName "/System/CacheKernel" - -STATIC CG::ML_WINDOW_STRUCT* kKernelWnd = nullptr; - namespace Kernel::Detail { /// @brief Filesystem auto formatter, additional checks are also done by the class. @@ -129,6 +125,5 @@ namespace Kernel::Detail EXTERN_C Kernel::Void rtl_kernel_main(Kernel::SizeT argc, char** argv, char** envp, Kernel::SizeT envp_len) { Kernel::Detail::fs_init_newfs(); - Kernel::Detail::NeFilesystemInstaller installer{}; } diff --git a/dev/Kernel/src/Stop.cc b/dev/Kernel/src/Stop.cc index b8bfdb1b..a8974849 100644 --- a/dev/Kernel/src/Stop.cc +++ b/dev/Kernel/src/Stop.cc @@ -35,9 +35,9 @@ namespace Kernel auto x = 10; if (id != RUNTIME_CHECK_BOOTSTRAP) - CGDrawString("Kernel Panic!", start_y, x, panic_text); + fb_render_string("Kernel Panic!", start_y, x, panic_text); else - CGDrawString("Kernel Bootstrap:", start_y, x, panic_text); + fb_render_string("Kernel Bootstrap:", start_y, x, panic_text); start_y += 10; @@ -48,59 +48,59 @@ namespace Kernel switch (id) { case RUNTIME_CHECK_PROCESS: { - CGDrawString("0x00000008: Invalid process behavior.", start_y, x, panic_text); + fb_render_string("0x00000008: Invalid process behavior.", start_y, x, panic_text); break; } case RUNTIME_CHECK_ACPI: { - CGDrawString("0x00000006: ACPI configuration error.", start_y, x, panic_text); + fb_render_string("0x00000006: ACPI configuration error.", start_y, x, panic_text); break; } case RUNTIME_CHECK_PAGE: { - CGDrawString("0x0000000B: Write/Read in non paged area.", start_y, x, panic_text); + fb_render_string("0x0000000B: Write/Read in non paged area.", start_y, x, panic_text); break; } case RUNTIME_CHECK_FILESYSTEM: { - CGDrawString("0x0000000A: Filesystem driver error.", start_y, x, panic_text); + fb_render_string("0x0000000A: Filesystem driver error.", start_y, x, panic_text); break; } case RUNTIME_CHECK_POINTER: { - CGDrawString("0x00000000: Kernel heap is corrupted.", start_y, x, panic_text); + fb_render_string("0x00000000: Kernel heap is corrupted.", start_y, x, panic_text); break; } case RUNTIME_CHECK_BAD_BEHAVIOR: { - CGDrawString("0x00000009: Bad behavior.", start_y, x, panic_text); + fb_render_string("0x00000009: Bad behavior.", start_y, x, panic_text); break; } case RUNTIME_CHECK_BOOTSTRAP: { - CGDrawString("0x0000000A: Kernel has finished running, running OSLdr...", start_y, x, panic_text); + fb_render_string("0x0000000A: Kernel has finished running, running OSLdr...", start_y, x, panic_text); return; } case RUNTIME_CHECK_HANDSHAKE: { - CGDrawString("0x00000005: Handshake fault.", start_y, x, panic_text); + fb_render_string("0x00000005: Handshake fault.", start_y, x, panic_text); break; } case RUNTIME_CHECK_IPC: { - CGDrawString("0x00000003: Bad LPC message.", start_y, x, panic_text); + fb_render_string("0x00000003: Bad LPC message.", start_y, x, panic_text); break; } case RUNTIME_CHECK_INVALID_PRIVILEGE: { - CGDrawString("0x00000007: Privilege access violation.", start_y, x, panic_text); + fb_render_string("0x00000007: Privilege access violation.", start_y, x, panic_text); break; case RUNTIME_CHECK_UNEXCPECTED: { - CGDrawString("0x0000000B: Unexpected violation.", start_y, x, panic_text); + fb_render_string("0x0000000B: Unexpected violation.", start_y, x, panic_text); break; } case RUNTIME_CHECK_VIRTUAL_OUT_OF_MEM: { - CGDrawString("0x10000001: Out of virtual memory.", start_y, x, panic_text); + fb_render_string("0x10000001: Out of virtual memory.", start_y, x, panic_text); break; } case RUNTIME_CHECK_FAILED: { - CGDrawString("0x10000001: Kernel Bug check appears to have failed, a dump has been written to the storage.", start_y, x, panic_text); + fb_render_string("0x10000001: Kernel Bug check appears to have failed, a dump has been written to the storage.", start_y, x, panic_text); break; } default: { - CGDrawString("0xFFFFFFFC: Unknown Kernel Error code.", start_y, x, panic_text); + fb_render_string("0xFFFFFFFC: Unknown Kernel Error code.", start_y, x, panic_text); break; } } diff --git a/dev/Kernel/src/UserProcessScheduler.cc b/dev/Kernel/src/UserProcessScheduler.cc index b1bc7735..512b0c22 100644 --- a/dev/Kernel/src/UserProcessScheduler.cc +++ b/dev/Kernel/src/UserProcessScheduler.cc @@ -90,7 +90,8 @@ namespace Kernel } /***********************************************************************************/ - /// @brief Wake process-> + /// @brief Wakes process header. + /// @param should_wakeup if the program shall wakeup or not. /***********************************************************************************/ Void UserProcess::Wake(const bool should_wakeup) @@ -118,7 +119,7 @@ namespace Kernel if (!this->ProcessMemoryHeap) { - this->ProcessMemoryHeap = new UserProcess::UserProcessHeapList(); + this->ProcessMemoryHeap = new UserProcess::ProcessMemoryHeapList(); this->ProcessMemoryHeap->MemoryEntryPad = pad_amount; this->ProcessMemoryHeap->MemoryEntrySize = sz; @@ -132,8 +133,8 @@ namespace Kernel } else { - UserProcessHeapList* entry = this->ProcessMemoryHeap; - UserProcessHeapList* prev_entry = nullptr; + ProcessMemoryHeapList* entry = this->ProcessMemoryHeap; + ProcessMemoryHeapList* prev_entry = nullptr; while (!entry) { @@ -144,7 +145,7 @@ namespace Kernel entry = entry->MemoryNext; } - entry->MemoryNext = new UserProcessHeapList(); + entry->MemoryNext = new ProcessMemoryHeapList(); entry->MemoryNext->MemoryEntry = ptr; entry->MemoryNext->MemoryPrev = entry; |
