Help :: Registering ISR in Win 2k

Hi all,

'am trying to Register ISR in my driver (Win2000). But 've the
following problem. I use HalGetBusdata() & then HalAssignSlotResources()
followed by HAlGetinteruptVector() & then IoConnectInterrupt(). I know
these are obselete calls but still since it’s an older driver I have no
option but to continue with it.

Now my problem is All of these calls are trough. But when my device
interrupts, my registered ISR is not called… consequently the
interrupt is not resetted & the system hangs… The message i get on
Win Debugger is

***** ISR at bffac9a… 5500 interrupts in <.05 sec.

=> bffac9a is not the addr of my ISR

=> I feel Windows 2000 is calling some ISR but it’s not the one I’ve
registered.
what can be the reason ???
Can anyone please help me out of this???

I’ve really experimented a lot with this but now stuck up… I’ve already
mailed this problem on this list but did not get any reply…

Any suggestions are welcome…

Thanx,

SP.

Are you sure that the ISR is registerd for the correct vector ? Do you also
indicate to the system that this interrupt can be shared ?


Nar Ganapathy
Windows Core OS group
This posting is provided “AS IS” with no warranties, and confers no rights.

“Shailesh” wrote in message news:xxxxx@ntdev…
>
> Hi all,
>
> 'am trying to Register ISR in my driver (Win2000). But 've the
> following problem. I use HalGetBusdata() & then HalAssignSlotResources()
> followed by HAlGetinteruptVector() & then IoConnectInterrupt(). I know
> these are obselete calls but still since it’s an older driver I have no
> option but to continue with it.
>
> Now my problem is All of these calls are trough. But when my device
> interrupts, my registered ISR is not called… consequently the
> interrupt is not resetted & the system hangs… The message i get on
> Win Debugger is
>
> ***** ISR at bffac9a… 5500 interrupts in <.05 sec.
>
> => bffac9a is not the addr of my ISR
>
> => I feel Windows 2000 is calling some ISR but it’s not the one I’ve
> registered.
> what can be the reason ???
> Can anyone please help me out of this???
>
> I’ve really experimented a lot with this but now stuck up… I’ve already
> mailed this problem on this list but did not get any reply…
>
> Any suggestions are welcome…
>
> Thanx,
>
> SP.
>
>

hi,

thanx a lot for that reply…

Yup … 'am sure, 'am registering for the correct vector… I use the
return value I get from HalGetInterruptVector().

I do report, that my interrupt is shareable… i specify TRUE for shareable
parameter in the IoConnectInterrupt() call. & I have to keep it shared
right?? it’s PCI interrupt. Ofcourse I tried giving it as non shared but
then IoConnectInterrupt() returns STATUS_INVALID_PARAMETER.

any other way out??

Please let me know.

Thanx,

SP.

HalGetInterruptVector is obsolete. The HAL team is not planning to support
it. So its kind of hard to answer your question. You should really make your
driver a PnP driver.


Nar Ganapathy
Windows Core OS group
This posting is provided “AS IS” with no warranties, and confers no rights.
“Shailesh” wrote in message news:xxxxx@ntdev…
>
> hi,
>
> thanx a lot for that reply…
>
> Yup … 'am sure, 'am registering for the correct vector… I use the
> return value I get from HalGetInterruptVector().
>
> I do report, that my interrupt is shareable… i specify TRUE for shareable
> parameter in the IoConnectInterrupt() call. & I have to keep it shared
> right?? it’s PCI interrupt. Ofcourse I tried giving it as non shared but
> then IoConnectInterrupt() returns STATUS_INVALID_PARAMETER.
>
> any other way out??
>
> Please let me know.
>
> Thanx,
>
> SP.
>
>

You guys might want to consider the need for debuggers and performance
evaluation tools to be able to intercept interrupts at IDT level and insert
their own lowest-level ISRs into the chain. Not every device driver drives a
device !

Alberto.

-----Original Message-----
From: Nar Ganapathy [MS] [mailto:xxxxx@windows.microsoft.com]
Sent: Tuesday, July 23, 2002 12:49 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Help :: Registering ISR in Win 2k

HalGetInterruptVector is obsolete. The HAL team is not planning to support
it. So its kind of hard to answer your question. You should really make your
driver a PnP driver.


Nar Ganapathy
Windows Core OS group
This posting is provided “AS IS” with no warranties, and confers no rights.
“Shailesh” wrote in message news:xxxxx@ntdev…
>
> hi,
>
> thanx a lot for that reply…
>
> Yup … 'am sure, 'am registering for the correct vector… I use the
> return value I get from HalGetInterruptVector().
>
> I do report, that my interrupt is shareable… i specify TRUE for shareable
> parameter in the IoConnectInterrupt() call. & I have to keep it shared
> right?? it’s PCI interrupt. Ofcourse I tried giving it as non shared but
> then IoConnectInterrupt() returns STATUS_INVALID_PARAMETER.
>
> any other way out??
>
> Please let me know.
>
> Thanx,
>
> SP.
>
>


You are currently subscribed to ntdev as: xxxxx@compuware.com
To unsubscribe send a blank email to %%email.unsub%%

The contents of this e-mail are intended for the named addressee only. It
contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or disclose
it to anyone else. If you received it in error please notify us immediately
and then destroy it.