Interrupts On Windows-7 build 7600.

Hi All,
I have a WDM function driver which works great on windows XP but on windows 7 I only get one interrupt and after that my ISR is never called. My device is a PCIE device and my ISR clears all the raised interrupt and then write EOI register. Are there some additional requirements for handling interrupts on Windows-7.

Any pointers are highly appreciated.
– Ajitabh.

Well xp does not support pcie while win7 does, so i would start with that difference

d

Sent from my phone with no t9, all spilling mistakes are not intentional.


From: Ajitabh Saxena
Sent: Monday, September 28, 2009 11:06 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Interrupts On Windows-7 build 7600.

Hi All,
I have a WDM function driver which works great on windows XP but on windows 7 I only get one interrupt and after that my ISR is never called. My device is a PCIE device and my ISR clears all the raised interrupt and then write EOI register. Are there some additional requirements for handling interrupts on Windows-7.

Any pointers are highly appreciated.
– Ajitabh.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Do you have the same build binary code for XP and Windows 7?
It is strange behavior. The code should work for both version of Windows. As I know there is not differences in support PCIe for Window 7 and early version of Windows.
If you have a PCI bus analyzer you could check if your device generates interrupt. At least you could be sure that your device work properly.

Igor Sharovar

Ajitabh Saxena wrote:

Hi All,
I have a WDM function driver which works great on windows XP
but on windows 7 I only get one interrupt and after that my ISR is
never called. My device is a PCIE device and my ISR clears all the
raised interrupt and then write EOI register. Are there some
additional requirements for handling interrupts on Windows-7.

Do you mean you are literally writing the EOI register in the interrupt
controller at port 0x20/0xa0? That’s not your job. The I/O subsystem
will handle EOI after your interrupt handler returns. You just deal
with your card.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Sorry for the confusion I think there is a device specific EOI register for my device that I write. Not the 0x20 /0xa0 registers.

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Tuesday, September 29, 2009 9:44 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Interrupts On Windows-7 build 7600.

Ajitabh Saxena wrote:

Hi All,
I have a WDM function driver which works great on windows XP
but on windows 7 I only get one interrupt and after that my ISR is
never called. My device is a PCIE device and my ISR clears all the
raised interrupt and then write EOI register. Are there some
additional requirements for handling interrupts on Windows-7.

Do you mean you are literally writing the EOI register in the interrupt
controller at port 0x20/0xa0? That’s not your job. The I/O subsystem
will handle EOI after your interrupt handler returns. You just deal
with your card.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

>Well xp does not support pcie while win7 does, so i would start with that difference

XP and even w2k runs fine on PCIe machine with PCIe video card.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

In this scenario, it is pcie running entirely in pci mode since the os is not aware of pcie or how to use its capabilities. My point is that win7 and vista are aware of pcie and do use pcie capabilities and that awareness could have been the reason why connecting the interrupt was failing

d

Sent from my phone with no t9, all spilling mistakes are not intentional.

-----Original Message-----
From: Maxim S. Shatskih
Sent: Saturday, October 03, 2009 5:30 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Interrupts On Windows-7 build 7600.

>Well xp does not support pcie while win7 does, so i would start with that difference

XP and even w2k runs fine on PCIe machine with PCIe video card.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

The meaning is, WinXP does not distinguish PCIe from PCI
(does not know about MSIs, extra config space and so on).
–pa

“Maxim S. Shatskih” wrote in message
news:xxxxx@ntdev…
>>Well xp does not support pcie while win7 does, so i would start with that
>>difference
>
> XP and even w2k runs fine on PCIe machine with PCIe video card.
>
> –
> Maxim S. Shatskih
> Windows DDK MVP
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
>

You wrote:

>Well xp does not support pcie while win7 does, so i would start with
>that difference

XP and even w2k runs fine on PCIe machine with PCIe video card.

On a PCIe machine, XP and Win2K both are completely fooled into believing that they are running on a PCI bus. That’s what he means. XP and 2K have no support for any PCIe features at all.

Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

>On a PCIe machine, XP and Win2K both are completely fooled into believing >that they are running on a PCI bus. That’s what he means. XP and 2K have no >support for any PCIe features at all.
What kind of PCIe futures which were added in Vista and Win7 would a cause of stopping getting hardware interrupt? Analyzing such problem would be useful not only for OP who asked the question.

Igor Sharovar

> What kind of PCIe futures which were added in Vista and Win7

MSI?


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

>> What kind of PCIe futures which were added in Vista and Win7

MSI?
I agree. I think it is MSI, which related to OP problem.
The OP’s board should support both types of interrupts - “old” style PCI and MSI.
When his board run on XP which does not have support MSI the board uses INTx emulation which works fine. But when the board run on Windows 7 it uses MSI which probably doesn’t work correctly.
OP needs to run some tools, like PCIe bus analyzer, to debug PCIe transactions.

Igor Sharovar

Don’t forget about MSI-X under Windows 7 and Server 2008 R2. There are some
differences there, though I haven’t researched how much of that is in the
hardware, but I am sure there is some.

wrote in message news:xxxxx@ntdev…
>>> What kind of PCIe futures which were added in Vista and Win7
>>MSI?
> I agree. I think it is MSI, which related to OP problem.
> The OP’s board should support both types of interrupts - “old” style PCI
> and MSI.
> When his board run on XP which does not have support MSI the board uses
> INTx emulation which works fine. But when the board run on Windows 7 it
> uses MSI which probably doesn’t work correctly.
> OP needs to run some tools, like PCIe bus analyzer, to debug PCIe
> transactions.
>
> Igor Sharovar
>
>
>
>
>
>
>