Re: About sharing IRQ with installing giisr.dll by Dean
Dean
Mon May 21 08:07:48 CDT 2007
The PortAddr value needs to be a statically mapped address, which the kernel
address is. The correct way of obtaining that address is to use
BusTransBusAddrToStatic() to get the correct value.
--
Dean Ramsier - eMVP
BSQUARE Corporation
"Stanley" <Stanley@discussions.microsoft.com> wrote in message
news:C44F3923-993E-4449-B101-2F679AE33A03@microsoft.com...
>
> The problem seems to be solved. It seems to cause by the parameter
> "PortAddr"
> of GIISR_INFO. I give the address which return by MmMapIOSpace(). It will
> be
> data abort when the interrupt is occurred.
> Then, I fixed it by giving the kernel space address then it works.
> Thanks for your suggestion.
> Regards,
>
> "Josh Chang" wrote:
>
>> Hi Stanley,
>>
>> There must be an extra global variable for you to know where the
>> interrupt actually arises among those shared resources.
>> In your IST, check if the interrupt happens or not ->
>> enter the correspondent ISR according to the variable value.
>>
>> "Stanley" wrote:
>>
>> > Hi,
>> > I use the giisr.dll for sharing the IRQ between two ports of PS2
>> > device.
>> > But, once the mouse is move or click (interrupt is occurred), the
>> > kernel
>> > will crash.
>> > I use the KITL for debugging but it will disconnect after kernel crash.
>> > And I print the massage before and after calling NKCallIntChain().
>> > There seems something wrong in the function.
>> > Doese anyone meet the same problem?
>> > Please give me some suggestion.
>> > Thanks for your kindly help.
>> >
>> > Sincerely,