NeKernel dev
Loading...
Searching...
No Matches
HalCoreInterruptHandler.cc File Reference

Functions

EXTERN_C Kernel::Void int_handle_breakpoint (Kernel::UIntPtr rip)
EXTERN_C BOOL mp_handle_gic_interrupt_el0 (Void)
STATIC void hal_int_send_eoi (UInt8 vector)
EXTERN_C Kernel::Void int_handle_gpf (Kernel::UIntPtr rsp)
 Handle GPF fault.
EXTERN_C void int_handle_pf (Kernel::UIntPtr rsp)
 Handle page fault.
EXTERN_C void int_handle_scheduler (Kernel::UIntPtr rsp)
 Handle scheduler interrupt.
EXTERN_C void int_handle_math (Kernel::UIntPtr rsp)
 Handle math fault.
EXTERN_C void int_handle_generic (Kernel::UIntPtr rsp)
 Handle any generic fault.
EXTERN_C void int_handle_ud (Kernel::UIntPtr rsp)
 Handle #UD fault.
EXTERN_C Kernel::Void hal_system_call_enter (Kernel::UIntPtr rcx_hash, Kernel::UIntPtr rdx_syscall_arg)
 Enter syscall from assembly (libSystem only).
EXTERN_C Kernel::Void hal_kernel_call_enter (Kernel::UIntPtr rcx_hash, Kernel::SizeT cnt, Kernel::UIntPtr arg, Kernel::SizeT sz)
 Enter Kernel call from assembly (libDDK only).

Variables

EXTERN_C BOOL kEndOfInterrupt
EXTERN_C UInt8 kEndOfInterruptVector
STATIC BOOL kIsRunning = NO

Function Documentation

◆ hal_int_send_eoi()

STATIC void hal_int_send_eoi ( UInt8 vector)
Note
This is managed by the system software.

◆ hal_kernel_call_enter()

EXTERN_C Kernel::Void hal_kernel_call_enter ( Kernel::UIntPtr rcx_hash,
Kernel::SizeT cnt,
Kernel::UIntPtr arg,
Kernel::SizeT sz )

Enter Kernel call from assembly (libDDK only).

Parameters
stackthe stack pushed from assembly routine.
Returns
nothing.

◆ hal_system_call_enter()

EXTERN_C Kernel::Void hal_system_call_enter ( Kernel::UIntPtr rcx_hash,
Kernel::UIntPtr rdx_syscall_arg )

Enter syscall from assembly (libSystem only).

Parameters
stackthe stack pushed from assembly routine.
Returns
nothing.

◆ int_handle_breakpoint()

EXTERN_C Kernel::Void int_handle_breakpoint ( Kernel::UIntPtr rip)

◆ int_handle_generic()

EXTERN_C void int_handle_generic ( Kernel::UIntPtr rsp)

Handle any generic fault.

Parameters
rsp

◆ int_handle_gpf()

EXTERN_C Kernel::Void int_handle_gpf ( Kernel::UIntPtr rsp)

Handle GPF fault.

Parameters
rsp

◆ int_handle_math()

EXTERN_C void int_handle_math ( Kernel::UIntPtr rsp)

Handle math fault.

Parameters
rsp

◆ int_handle_pf()

EXTERN_C void int_handle_pf ( Kernel::UIntPtr rsp)

Handle page fault.

Parameters
rsp

◆ int_handle_scheduler()

EXTERN_C void int_handle_scheduler ( Kernel::UIntPtr rsp)

Handle scheduler interrupt.

◆ int_handle_ud()

EXTERN_C void int_handle_ud ( Kernel::UIntPtr rsp)

Handle #UD fault.

Parameters
rsp

◆ mp_handle_gic_interrupt_el0()

EXTERN_C BOOL mp_handle_gic_interrupt_el0 ( Void )

Variable Documentation

◆ kEndOfInterrupt

EXTERN_C BOOL kEndOfInterrupt

◆ kEndOfInterruptVector

EXTERN_C UInt8 kEndOfInterruptVector

◆ kIsRunning

STATIC BOOL kIsRunning = NO