XenevaOS
Loading...
Searching...
No Matches
x86_64_idt.h
Go to the documentation of this file.
1
30#ifndef __X86_64_IDT_H__
31#define __X86_64_IDT_H__
32
33#include <stdint.h>
34#include <aurora.h>
35
37#pragma pack(push, 1)
47
48typedef struct _idtr {
50 void* idtaddr;
52#pragma pack(push,1)
53
54
55/*
56* x86_64_idt_init -- initialize the interrupt descriptor
57* table
58*/
59extern void x86_64_idt_init();
60
61/*
62 * setvect -- Registers an interrupt handler to its vector
63 * @param vector -- vector number
64 * @param function -- handler function pointer
65 */
66AU_EXTERN AU_EXPORT void setvect(size_t vector, void(*function)(size_t vector, void* param));
67
68/*
69* x86_64_idt_init_ap -- initialize the interrupt descriptor
70* table of ap's
71*/
72extern void x86_64_idt_init_ap();
73#endif
#define AU_EXTERN
Definition aurora.h:50
#define AU_EXPORT
Definition aurora.h:38
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
unsigned short int uint16_t
Definition acefiex.h:162
Interrupt Descriptor Table.
Definition x86_64_idt.h:38
uint16_t selector
Definition x86_64_idt.h:40
uint8_t ist
Definition x86_64_idt.h:41
uint32_t zero
Definition x86_64_idt.h:45
uint16_t offset_2
Definition x86_64_idt.h:43
uint8_t type_attr
Definition x86_64_idt.h:42
uint16_t offset_1
Definition x86_64_idt.h:39
uint32_t offset_3
Definition x86_64_idt.h:44
Definition x86_64_idt.h:48
void * idtaddr
Definition x86_64_idt.h:50
uint16_t length
Definition x86_64_idt.h:49
void x86_64_idt_init()
Definition x86_64_idt.cpp:86
void x86_64_idt_init_ap()
Definition x86_64_idt.cpp:119
AU_EXTERN AU_EXPORT void setvect(size_t vector, void(*function)(size_t vector, void *param))
Definition x86_64_idt.cpp:53
struct _idt IDT
Interrupt Descriptor Table.
struct _idtr IDTR