Kintsugi OS 0.2.0
x86 Monolithic OS
Loading...
Searching...
No Matches
isr.h
Go to the documentation of this file.
1#ifndef ISR_H
2#define ISR_H
3
4#include "../kklibc/ctypes.h"
5
6/* ISR зарезервированы для исключений процессора */
7extern void isr0();
8extern void isr1();
9extern void isr2();
10extern void isr3();
11extern void isr4();
12extern void isr5();
13extern void isr6();
14extern void isr7();
15extern void isr8();
16extern void isr9();
17extern void isr10();
18extern void isr11();
19extern void isr12();
20extern void isr13();
21extern void isr14();
22extern void isr15();
23extern void isr16();
24extern void isr17();
25extern void isr18();
26extern void isr19();
27extern void isr20();
28extern void isr21();
29extern void isr22();
30extern void isr23();
31extern void isr24();
32extern void isr25();
33extern void isr26();
34extern void isr27();
35extern void isr28();
36extern void isr29();
37extern void isr30();
38extern void isr31();
39extern void irq0();
40extern void irq1();
41extern void irq2();
42extern void irq3();
43extern void irq4();
44extern void irq5();
45extern void irq6();
46extern void irq7();
47extern void irq8();
48extern void irq9();
49extern void irq10();
50extern void irq11();
51extern void irq12();
52extern void irq13();
53extern void irq14();
54extern void irq15();
55
56#define IRQ0 32
57#define IRQ1 33
58#define IRQ2 34
59#define IRQ3 35
60#define IRQ4 36
61#define IRQ5 37
62#define IRQ6 38
63#define IRQ7 39
64#define IRQ8 40
65#define IRQ9 41
66#define IRQ10 42
67#define IRQ11 43
68#define IRQ12 44
69#define IRQ13 45
70#define IRQ14 46
71#define IRQ15 47
72
73/* Структура для аггрегации регистров */
74typedef struct {
75 u32 ds; /* сегмент данных */
76 u32 edi, esi, ebp, esp, ebx, edx, ecx, eax; /* запушен pusha. */
77 u32 int_no, err_code; /* Число прерывания и код ошибки */
78 u32 eip, cs, eflags, useresp, ss; /* запушить процессором автоматически */
80
85void isr_install();
86
93
98void irq_install();
99
100typedef void (*isr_t)(registers_t);
101
108void register_interrupt_handler(u8 n, isr_t handler);
109
110#endif
unsigned int u32
Definition ctypes.h:11
unsigned char u8
Definition ctypes.h:15
void isr12()
void(* isr_t)(registers_t)
Definition isr.h:100
void isr4()
void irq5()
void isr11()
void isr_handler(registers_t r)
Обработчик ISR.
Definition isr.c:119
void isr3()
void irq2()
void irq11()
void isr26()
void isr23()
void isr24()
void isr10()
void irq12()
void irq6()
void irq15()
void isr20()
void irq9()
void register_interrupt_handler(u8 n, isr_t handler)
Регистрация обработчика прерывания
Definition isr.c:136
void irq3()
void irq4()
void isr25()
void irq8()
void isr7()
void isr8()
void isr14()
void isr29()
void isr15()
void irq10()
void isr2()
void isr6()
void irq7()
void isr22()
void irq14()
void isr5()
void isr9()
void irq13()
void isr28()
void irq1()
void isr17()
void isr19()
void isr27()
void irq0()
void isr16()
void irq_install()
установка IRQ
Definition isr.c:155
void isr18()
void isr1()
void isr_install()
Обработка ISR.
Definition isr.c:15
void isr21()
void isr31()
void isr30()
void isr0()
void isr13()
Definition isr.h:74
u32 cs
Definition isr.h:78
u32 err_code
Definition isr.h:77
u32 eax
Definition isr.h:76
u32 ds
Definition isr.h:75