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,

RE: About sharing IRQ with installing giisr.dll by JoshChang

JoshChang
Wed May 16 04:28:01 CDT 2007

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,

RE: About sharing IRQ with installing giisr.dll by Stanley

Stanley
Mon May 21 03:04:01 CDT 2007


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,

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,