PatchworkOS  966e257
A non-POSIX operating system.
Loading...
Searching...
No Matches
interrupt.c File Reference
Include dependency graph for interrupt.c:

Go to the source code of this file.

Functions

void interrupt_ctx_init (interrupt_ctx_t *ctx)
 Initializes the interrupt context.
 
void interrupt_disable (void)
 Disable interrupts and increment the disableDepth.
 
void interrupt_enable (void)
 Decrement the CLI depth and enable interrupts if depth reaches zero and interrupts were previously enabled.
 
static void exception_handle_user (interrupt_frame_t *frame, const char *note)
 
static uint64_t exception_grow_stack (thread_t *thread, uintptr_t faultAddr, stack_pointer_t *stack, pml_flags_t flags)
 
static void exception_kernel_page_fault_handler (interrupt_frame_t *frame)
 
static void exception_user_page_fault_handler (interrupt_frame_t *frame)
 
static void exception_handler (interrupt_frame_t *frame)
 
void interrupt_handler (interrupt_frame_t *frame)
 Handles CPU interrupts.
 

Function Documentation

◆ exception_handle_user()

static void exception_handle_user ( interrupt_frame_t frame,
const char *  note 
)
static

Definition at line 51 of file interrupt.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exception_grow_stack()

static uint64_t exception_grow_stack ( thread_t thread,
uintptr_t  faultAddr,
stack_pointer_t stack,
pml_flags_t  flags 
)
static

Definition at line 64 of file interrupt.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exception_kernel_page_fault_handler()

static void exception_kernel_page_fault_handler ( interrupt_frame_t frame)
static

Definition at line 86 of file interrupt.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exception_user_page_fault_handler()

static void exception_user_page_fault_handler ( interrupt_frame_t frame)
static

Definition at line 128 of file interrupt.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exception_handler()

static void exception_handler ( interrupt_frame_t frame)
static
Todo:
Handle NMIs properly.

Definition at line 166 of file interrupt.c.

Here is the call graph for this function:
Here is the caller graph for this function: