git://scm.lunaixsky.com
/
lunaix-os.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Merge branch 'master' into iso-9660
[lunaix-os.git]
/
lunaix-os
/
includes
/
arch
/
x86
/
interrupts.h
1
#ifndef __LUNAIX_INTERRUPTS_H
2
#define __LUNAIX_INTERRUPTS_H
3
4
#include "vectors.h"
5
6
#ifndef __ASM__
7
#include <hal/cpu.h>
8
typedef struct
9
{
10
struct
11
{
12
reg32 eax;
13
reg32 ebx;
14
reg32 ecx;
15
reg32 edx;
16
reg32 edi;
17
reg32 ebp;
18
reg32 esi;
19
reg32 ds;
20
reg32 es;
21
reg32 fs;
22
reg32 gs;
23
reg32 esp;
24
} __attribute__((packed)) registers;
25
26
unsigned int vector;
27
unsigned int err_code;
28
unsigned int eip;
29
unsigned int cs;
30
unsigned int eflags;
31
unsigned int esp;
32
unsigned int ss;
33
} __attribute__((packed)) isr_param;
34
35
void
36
intr_handler(isr_param* param);
37
38
void
39
intr_routine_init();
40
41
#endif
42
43
#endif /* __LUNAIX_INTERRUPTS_H */