Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
If some of you people keep insisting on having backwards compatibitity with the stone age, we'll have stone tools forever.
My Hobby OS: https://github.com/heatd/Onyx
Why it's odd?
It's checking if the counter is bigger than 3.
If yes - it runs KiFatal with argument - string "It's time!~"
P.S. I'm using QEMU debugger to determine, that ISR is called.
Yes, you're right, my bad. Try replacing that iret for an 'iretd' or 'iretq'(iretq if you're in 64-bit mode).
PS: You also should want to add a 'cli' at the start of the IRQ handler
If some of you people keep insisting on having backwards compatibitity with the stone age, we'll have stone tools forever.
My Hobby OS: https://github.com/heatd/Onyx
Why it's odd?
It's checking if the counter is bigger than 3.
If yes - it runs KiFatal with argument - string "It's time!~"
P.S. I'm using QEMU debugger to determine, that ISR is called.
Yes, you're right, my bad. Try replacing that iret for an 'iretd' or 'iretq'(iretq if you're in 64-bit mode).
PS: You also should want to add a 'cli' at the start of the IRQ handler
Looks like GNU AS doesn't know instruction iretd, but iretl is ok.
Added cli, but all of this doesn't help =C
Check if you're actually returning from the interrupt handler, for starters.
If some of you people keep insisting on having backwards compatibitity with the stone age, we'll have stone tools forever.
My Hobby OS: https://github.com/heatd/Onyx