IRQ's do not fire

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.
Post Reply
V01DNULL
Posts: 2
Joined: Mon Sep 21, 2020 10:52 am

IRQ's do not fire

Post 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.
Octocontrabass
Member
Member
Posts: 5568
Joined: Mon Mar 25, 2013 7:01 pm

Re: IRQ's do not fire

Post 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.
V01DNULL
Posts: 2
Joined: Mon Sep 21, 2020 10:52 am

Re: IRQ's do not fire

Post by V01DNULL »

Thank you, I will try that.
Post Reply