f'd myself over of course, scheduler can now run user programs....
This commit is contained in:
@@ -18,10 +18,22 @@ isr\num:
|
||||
isr_common_stub:
|
||||
pushal
|
||||
|
||||
xor %eax, %eax
|
||||
mov %ds, %ax
|
||||
pushl %eax
|
||||
|
||||
mov $0x10, %ax
|
||||
mov %ax, %ds
|
||||
mov %ax, %es
|
||||
|
||||
pushl %esp
|
||||
call common_interrupt_handler
|
||||
addl $4, %esp
|
||||
|
||||
popl %eax
|
||||
mov %ax, %ds
|
||||
mov %ax, %es
|
||||
|
||||
popal
|
||||
addl $8, %esp
|
||||
iret
|
||||
@@ -44,17 +56,28 @@ ISR_ERRCODE 14 # Page Fault (Has Error Code!)
|
||||
.extern send_eoi_master # drivers/pic/pic.S
|
||||
isr32:
|
||||
cli
|
||||
pushal
|
||||
pushal
|
||||
call send_eoi_master
|
||||
|
||||
xor %eax, %eax
|
||||
mov %ds, %ax
|
||||
pushl %eax
|
||||
|
||||
mov $0x10, %ax
|
||||
mov %ax, %ds
|
||||
mov %ax, %es
|
||||
|
||||
pushl %esp
|
||||
call switch_context
|
||||
movl %eax, %esp
|
||||
|
||||
call send_eoi_master
|
||||
popl %eax
|
||||
mov %ax, %ds
|
||||
mov %ax, %es
|
||||
|
||||
popal
|
||||
sti
|
||||
iret
|
||||
iret
|
||||
|
||||
ISR_NOERRCODE 33 # IRQ1 - Keyboard
|
||||
|
||||
|
||||
Reference in New Issue
Block a user