0

I've been spending a few hours of searching and I can't seem to find what I need.

I'm looking at reading the IRQ Tables, I know this is kernel level, I have access to the memory addresses, but I can't find a place showing the structure of the tables. I'd like to be able to read which devices have access to which of the 15 IRQs. I have been able to read through all the connected devices buy this doesn't give a complete list.

I would also like to be able to read the address each IRQ/ISR is associated with.

Thankyou so much if you can help me in anyway.

tadman
  • 208,517
  • 23
  • 234
  • 262
  • 2
    "Hardware" is not an ISA I'm familiar with. Can you be more specific here in terms of *exactly* what you're trying to do, and more importantly how C factors into it? Example code goes a long way towards illustrating what you're trying to achieve. – tadman Jun 30 '18 at 17:05
  • I'm wanting to read the IRQ Tables (Interrupt Vector Table, Hardware IRQ Table, etc), the devices attached to it, beyond just the unmovable ones, and the corresponding execution contained in those tables. I would also like to be able to verify if an IRQ has been enabled or not, to make sure I am accessing the right port (0x21) – user6901898 Jun 30 '18 at 17:49
  • 2
    Since you seem to assume Intel architecture: https://wiki.osdev.org/IDT [starting at 386, the vector table is pointed to by a register]How to manage it: take a look at the Linux-sources (remember: it is open source!) – wildplasser Jun 30 '18 at 18:08
  • Thanks, that's been some help. I have the right table. I am assuming that it is a reference of a reference. (The 4bytes are referring to a memory address, which is 4 bytes to another memory address it should start executing.) I wanted to get a complete list of the in use IRQs, and ISRs, I can then properly understand hooking it to make sure a device is issuing interrupts, and also to have a better understanding of the hardware communication. What you have given kinda helps, I am still slightly confused. (I have been using IVT in a DOS emulator, to keep things simple for the moment.) – user6901898 Jul 01 '18 at 03:02

0 Answers0