summaryrefslogtreecommitdiffhomepage
path: root/src/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2026-01-10 23:55:23 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2026-01-10 23:55:23 +0100
commit8154646d1dcc09c6e6a40f992e3ce03fd3cb0b2b (patch)
tree4ce125e283d74193e2f42d54cb2d0abc008861e5 /src/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc
parent7a95bf4f8e0de0648da156ffaaf647c184869dad (diff)
chore: release prep for NeKernel+Nectar.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc')
-rw-r--r--src/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc48
1 files changed, 24 insertions, 24 deletions
diff --git a/src/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc b/src/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc
index bb735ffb..7ee4a69c 100644
--- a/src/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc
+++ b/src/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc
@@ -26,26 +26,26 @@ STATIC void hal_int_send_eoi(UInt8 vector) {
/// @param rsp
EXTERN_C Kernel::Void int_handle_gpf(Kernel::UIntPtr rsp) {
auto process = Kernel::UserProcessScheduler::The().TheCurrentProcess();
- process.Leak().Crash();
+ process.Crash();
hal_int_send_eoi(13);
- process.Leak().Signal.SignalArg = rsp;
- process.Leak().Signal.SignalID = SIGKILL;
- process.Leak().Signal.Status = process.Leak().Status;
+ process.Signal.SignalArg = rsp;
+ process.Signal.SignalID = SIGKILL;
+ process.Signal.Status = process.Status;
}
/// @brief Handle page fault.
/// @param rsp
EXTERN_C void int_handle_pf(Kernel::UIntPtr rsp) {
auto process = Kernel::UserProcessScheduler::The().TheCurrentProcess();
- process.Leak().Crash();
+ process.Crash();
hal_int_send_eoi(14);
- process.Leak().Signal.SignalArg = rsp;
- process.Leak().Signal.SignalID = SIGKILL;
- process.Leak().Signal.Status = process.Leak().Status;
+ process.Signal.SignalArg = rsp;
+ process.Signal.SignalID = SIGKILL;
+ process.Signal.Status = process.Status;
}
/// @brief Handle scheduler interrupt.
@@ -67,28 +67,28 @@ EXTERN_C void int_handle_scheduler(Kernel::UIntPtr rsp) {
/// @param rsp
EXTERN_C void int_handle_math(Kernel::UIntPtr rsp) {
auto process = Kernel::UserProcessScheduler::The().TheCurrentProcess();
- process.Leak().Crash();
+ process.Crash();
hal_int_send_eoi(8);
- process.Leak().Signal.SignalArg = rsp;
- process.Leak().Signal.SignalID = SIGKILL;
- process.Leak().Signal.Status = process.Leak().Status;
+ process.Signal.SignalArg = rsp;
+ process.Signal.SignalID = SIGKILL;
+ process.Signal.Status = process.Status;
}
/// @brief Handle any generic fault.
/// @param rsp
EXTERN_C void int_handle_generic(Kernel::UIntPtr rsp) {
auto process = Kernel::UserProcessScheduler::The().TheCurrentProcess();
- process.Leak().Crash();
+ process.Crash();
hal_int_send_eoi(30);
Kernel::kout << "Kernel: Generic Process Fault.\r";
- process.Leak().Signal.SignalArg = rsp;
- process.Leak().Signal.SignalID = SIGKILL;
- process.Leak().Signal.Status = process.Leak().Status;
+ process.Signal.SignalArg = rsp;
+ process.Signal.SignalID = SIGKILL;
+ process.Signal.Status = process.Status;
Kernel::kout << "Kernel: SIGKILL status.\r";
}
@@ -98,25 +98,25 @@ EXTERN_C Kernel::Void int_handle_breakpoint(Kernel::UIntPtr rip) {
hal_int_send_eoi(3);
- process.Leak().Signal.SignalArg = rip;
- process.Leak().Signal.SignalID = SIGTRAP;
+ process.Signal.SignalArg = rip;
+ process.Signal.SignalID = SIGTRAP;
- process.Leak().Signal.Status = process.Leak().Status;
+ process.Signal.Status = process.Status;
- process.Leak().Status = Kernel::ProcessStatusKind::kFrozen;
+ process.Status = Kernel::ProcessStatusKind::kFrozen;
}
/// @brief Handle #UD fault.
/// @param rsp
EXTERN_C void int_handle_ud(Kernel::UIntPtr rsp) {
auto process = Kernel::UserProcessScheduler::The().TheCurrentProcess();
- process.Leak().Crash();
+ process.Crash();
hal_int_send_eoi(6);
- process.Leak().Signal.SignalArg = rsp;
- process.Leak().Signal.SignalID = SIGKILL;
- process.Leak().Signal.Status = process.Leak().Status;
+ process.Signal.SignalArg = rsp;
+ process.Signal.SignalID = SIGKILL;
+ process.Signal.Status = process.Status;
}
/// @brief Enter syscall from assembly (libSystem only)