RE: ISR gets called although device does not interrup t

OK I know I feel silly for not thinking that… Maybe I need another cup
of coffee… Time to head down to the office…

That could be particularly nasty to the system (esp. if it takes more than a
handful of microseconds to get ready), but very simple and elegant to
code/test, and if it works, it’s yet another ‘smoking gun’ to refer to when
Madhu goes to yell at the hardware folks…

-Tim

Timothy A. Johns — xxxxx@driverdev.com
Driver Development Corporation — 800.841.0092
Bring Up Your Hardware — Fast. www.driverdev.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Barila, Phil
Sent: Wednesday, June 13, 2001 10:35 AM
To: NT Developers Interest List
Subject: [ntdev] RE: ISR gets called although device does not interrup t

Is it possible to induce a delay in your ISR to allow the thing
to complete
the interrupt assertion? Or will you always have this race condition as
long as the hardware is broken?

Phil


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hi,

I copied the hal.dll from the Win2K CD and things seem
to work fine. But can I do the same thing by making
use of IRP_MN_FILTER_RESOURCE_REQUIREMENTS?

Thanks for your time answering my questions. I
appreciate it.
Madhu

— “Roddy, Mark” wrote:
> Yes, you can install the non-acpi hal on your system
> and ‘voila’ it is a
> non-acpi machine.
>
> You want to do this EXPERIMENTALLY using the /HAL=
> boot.ini switch so that
> in case I am a fool who doesn’t know what he is
> talking about, you can still
> boot the system using the original boot
> configuration. In case this isn’t
> clear: you need to get the non-acpi hal from the
> distribution CD and copy it
> to your test system system32 directory, naming it
> something like halx86.dll
> or whatever. You need to copy your current boot.ini
> line for debugging and
> add the /HAL=halx86.dll. Be very careful to use the
> same hal build type as
> your kernel (checked or free) or the system will
> have a hideous bugcheck.
>
> However this is all a waste of time. Your hardware
> is broken, very, very
> broken, and it has to be fixed.
>
> -----Original Message-----
> From: M V [mailto:xxxxx@yahoo.com]
> Sent: Wednesday, June 13, 2001 10:24 AM
> To: NT Developers Interest List
> Subject: [ntdev] RE: ISR gets called although device
> does not interrup t
>
>
> Hi Mark,
>
> Yes. I understand that the device must be able to
> support shared interrupts. But the person who had
> designed this card has not taken care of shared
> interrupts and there is no way we can fix the card
> now. If I try to read from the status register of
> the
> card while it is in the processing of asserting an
> interrupt, the card is left in an invalid state and
> a
> call to READ_REGISTER_ULONG to read the status
> register results in the machine freezing. Hence I am
> looking for a way to have an exclusive interrupt for
> my device. Is there any way to disable ACPI ?
>
> Thanks a lot
> Madhu
>
> — “Roddy, Mark” wrote:
> > You don’t. The ACPI hal will ignore whatever you
> try
> > to do in the bios. But
> > that suggestion was all wrong anyhow. Your PCI
> > device absolutely MUST be
> > able to share interrupts. You need to figure out
> > what you are doing wrong,
> > either in your driver or perhaps on your hardware,
> > rather than looking for
> > hack work arounds.
> >
> > -----Original Message-----
> > From: M V [mailto:xxxxx@yahoo.com]
> > Sent: Wednesday, June 13, 2001 8:25 AM
> > To: NT Developers Interest List
> > Subject: [ntdev] RE: ISR gets called although
> device
> > does not interrupt
> >
> >
> > My machine has ACPI installed on it, which I think
> > is responsible for
> > interrupt sharing by PCI devices. When I call
> IoCOnnectInterrupt(),
> > for the ShareVector parameter, I just use the
> parameter
> > pPartialDescriptor->ShareDisposition, which is
> given
> > by the
> > PnPManager. How do I reserve an interrupt for
> myself
> > in the BIOS setting ?
> >
> > Thanks
> > Madhu
> >
> > — xxxxx@att.net wrote:
> > > If you suspect that it’s PCI interrupt sharing,
> > you
> > > can
> > > make your driver to use one interrupt that it’s
> > not
> > > used
> > > by other PCI devices in your system and reserve
> > that
> > >
> > > Interrupt in BIOS settings and then when ur
> driver
> > > comes
> > > up it would be having exclusive access to that
> > > Interrupt.
> > > Otherway of achieveing this, not to share
> the
> >
> > > interrupt at all. Just check out the API that u
> > use
> > > to
> > > register your ISR and rest with OS. But in
> > principle
> > > PCI
> > > should be able to share interrupts with other
> PCI
> > > peripherals.
> > > Please let us know about these.
> > > 1. What type of device is this?
> > > 2. R u checking status register directly in your
> > ISR
> > > or
> > > in a DPC?
> > >
> > > thanks
> > >
> > > –
> > > Girish H.
> > > > Madhu,
> > > >
> > > > If this hang is narrowed down such that it
> only
> > > appears exactly on the read
> > > > of the status port, I’d recommend going to the
> > > hardware folks or looking at
> > > > what’s on the PCI bus with a logic analyzer.
> > > Sounds like hardware/firmware
> > > > to me given that information.
> > > >
> > > > -Tim
> > > >
> > > >
> > > > Timothy A. Johns — xxxxx@driverdev.com
> > > > Driver Development Corporation —
> 800.841.0092
> > > > Bring Up Your Hardware — Fast.
> > www.driverdev.com
> > > >
> > > >
> > > > > -----Original Message-----
> > > > > From: xxxxx@lists.osr.com
> > > > > [mailto:xxxxx@lists.osr.com]On
> > > Behalf Of M V
> > > > > Sent: Tuesday, June 12, 2001 10:01 AM
> > > > > To: NT Developers Interest List
> > > > > Subject: [ntdev] RE: ISR gets called
> although
> > > device does not interrupt
> > > > >
> > > > >
> > > > > Hi Tim.
> > > > >
> > > > > My device is accessing an interrupt that
> seems
> > > to be
> > > > > shared by all PCI devices including a
> network
> > > adapter.
> > > > >
> > > > > 1. When I boot the system, my ISR gets a lot
> > of interrupts from
> > > > > other devices as well, probably because it
> may
> > be among the the
> > > > > first ISRs
> > > available
> > > > > in that interrupt vector chain. When my
> device
> > (
> > > a
> > > > > FIFO card which sends an interrupt every
> time
> > it
> > > is
> > > > > half full) starts sending interrupts, in
> > between
> > > these
> > > > > interrupts I get interrupts from other
> devices
> > > as
> > > > > well. After some time, the machine just
> > freezes
> > > > > although the device still is interrupting.
> It
> > > freezes
> > > > > at the point where I am trying to read a
> > status
> > > > > register of the device to determine whether
> it
> > > is my
> > > > > interrupt or not.
> > > > >
>
=== message truncated ===

__________________________________________________
Do You Yahoo!?
Spot the hottest trends in music, movies, and more.
http://buzz.yahoo.com/


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com