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

Functions

EXTERN_C Kernel::Void idt_handle_breakpoint (Kernel::UIntPtr rip)
STATIC void hal_idt_send_eoi (UInt8 vector)
 Notify APIC and PIC that we're done with the interrupt.
EXTERN_C Kernel::Void idt_handle_gpf (Kernel::UIntPtr rsp)
 Handle GPF fault.
EXTERN_C void idt_handle_pf (Kernel::UIntPtr rsp)
 Handle page fault.
EXTERN_C void idt_handle_scheduler (Kernel::UIntPtr rsp)
 Handle scheduler interrupt.
EXTERN_C void idt_handle_math (Kernel::UIntPtr rsp)
 Handle math fault.
EXTERN_C void idt_handle_generic (Kernel::UIntPtr rsp)
 Handle any generic fault.
EXTERN_C void idt_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 Kernel::UIntPtr kApicBaseAddress
STATIC BOOL kIsRunning = NO

Function Documentation

◆ hal_idt_send_eoi()

STATIC void hal_idt_send_eoi ( UInt8 vector)

Notify APIC and PIC that we're done with the interrupt.

Note

◆ 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.

◆ idt_handle_breakpoint()

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

◆ idt_handle_generic()

EXTERN_C void idt_handle_generic ( Kernel::UIntPtr rsp)

Handle any generic fault.

Parameters
rsp

◆ idt_handle_gpf()

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

Handle GPF fault.

Parameters
rsp

◆ idt_handle_math()

EXTERN_C void idt_handle_math ( Kernel::UIntPtr rsp)

Handle math fault.

Parameters
rsp

◆ idt_handle_pf()

EXTERN_C void idt_handle_pf ( Kernel::UIntPtr rsp)

Handle page fault.

Parameters
rsp

◆ idt_handle_scheduler()

EXTERN_C void idt_handle_scheduler ( Kernel::UIntPtr rsp)

Handle scheduler interrupt.

◆ idt_handle_ud()

EXTERN_C void idt_handle_ud ( Kernel::UIntPtr rsp)

Handle #UD fault.

Parameters
rsp

Variable Documentation

◆ kApicBaseAddress

EXTERN_C Kernel::UIntPtr kApicBaseAddress

◆ kIsRunning

STATIC BOOL kIsRunning = NO