Page 1 of 1

Interesting Graphics Card IRQ

Posted: Fri Dec 23, 2011 4:05 pm
by janktrank
I just happened to stumble upon an interesting IRQ for my graphics card. All the other hardware devices have IRQs < 200 except my graphics card which apparently has the IRQ 0xFFFFFFFE. What exactly is the significance of this IRQ? It looks like it would be much too large to refer to a physical interrupt line on the PIC/IO APIC like the other devices do. Does it have something to do with a message signaled interrupt?

Thanks in advance.

Re: Interesting Graphics Card IRQ

Posted: Fri Dec 23, 2011 4:18 pm
by Combuster
Processor interrupts are limited to 256 total (0-255). 0xFFFFFFFE probably means you didn't understand the documentation (nor what 2s complement is).

Re: Interesting Graphics Card IRQ

Posted: Fri Dec 23, 2011 4:43 pm
by janktrank
Combuster wrote:Processor interrupts are limited to 256 total (0-255). 0xFFFFFFFE probably means you didn't understand the documentation (nor what 2s complement is).
I wasn't reading any documentation; I was just looking at the IRQs for Windows 7. As for 2s compliment, an IRQ of negative two doesn't make sense to me either.

Re: Interesting Graphics Card IRQ

Posted: Fri Jan 06, 2012 2:03 pm
by azblue
janktrank wrote:
Combuster wrote:Processor interrupts are limited to 256 total (0-255). 0xFFFFFFFE probably means you didn't understand the documentation (nor what 2s complement is).
I wasn't reading any documentation; I was just looking at the IRQs for Windows 7. As for 2s compliment, an IRQ of negative two doesn't make sense to me either.
-3 on my wife's computer; I don't know what it's supposed to mean either. Weird.

Re: Interesting Graphics Card IRQ

Posted: Fri Jan 06, 2012 2:35 pm
by rdos
I've seen it too. I think you are right and it refers to a MSI. M$ could have written "MSI" instead of faulty interrupt numbers!

Re: Interesting Graphics Card IRQ

Posted: Fri Jan 06, 2012 11:35 pm
by Brendan
Hi,

Maybe it's meant to be "interrupt 0xFE" and was sign extended (during conversion to "int") by accident.


Cheers,

Brendan

Re: Interesting Graphics Card IRQ

Posted: Sat Jan 07, 2012 7:05 am
by rdos
Brendan wrote:Hi,

Maybe it's meant to be "interrupt 0xFE" and was sign extended (during conversion to "int") by accident.


Cheers,

Brendan
Or maybe M$ allocated an interrupt (for MSI) that was lower than the base for IO-APIC interrupts, and then they report a negative number?

Re: Interesting Graphics Card IRQ

Posted: Fri Jan 27, 2012 11:21 am
by evoex
This is a bit of a late reply... I read this message googling regarding something else for osdev, and I wanted to mention something not mentioned yet.

I think the "error" must be in the code similar to this:

Code: Select all

isr254:
push byte 254
I used that code at first in nasm but got a warning about 254 being too big a value: apparently, there is no instruction for "push byte 254" where 254 is unsigned. Rather, it is translated into "push byte -2" and pushes "0xFFFFFFFE" on the stack (haven't tested this, but that's what I read).
So that interrupt number may really just mean interrupt 254. Just take the least significant 8 bits.