|
GitOS
|
#include "idt.h"#include <stdint.h>#include "common/status.h"#include "drivers/pic/pic.h"#include "kernel.h"#include "memory/memory.h"#include "task/task.h"Functions | |
| void | idt_Load () |
| Loads Interrupt Descriptor Table. | |
| void | idt_SetDescriptor (int int_no, void *address) |
| Fills entry in IDT for specified Interrupt number Use before idt_Load(). | |
| int | idt_SetHandler (int int_no, ISR_HANDLER handler) |
| Sets handler for given interrupt number. | |
| void | idt_Init () |
| Initializes memory for IDT struct Sets default for all interrupts. | |
| void | idt_Handler (int int_no, struct interrupt_frame *frame) |
| Handles interrupt (called by ISR). | |
Variables | |
| struct idt_desc | idt_descriptors [MAX_INTERRUPTS] |
| struct idtr_desc | idtr_descriptor |
| void * | interrupt_pointer_table [MAX_INTERRUPTS] |
| ISR_HANDLER | interrupt_handlers [MAX_INTERRUPTS] |
| const char * | idt_InterruptLayoutString [32] |
| void idt_Handler | ( | int | int_no, |
| struct interrupt_frame * | frame ) |
Handles interrupt (called by ISR).
| int_no | Interrupt number |
| frame | Interrupt frame |
References interrupt_handlers, kernel_page(), task_current_save_state(), and task_page().
| void idt_Init | ( | ) |
Initializes memory for IDT struct Sets default for all interrupts.
References idt_descriptors, idt_SetDescriptor(), idtr_descriptor, interrupt_pointer_table, MAX_INTERRUPTS, and memset().
| void idt_Load | ( | ) |
Loads Interrupt Descriptor Table.
References idtr_descriptor.
| void idt_SetDescriptor | ( | int | int_no, |
| void * | address ) |
Fills entry in IDT for specified Interrupt number Use before idt_Load().
| int_no | Interrupt number |
| address | Pointer to interrupt handler |
References idt_descriptors, idt_desc::offset_high, idt_desc::offset_low, idt_desc::selector, idt_desc::type_attr, and idt_desc::zero.
| int idt_SetHandler | ( | int | int_no, |
| ISR_HANDLER | handler ) |
Sets handler for given interrupt number.
| int_no | Interrupt number |
| handler | Handler function |
References ALL_OK, EINVARG, interrupt_handlers, and MAX_INTERRUPTS.
| struct idt_desc idt_descriptors[MAX_INTERRUPTS] |
| const char* idt_InterruptLayoutString[32] |
| struct idtr_desc idtr_descriptor |
| ISR_HANDLER interrupt_handlers[MAX_INTERRUPTS] |
|
extern |