|
PatchworkOS
966e257
A non-POSIX operating system.
|
#include <kernel/cpu/interrupt.h>#include <kernel/cpu/cpu.h>#include <kernel/cpu/gdt.h>#include <kernel/cpu/irq.h>#include <kernel/cpu/stack_pointer.h>#include <kernel/drivers/perf.h>#include <kernel/log/log.h>#include <kernel/log/panic.h>#include <kernel/mem/paging_types.h>#include <kernel/sched/thread.h>#include <kernel/sched/wait.h>#include <kernel/cpu/regs.h>#include <assert.h>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. | |
|
static |
Definition at line 51 of file interrupt.c.
|
static |
Definition at line 64 of file interrupt.c.
|
static |
Definition at line 86 of file interrupt.c.
|
static |
Definition at line 128 of file interrupt.c.
|
static |
Definition at line 166 of file interrupt.c.