aboutsummaryrefslogtreecommitdiff
path: root/kernel/isr-as.S
diff options
context:
space:
mode:
authorFranklin Wei <frankhwei536@gmail.com>2015-02-01 21:35:36 -0500
committerFranklin Wei <frankhwei536@gmail.com>2015-02-01 21:35:36 -0500
commit474ba91122aa4b32fdd9348d90aec7468b3d2b8a (patch)
tree07db85d066b8a701c8253ae1279f0a5e9a65244d /kernel/isr-as.S
parent483754ab27f2a58011f723efa52163a83c63e56e (diff)
downloadkappa-474ba91122aa4b32fdd9348d90aec7468b3d2b8a.zip
kappa-474ba91122aa4b32fdd9348d90aec7468b3d2b8a.tar.gz
kappa-474ba91122aa4b32fdd9348d90aec7468b3d2b8a.tar.bz2
kappa-474ba91122aa4b32fdd9348d90aec7468b3d2b8a.tar.xz
a lotta changes, crashes on STI
Diffstat (limited to 'kernel/isr-as.S')
-rw-r--r--kernel/isr-as.S74
1 files changed, 37 insertions, 37 deletions
diff --git a/kernel/isr-as.S b/kernel/isr-as.S
index 2bc77f3..464ec5b 100644
--- a/kernel/isr-as.S
+++ b/kernel/isr-as.S
@@ -1,4 +1,5 @@
-isr_handler:
+ .extern isr_handler
+isr_stub:
pusha
push %ds
push %es
@@ -11,8 +12,7 @@ isr_handler:
mov %ax, %gs
mov %esp, %eax # Push us the stack
push %eax
- mov $isr_handler, %eax
- call *%eax
+ call isr_handler
pop %eax
pop %gs
pop %fs
@@ -20,7 +20,6 @@ isr_handler:
pop %ds
popa
add $8, %esp
- sti
iret
# stub ISR's:
@@ -56,159 +55,160 @@ isr_handler:
.global _isr29
.global _isr30
.global _isr31
-# Interrupts 8, 10, 11, 12, 13, and 14 push error codes onto the stack
+
+ # Interrupts 8, 10, 11, 12, 13, and 14 push error codes onto the stack
_isr0:
cli
push $0
push $0
- jmp isr_handler
+ jmp isr_stub
_isr1:
cli
push $0
push $1
- jmp isr_handler
+ jmp isr_stub
_isr2:
cli
push $0
push $2
- jmp isr_handler
+ jmp isr_stub
_isr3:
cli
push $0
push $3
- jmp isr_handler
+ jmp isr_stub
_isr4:
cli
push $0
push $4
- jmp isr_handler
+ jmp isr_stub
_isr5:
cli
push $0
push $5
- jmp isr_handler
+ jmp isr_stub
_isr6:
cli
push $0
push $6
- jmp isr_handler
+ jmp isr_stub
_isr7:
cli
push $0
push $7
- jmp isr_handler
+ jmp isr_stub
_isr8:
cli
push $8
- jmp isr_handler
+ jmp isr_stub
_isr9:
cli
push $0
push $9
- jmp isr_handler
+ jmp isr_stub
_isr10:
cli
push $10
- jmp isr_handler
+ jmp isr_stub
_isr11:
cli
push $11
- jmp isr_handler
+ jmp isr_stub
_isr12:
cli
push $12
- jmp isr_handler
+ jmp isr_stub
_isr13:
cli
push $13
- jmp isr_handler
+ jmp isr_stub
_isr14:
cli
push $14
- jmp isr_handler
+ jmp isr_stub
_isr15:
cli
push $0
push $15
- jmp isr_handler
+ jmp isr_stub
_isr16:
cli
push $0
push $16
- jmp isr_handler
+ jmp isr_stub
_isr17:
cli
push $0
push $17
- jmp isr_handler
+ jmp isr_stub
_isr18:
cli
push $0
push $18
- jmp isr_handler
+ jmp isr_stub
_isr19:
cli
push $0
push $19
- jmp isr_handler
+ jmp isr_stub
_isr20:
cli
push $0
push $20
- jmp isr_handler
+ jmp isr_stub
_isr21:
cli
push $0
push $21
- jmp isr_handler
+ jmp isr_stub
_isr22:
cli
push $0
push $22
- jmp isr_handler
+ jmp isr_stub
_isr23:
cli
push $0
push $23
- jmp isr_handler
+ jmp isr_stub
_isr24:
cli
push $0
push $24
- jmp isr_handler
+ jmp isr_stub
_isr25:
cli
push $0
push $25
- jmp isr_handler
+ jmp isr_stub
_isr26:
cli
push $0
push $26
- jmp isr_handler
+ jmp isr_stub
_isr27:
cli
push $0
push $27
- jmp isr_handler
+ jmp isr_stub
_isr28:
cli
push $0
push $28
- jmp isr_handler
+ jmp isr_stub
_isr29:
cli
push $0
push $29
- jmp isr_handler
+ jmp isr_stub
_isr30:
cli
push $0
push $30
- jmp isr_handler
+ jmp isr_stub
_isr31:
cli
push $0
push $31
- jmp isr_handler
+ jmp isr_stub