ISR's in Pmode
Posted: Wed Jan 23, 2002 7:55 pm
So I'm trying to write an ISR that will run in Pmode. I'm doing this in C, with the requisite asm wrapper. I believe that my ASM wrapper and C code are ok because I can switch the iret to a ret and it works exactly as I expect (reads keycode from 0x60 and displays to screen). So with all that in place...
How do I register this interrupt? I know how to unmask the IRQ, but where do I put the pointer to my function? I've read Craig Peacock's tutorial/intro [ http://www.nondot.org/sabre/os/files/Mi ... terupt.pdf ] and it seems very clear, but I think that it was written with real mode in mind and things seem very different in protected mode.
So obviously it's not as simple as writing &my_keyboard_isr to memory location 9 * 32. How is it done?
How do I register this interrupt? I know how to unmask the IRQ, but where do I put the pointer to my function? I've read Craig Peacock's tutorial/intro [ http://www.nondot.org/sabre/os/files/Mi ... terupt.pdf ] and it seems very clear, but I think that it was written with real mode in mind and things seem very different in protected mode.
So obviously it's not as simple as writing &my_keyboard_isr to memory location 9 * 32. How is it done?