Merge into main the new state of the operating system/kernel #1

Open
Nigel wants to merge 120 commits from dev into main
Showing only changes of commit 5f50f8c013 - Show all commits

View File

@ -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: