Merge into main the new state of the operating system/kernel #1
@ -273,116 +273,140 @@ irs31:
|
|||||||
irq0:
|
irq0:
|
||||||
cli
|
cli
|
||||||
push $0
|
push $0
|
||||||
push $32
|
push $0
|
||||||
jmp irs_common
|
jmp irq_common
|
||||||
|
|
||||||
.globl irq1
|
.globl irq1
|
||||||
irq1:
|
irq1:
|
||||||
cli
|
cli
|
||||||
push $0
|
push $0
|
||||||
push $33
|
push $1
|
||||||
jmp irs_common
|
jmp irq_common
|
||||||
|
|
||||||
.globl irq2
|
.globl irq2
|
||||||
irq2:
|
irq2:
|
||||||
cli
|
cli
|
||||||
push $0
|
push $0
|
||||||
push $34
|
push $2
|
||||||
jmp irs_common
|
jmp irq_common
|
||||||
|
|
||||||
.globl irq3
|
.globl irq3
|
||||||
irq3:
|
irq3:
|
||||||
cli
|
cli
|
||||||
push $0
|
push $0
|
||||||
push $35
|
push $3
|
||||||
jmp irs_common
|
jmp irq_common
|
||||||
|
|
||||||
.globl irq4
|
.globl irq4
|
||||||
irq4:
|
irq4:
|
||||||
cli
|
cli
|
||||||
push $0
|
push $0
|
||||||
push $36
|
push $4
|
||||||
jmp irs_common
|
jmp irq_common
|
||||||
|
|
||||||
.globl irq5
|
.globl irq5
|
||||||
irq5:
|
irq5:
|
||||||
cli
|
cli
|
||||||
push $0
|
push $0
|
||||||
push $37
|
push $5
|
||||||
jmp irs_common
|
jmp irq_common
|
||||||
|
|
||||||
.globl irq6
|
.globl irq6
|
||||||
irq6:
|
irq6:
|
||||||
cli
|
cli
|
||||||
push $0
|
push $0
|
||||||
push $38
|
push $6
|
||||||
jmp irs_common
|
jmp irq_common
|
||||||
|
|
||||||
.globl irq7
|
.globl irq7
|
||||||
irq7:
|
irq7:
|
||||||
cli
|
cli
|
||||||
push $0
|
push $0
|
||||||
push $39
|
push $7
|
||||||
jmp irs_common
|
jmp irq_common
|
||||||
|
|
||||||
.globl irq8
|
.globl irq8
|
||||||
irq8:
|
irq8:
|
||||||
cli
|
cli
|
||||||
push $0
|
push $0
|
||||||
push $40
|
push $8
|
||||||
jmp irs_common
|
jmp irq_common
|
||||||
|
|
||||||
.globl irq9
|
.globl irq9
|
||||||
irq9:
|
irq9:
|
||||||
cli
|
cli
|
||||||
push $0
|
push $0
|
||||||
push $41
|
push $9
|
||||||
jmp irs_common
|
jmp irq_common
|
||||||
|
|
||||||
.globl irq10
|
.globl irq10
|
||||||
irq10:
|
irq10:
|
||||||
cli
|
cli
|
||||||
push $0
|
push $0
|
||||||
push $42
|
push $10
|
||||||
jmp irs_common
|
jmp irq_common
|
||||||
|
|
||||||
.globl irq11
|
.globl irq11
|
||||||
irq11:
|
irq11:
|
||||||
cli
|
cli
|
||||||
push $0
|
push $0
|
||||||
push $43
|
push $11
|
||||||
jmp irs_common
|
jmp irq_common
|
||||||
|
|
||||||
|
|
||||||
.globl irq12
|
.globl irq12
|
||||||
irq12:
|
irq12:
|
||||||
cli
|
cli
|
||||||
push $0
|
push $0
|
||||||
push $44
|
push $12
|
||||||
jmp irs_common
|
jmp irq_common
|
||||||
|
|
||||||
.globl irq13
|
.globl irq13
|
||||||
irq13:
|
irq13:
|
||||||
cli
|
cli
|
||||||
push $0
|
push $0
|
||||||
push $45
|
push $13
|
||||||
jmp irs_common
|
jmp irq_common
|
||||||
|
|
||||||
.globl irq14
|
.globl irq14
|
||||||
irq14:
|
irq14:
|
||||||
cli
|
cli
|
||||||
push $0
|
push $0
|
||||||
push $46
|
push $14
|
||||||
jmp irs_common
|
jmp irq_common
|
||||||
|
|
||||||
.globl irq15
|
.globl irq15
|
||||||
irq15:
|
irq15:
|
||||||
cli
|
cli
|
||||||
push $0
|
push $0
|
||||||
push $47
|
push $15
|
||||||
jmp irs_common
|
jmp irq_common
|
||||||
|
|
||||||
|
irq_common:
|
||||||
|
pusha
|
||||||
|
|
||||||
|
mov %ds, %ax
|
||||||
|
push %eax
|
||||||
|
|
||||||
|
mov $0x10, %ax
|
||||||
|
mov %ax, %ds
|
||||||
|
mov %ax, %es
|
||||||
|
mov %ax, %fs
|
||||||
|
mov %ax, %gs
|
||||||
|
|
||||||
|
call irq_handler
|
||||||
|
|
||||||
|
pop %eax
|
||||||
|
|
||||||
|
mov %ax, %ds
|
||||||
|
mov %ax, %es
|
||||||
|
mov %ax, %fs
|
||||||
|
mov %ax, %gs
|
||||||
|
|
||||||
|
popa
|
||||||
|
add $8, %esp # cleans push error and irs code
|
||||||
|
sti
|
||||||
|
iret # pops 5 things at once: CS, EIP, EFLAGS, SS, and ESP
|
||||||
|
|
||||||
|
|
||||||
irs_common:
|
irs_common:
|
||||||
|
Loading…
Reference in New Issue
Block a user