|
GitOS
|
#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | idt_desc |
| struct | idtr_desc |
| struct | interrupt_frame |
Macros | |
| #define | MAX_INTERRUPTS 256 |
Typedefs | |
| typedef void(* | ISR_HANDLER) (int int_no, struct interrupt_frame *frame) |
Functions | |
| struct idt_desc | __attribute__ ((packed)) |
| void | idt_Init () |
| Initializes memory for IDT struct Sets default for all interrupts. | |
| 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_Load () |
| Loads Interrupt Descriptor Table. | |
Variables | |
| uint16_t | offset_low |
| uint16_t | selector |
| uint8_t | zero |
| uint8_t | type_attr |
| uint16_t | offset_high |
| uint16_t | limit |
| uint32_t | base |
| uint32_t | error_code |
| uint32_t | edi |
| uint32_t | esi |
| uint32_t | ebp |
| uint32_t | reserved |
| uint32_t | ebx |
| uint32_t | edx |
| uint32_t | ecx |
| uint32_t | eax |
| uint32_t | ip |
| uint32_t | cs |
| uint32_t | flags |
| uint32_t | esp |
| uint32_t | ss |
| const char * | idt_InterruptLayoutString [32] |
| #define MAX_INTERRUPTS 256 |
| typedef void(* ISR_HANDLER) (int int_no, struct interrupt_frame *frame) |
| struct idt_desc __attribute__ | ( | (packed) | ) |
| 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.
| uint32_t base |
| uint32_t cs |
| uint32_t eax |
| uint32_t ebp |
| uint32_t ebx |
| uint32_t ecx |
| uint32_t edi |
| uint32_t edx |
| uint32_t error_code |
| uint32_t esi |
| uint32_t esp |
| uint32_t flags |
|
extern |
| uint32_t ip |
| uint16_t limit |
| uint16_t offset_high |
| uint16_t offset_low |
| uint32_t reserved |
| uint16_t selector |
| uint32_t ss |
| uint8_t type_attr |
| uint8_t zero |