I've just implemented paging (which does actually appear to work, much to my surprise). However, my OS already has working interrupt handlers, which none of the tutorials seem to deal with much. However, now when I press a key, the interrupt does not fire. However, IRQ0 still fires and works correctly, so my last guess is it's how I'm initializing the PS/2 controller, but it worked perfectly before paging was enabled. I do actually get one key event (for which no key has been pressed/released), but I send EOIs correctly so this isn't stopping further interrupts being sent.
I don't want to dump a whole bunch of code, and I have no idea where to even look tbh, I've looked for everything I think was obvious, but clearly I'm missing something. Please ask for whatever might be helpful.
Thanks in advance, despite the shoddy description of the problem.
[SOLVED] IRQ1 not firing after enabling paging
-
- Member
- Posts: 47
- Joined: Sun Sep 06, 2015 5:40 am
[SOLVED] IRQ1 not firing after enabling paging
Last edited by isaacwoods on Tue Jul 11, 2017 7:35 am, edited 1 time in total.
Re: IRQ1 not firing after enabling paging
You used versioning, right? So go back in versions to find the last one that works correctly and then you can easily compare the last that worked to the _first_ that didn't, that should (hopefully) just be a couple of lines of code.BaconWraith wrote:However, now when I press a key, the interrupt does not fire. However, IRQ0 still fires and works correctly, so my last guess is it's how I'm initializing the PS/2 controller, but it worked perfectly before paging was enabled.
What exactly is a key event? Is that one IRQ1? What do you mean "no key has been pressed"?BaconWraith wrote: I do actually get one key event (for which no key has been pressed/released), but I send EOIs correctly so this isn't stopping further interrupts being sent.
You have checked that IRQ1 is unmasked? You have checked that there's nothing in the buffer on the PS/2 controller? Did you check the suggested PS/2 controller init sequence:
http://wiki.osdev.org/%228042%22_PS/2_C ... Controller
-
- Member
- Posts: 47
- Joined: Sun Sep 06, 2015 5:40 am
Re: IRQ1 not firing after enabling paging
Ugh, sorry. I had already looked at the diff but thanks for the tip, and I just completely misread the bug. The keyboard wasn't firing again because a page fault (which of course didn't happen before) picked up on a bug in my key handler's ring buffer implementation, which meant I wasn't reading the scancode from the PS/2 controller, so it didn't send more interrupts.