diff options
| author | Amlal <amlal@nekernel.org> | 2025-05-04 22:44:34 +0200 |
|---|---|---|
| committer | Amlal <amlal@nekernel.org> | 2025-05-04 22:44:34 +0200 |
| commit | 74230b2cbf7f922c79d8106e021584488011a381 (patch) | |
| tree | 5355ff1ddd2e0255b43e3d7f52e50bdc55c6fb80 /dev/kernel/HALKit/ARM64 | |
| parent | 0eca281ac5125de1183416187d70d9dff4ea9261 (diff) | |
feat(cleanup): cleanup codebase.
Signed-off-by: Amlal <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/HALKit/ARM64')
| -rw-r--r-- | dev/kernel/HALKit/ARM64/HalFlushTLB.S | 4 | ||||
| -rw-r--r-- | dev/kernel/HALKit/ARM64/HalKernelPanic.cc | 27 | ||||
| -rw-r--r-- | dev/kernel/HALKit/ARM64/HalPagingMgrARM64.cc | 12 |
3 files changed, 15 insertions, 28 deletions
diff --git a/dev/kernel/HALKit/ARM64/HalFlushTLB.S b/dev/kernel/HALKit/ARM64/HalFlushTLB.S index 8fcf40ff..e76b6e3f 100644 --- a/dev/kernel/HALKit/ARM64/HalFlushTLB.S +++ b/dev/kernel/HALKit/ARM64/HalFlushTLB.S @@ -1,5 +1,9 @@ +/* (c) 2024-2025 Amlal El Mahrouss */ + .text +.global hal_flush_tlb + hal_flush_tlb: tlbi ret diff --git a/dev/kernel/HALKit/ARM64/HalKernelPanic.cc b/dev/kernel/HALKit/ARM64/HalKernelPanic.cc index 5680041c..c3d3175c 100644 --- a/dev/kernel/HALKit/ARM64/HalKernelPanic.cc +++ b/dev/kernel/HALKit/ARM64/HalKernelPanic.cc @@ -30,29 +30,10 @@ class RecoveryFactory final { /// @param id kernel stop ID. /***********************************************************************************/ Void ke_panic(const Kernel::Int32& id, const Char* message) { - fb_init(); - - auto panic_text = RGB(0xff, 0xff, 0xff); - - auto y = 10; - auto x = 10; - - Char* message_apicid = new Char[128]; - rt_set_memory(message_apicid, 0, 128); - - rt_copy_memory((VoidPtr) "panic id: ", message_apicid, rt_string_len("panic id: ")); - rt_to_string(message_apicid + rt_string_len("panic id: "), (UIntPtr) id, 10); - - fb_render_string(message_apicid, y, x, panic_text); - - y += 10; - - fb_render_string((message ? message : "message: panic raised, going nowhere after this!"), y, x, - panic_text); - - y += 10; - - fb_clear(); + (Void)(kout << "*** STOP ***\r"); + (Void)(kout << "Kernel_Panic_MSG: " << message << kendl); + (Void)(kout << "Kernel_Panic_ID: " << hex_number(id) << kendl); + (Void)(kout << "Kernel_Panic_CR2: " << hex_number((UIntPtr) hal_read_cr2()) << kendl); RecoveryFactory::Recover(); } diff --git a/dev/kernel/HALKit/ARM64/HalPagingMgrARM64.cc b/dev/kernel/HALKit/ARM64/HalPagingMgrARM64.cc index e8c6875d..9fcee573 100644 --- a/dev/kernel/HALKit/ARM64/HalPagingMgrARM64.cc +++ b/dev/kernel/HALKit/ARM64/HalPagingMgrARM64.cc @@ -30,7 +30,9 @@ struct NE_PAGE_STORE final { }; /// \brief Retrieve the page status of a PTE. -STATIC Void mmi_page_status(PTE* pte) {} +STATIC Void mmi_page_status(PTE* pte) { + NE_UNUSED(pte); +} STATIC Int32 mmi_map_page_table_entry(VoidPtr virtual_address, UInt32 flags, PTE* pt_entry); @@ -40,7 +42,7 @@ STATIC Int32 mmi_map_page_table_entry(VoidPtr virtual_address, UInt32 flags, PTE /// @param flags the flags to put on the page. /// @return Status code of page manipulation process. EXTERN_C Int32 mm_map_page(VoidPtr virtual_address, VoidPtr physical_address, UInt32 flags) { - if (!virtual_address || !flags) return 0; + if (!virtual_address || !flags) return kErrorSuccess; NE_PAGE_STORE& page_store = NE_PAGE_STORE::The(); @@ -54,7 +56,7 @@ EXTERN_C Int32 mm_map_page(VoidPtr virtual_address, VoidPtr physical_address, UI page_store.fInternalStore.fPte); } - return 1; + return kErrorSuccess; } /// @brief Maps flags for a specific pte. @@ -62,7 +64,7 @@ EXTERN_C Int32 mm_map_page(VoidPtr virtual_address, VoidPtr physical_address, UI STATIC Int32 mmi_map_page_table_entry(VoidPtr virtual_address, UInt32 flags, PTE* pt_entry) { NE_PAGE_STORE& page_store = NE_PAGE_STORE::The(); - // Update internal store. + // Update internal store, and tlbi the virtual address. page_store.fInternalStore.fPde = nullptr; page_store.fInternalStore.fPte = pt_entry; @@ -70,6 +72,6 @@ STATIC Int32 mmi_map_page_table_entry(VoidPtr virtual_address, UInt32 flags, PTE page_store.fStoreOp = No; - return 0; + return kErrorSuccess; } } // namespace Kernel::HAL |
