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 | |
| parent | 0eca281ac5125de1183416187d70d9dff4ea9261 (diff) | |
feat(cleanup): cleanup codebase.
Signed-off-by: Amlal <amlal@nekernel.org>
Diffstat (limited to 'dev')
| -rw-r--r-- | dev/ddk/DDKKit/ifs.h | 2 | ||||
| -rw-r--r-- | dev/kernel/FirmwareKit/EFI/API.h | 8 | ||||
| -rw-r--r-- | dev/kernel/HALKit/AMD64/HalKernelPanic.cc | 1 | ||||
| -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 | ||||
| -rw-r--r-- | dev/kernel/src/UtfUtils.cc | 2 | ||||
| -rw-r--r-- | dev/user/src/SystemCalls.cc | 17 |
8 files changed, 29 insertions, 44 deletions
diff --git a/dev/ddk/DDKKit/ifs.h b/dev/ddk/DDKKit/ifs.h index 0665de9a..8232499a 100644 --- a/dev/ddk/DDKKit/ifs.h +++ b/dev/ddk/DDKKit/ifs.h @@ -14,3 +14,5 @@ struct DDK_IFS_MANIFEST; /// @brief IFS hooks to plug into the FileMgr. +/// why? because we don't need to implement filesystem on the kernel directly. + diff --git a/dev/kernel/FirmwareKit/EFI/API.h b/dev/kernel/FirmwareKit/EFI/API.h index 47b9e4d1..50964bb8 100644 --- a/dev/kernel/FirmwareKit/EFI/API.h +++ b/dev/kernel/FirmwareKit/EFI/API.h @@ -12,9 +12,6 @@ #include <KernelKit/MSDOS.h> #include <KernelKit/PE.h> -#define kNeWebsiteMacro "https://aker.com/help" -#define kNeKernelSubsystem (StrLen(kNeWebsiteMacro)) - #ifdef __BOOTZ__ // forward decl. class BootTextWriter; @@ -28,11 +25,8 @@ class BootTextWriter; inline EfiSystemTable* ST = nullptr; inline EfiBootServices* BS = nullptr; -EXTERN_C void rt_cli(); -EXTERN_C void rt_halt(); - namespace Boot { -/// @brief Halt and clear interrupts. +/// @brief Halt and clear interrut flag on x86. /// @return inline Void Stop() noexcept { while (YES) { diff --git a/dev/kernel/HALKit/AMD64/HalKernelPanic.cc b/dev/kernel/HALKit/AMD64/HalKernelPanic.cc index 3a35f9b1..7ec235bd 100644 --- a/dev/kernel/HALKit/AMD64/HalKernelPanic.cc +++ b/dev/kernel/HALKit/AMD64/HalKernelPanic.cc @@ -30,6 +30,7 @@ class RecoveryFactory final { /// @param id kernel stop ID. /***********************************************************************************/ Void ke_panic(const Kernel::Int32& id, const Char* message) { + (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); 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 diff --git a/dev/kernel/src/UtfUtils.cc b/dev/kernel/src/UtfUtils.cc index 8486f59d..079efb7b 100644 --- a/dev/kernel/src/UtfUtils.cc +++ b/dev/kernel/src/UtfUtils.cc @@ -28,4 +28,4 @@ Int urt_copy_memory(const voidPtr src, voidPtr dst, Size len) { return index; } -} // namespace Kernel
\ No newline at end of file +} // namespace Kernel diff --git a/dev/user/src/SystemCalls.cc b/dev/user/src/SystemCalls.cc index d8366d42..f8b6d597 100644 --- a/dev/user/src/SystemCalls.cc +++ b/dev/user/src/SystemCalls.cc @@ -8,9 +8,8 @@ #include <user/SystemCalls.h>
/// @file SystemCalls.cc
-/// @brief Source file for the memory functions of the user.sys.
+/// @brief Source file for the memory functions/syscalls for user.sys
-/// @brief Copy memory region.
IMPORT_C VoidPtr MmCopyMemory(_Input VoidPtr dest, _Input VoidPtr src, _Input SizeT len) {
if (!len || !dest || !src) {
return nullptr;
@@ -23,7 +22,6 @@ IMPORT_C VoidPtr MmCopyMemory(_Input VoidPtr dest, _Input VoidPtr src, _Input Si return dest;
}
-/// @brief Get string length.
IMPORT_C SInt64 MmStrLen(const Char* in) {
if (!in) return 0;
@@ -36,7 +34,6 @@ IMPORT_C SInt64 MmStrLen(const Char* in) { return len;
}
-/// @brief Fill memory region **dest** with **value**.
IMPORT_C VoidPtr MmFillMemory(_Input VoidPtr dest, _Input SizeT len, _Input UInt8 value) {
if (!len || !dest) {
return nullptr;
@@ -49,6 +46,13 @@ IMPORT_C VoidPtr MmFillMemory(_Input VoidPtr dest, _Input SizeT len, _Input UInt return dest;
}
+//-----------------------------------------------------------------------------------------------------------//
+/// @brief Systems Calls implementation.
+/// @internal
+//-----------------------------------------------------------------------------------------------------------//
+
+constexpr auto kInvalidSyscall = 0UL;
+
IMPORT_C Ref IoOpenFile(_Input const Char* path, _Input const Char* drv_letter) {
return sci_syscall_arg_3(1, reinterpret_cast<VoidPtr>(const_cast<Char*>(path)),
reinterpret_cast<VoidPtr>(const_cast<Char*>(drv_letter)));
@@ -71,8 +75,6 @@ IMPORT_C UInt64 IoTellFile(_Input Ref desc) { return *ret;
}
-/// @brief Print to the file descriptor.
-/// @param desc the file descriptor.
IMPORT_C SInt32 PrintOut(_Input IORef desc, const char* fmt, ...) {
va_list args;
@@ -86,10 +88,9 @@ IMPORT_C SInt32 PrintOut(_Input IORef desc, const char* fmt, ...) { return *ret;
}
-/// @internal
IMPORT_C Void _rtl_assert(Bool expr, const Char* origin) {
if (!expr) {
PrintOut(nullptr, "Assertion failed: %s\r", origin);
PrintOut(nullptr, "Origin: %s\r", origin);
}
-}
\ No newline at end of file +}
|
