Page 1 of 1

IRQ's do not fire

Posted: Mon Sep 21, 2020 11:05 am
by V01DNULL
Hey all, first time posting and OS-Deving :)

I am making a 32 bit OS with grub as it's bootloader, and I got the IDT, ISR's and the GDT up and running.
I followed this tutorial for the IRQ's (http://www.osdever.net/bkerndev/Docs/irqs.htm)

As the title states, my OS cannot fire IRQ's - meaning nothing happens when I call my irq install function.

Here is my github repo containing the project:
https://github.com/V01D-NULL/BreezeOS

The folder of the IRQ's, IDT, and ISR's is here:
https://github.com/V01D-NULL/BreezeOS/t ... rc/cpu/idt

The folder of the keyboard handler:
https://github.com/V01D-NULL/BreezeOS/b ... keyboard.c

It would mean the world to me if you guy's could check it out and tell me what is going wrong - I have spent the past week trying to get this to work.

Thanks ahead of time.

Re: IRQ's do not fire

Posted: Mon Sep 21, 2020 8:18 pm
by Octocontrabass
When you remap the PIC, you mask all IRQs, but you never unmask them.

I see you tried unmasking the keyboard IRQ, but you also have to make sure its buffer is empty since it can't raise another IRQ when its buffer is already full.

I suggest starting with the timer (IRQ0). It should periodically raise an IRQ, and you don't have to do anything but unmask it.

Re: IRQ's do not fire

Posted: Tue Sep 22, 2020 5:26 am
by V01DNULL
Thank you, I will try that.