diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-06-02 12:40:14 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-02 12:40:14 +0200 |
| commit | 2445945e41b09c900b2f6a26365f38c9741b143c (patch) | |
| tree | 938455022c5be1d73528833e61ce4fce99719175 /dev/kernel | |
| parent | 0f4aaa29f9de307ba8c5597eca2d36c0db4cb96c (diff) | |
fix: hal/aarch64: aarch64 patches for ne_kernel.
Diffstat (limited to 'dev/kernel')
| -rw-r--r-- | dev/kernel/HALKit/ARM64/HalCommonAPI.s | 2 | ||||
| -rw-r--r-- | dev/kernel/HALKit/ARM64/HalKernelPanic.cc | 1 | ||||
| -rw-r--r-- | dev/kernel/src/CxxAbi-ARM64.cc | 7 |
3 files changed, 5 insertions, 5 deletions
diff --git a/dev/kernel/HALKit/ARM64/HalCommonAPI.s b/dev/kernel/HALKit/ARM64/HalCommonAPI.s index e76b6e3f..f0c69368 100644 --- a/dev/kernel/HALKit/ARM64/HalCommonAPI.s +++ b/dev/kernel/HALKit/ARM64/HalCommonAPI.s @@ -5,5 +5,5 @@ .global hal_flush_tlb hal_flush_tlb: - tlbi + tlbi vmalle1 ret diff --git a/dev/kernel/HALKit/ARM64/HalKernelPanic.cc b/dev/kernel/HALKit/ARM64/HalKernelPanic.cc index 5feb6c75..d70fef00 100644 --- a/dev/kernel/HALKit/ARM64/HalKernelPanic.cc +++ b/dev/kernel/HALKit/ARM64/HalKernelPanic.cc @@ -33,7 +33,6 @@ 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); RecoveryFactory::Recover(); } diff --git a/dev/kernel/src/CxxAbi-ARM64.cc b/dev/kernel/src/CxxAbi-ARM64.cc index 02f3dbcf..d351b024 100644 --- a/dev/kernel/src/CxxAbi-ARM64.cc +++ b/dev/kernel/src/CxxAbi-ARM64.cc @@ -19,7 +19,7 @@ Kernel::UIntPtr __dso_handle; EXTERN_C void __chkstk(void) {} -EXTERN_C int atexit(void (*f)(void*), void* arg, void* dso) { +EXTERN_C int atexit(void (*f)(), void* arg, void* dso) { if (__atexit_func_count >= kAtExitMacDestructors) return 1; __atexit_funcs[__atexit_func_count].destructor_func = f; @@ -36,7 +36,8 @@ EXTERN_C void __cxa_finalize(void* f) { if (!f) { while (i--) { if (__atexit_funcs[i].destructor_func) { - (*__atexit_funcs[i].destructor_func)(__atexit_funcs[i].obj_ptr); + (*__atexit_funcs[i].destructor_func)(); + __atexit_funcs[i].destructor_func = 0; }; } @@ -45,7 +46,7 @@ EXTERN_C void __cxa_finalize(void* f) { while (i--) { if (__atexit_funcs[i].destructor_func) { - (*__atexit_funcs[i].destructor_func)(__atexit_funcs[i].obj_ptr); + (*__atexit_funcs[i].destructor_func)(); __atexit_funcs[i].destructor_func = 0; }; } |
