Improved build system
Added new entries to .gitignore Moved away from source directory as central spot for all source code
This commit is contained in:
87
kernel/irs_table.s
Normal file
87
kernel/irs_table.s
Normal file
@ -0,0 +1,87 @@
|
||||
.code32
|
||||
/*
|
||||
* Interupt handlers
|
||||
*/
|
||||
|
||||
.macro ISR_NOERRORCODE NAME, VECTOR
|
||||
.globl irs\NAME
|
||||
irs\NAME:
|
||||
cli
|
||||
push $0
|
||||
push \VECTOR
|
||||
jmp irs_common
|
||||
.endm
|
||||
|
||||
.macro ISR_ERROCODE NAME, VECTOR
|
||||
.globl irs\NAME
|
||||
irs\NAME:
|
||||
cli
|
||||
push \VECTOR
|
||||
jmp irs_common
|
||||
.endm
|
||||
|
||||
|
||||
ISR_NOERRORCODE 0 $0
|
||||
ISR_NOERRORCODE 1 $1
|
||||
ISR_NOERRORCODE 2 $2
|
||||
ISR_NOERRORCODE 3 $3
|
||||
ISR_NOERRORCODE 4 $4
|
||||
ISR_NOERRORCODE 5 $5
|
||||
ISR_NOERRORCODE 6 $6
|
||||
ISR_NOERRORCODE 7 $7
|
||||
ISR_NOERRORCODE 8 $8
|
||||
ISR_NOERRORCODE 9 $9
|
||||
ISR_NOERRORCODE 10 $10
|
||||
ISR_NOERRORCODE 11 $11
|
||||
ISR_NOERRORCODE 12 $12
|
||||
ISR_NOERRORCODE 13 $13
|
||||
ISR_NOERRORCODE 14 $14
|
||||
ISR_NOERRORCODE 15 $15
|
||||
ISR_NOERRORCODE 16 $16
|
||||
ISR_NOERRORCODE 17 $17
|
||||
ISR_NOERRORCODE 18 $18
|
||||
ISR_NOERRORCODE 19 $19
|
||||
ISR_NOERRORCODE 20 $20
|
||||
ISR_NOERRORCODE 21 $21
|
||||
ISR_NOERRORCODE 22 $22
|
||||
ISR_NOERRORCODE 23 $23
|
||||
ISR_NOERRORCODE 24 $24
|
||||
ISR_NOERRORCODE 25 $25
|
||||
ISR_NOERRORCODE 26 $26
|
||||
ISR_NOERRORCODE 27 $27
|
||||
ISR_NOERRORCODE 28 $28
|
||||
ISR_NOERRORCODE 29 $29
|
||||
ISR_NOERRORCODE 30 $30
|
||||
ISR_NOERRORCODE 31 $31
|
||||
|
||||
|
||||
irs_common:
|
||||
pusha # Pushes edi,esi,ebp,esp,ebx,edx,ecx,eax
|
||||
|
||||
mov %ds, %ax
|
||||
push %eax
|
||||
|
||||
/* load the kernel data segment descriptor*/
|
||||
|
||||
mov $0x10, %ax
|
||||
mov %ax, %ds
|
||||
mov %ax, %es
|
||||
mov %ax, %fs
|
||||
mov %ax, %gs
|
||||
|
||||
mov %esp, %eax
|
||||
push %eax
|
||||
|
||||
call irs_handler
|
||||
|
||||
pop %eax
|
||||
pop %ebx // reload ther orignal data segment descriptor
|
||||
mov %bx, %ds
|
||||
mov %bx, %es
|
||||
mov %bx, %fs
|
||||
mov %bx, %gs
|
||||
|
||||
popa
|
||||
add $12, %esp # cleans push error and irs code
|
||||
|
||||
iret # pops 5 things at once: CS, EIP, EFLAGS, SS, and ESP
|
||||
Reference in New Issue
Block a user