The driver gets a sysIntr using a defined IRQ (the IRQ is supposed to
be OK), and then tries to call InitializeInterrupt with the sysIntr
returned and the event I opened earlier.
For some reason the InterruptInit fails (GetLastError() returns code
87, invalid parameter).
I wanted to see if it fails in the set of (OALIntrEnableIrqs,
BSPIntrEnableIrq) -> (from reading posts here and watching the
callstack I understood that the calling order is as follows -
InterruptInitialize->OEMInterruptEnable->OALIntrEnableIrqs-
>BSPIntrEnableIrq). My problem is that when placing a breakpoint in
either OALIntrEnableIrqs or BSPIntrEnableIrq they dont get hit, and
retailmsgs dont get printed as well, which means to my undrstanding
that they dont get called.
So, what can cause InterruptInitialize to fail before calling these?
Thanks,
Shai
I forgot to mention this is a PXA27X based platform. and I am using
wince 6.0
Anyone has suggestion where is agood place to start looking?
Thanks,
Shai
--
Dean Ramsier - eMVP
BSQUARE Corporation
"shai" <sha...@gmail.com> wrote in message
news:2e9e01ab-99e9-4e36...@b1g2000pra.googlegroups.com...
Problem solved!
I was sure at first I had a problem with the SYSINTR I was using, but
it turned out to be the event handle. I used a driver from CE 5 and an
application was supplying the event handle for me, so as you can guess
interruptinitialzie failed because the pointer was bogus in the
driver's context.
I fixed it (hopefully next time I encounter this stuff I'll know
better... What can you do - I am new to this stuff)
Thanks,
Shai
Just wanted to put it together for the next newbie to come:
steps to setup interrupts in drivers:
1. call KernelIoControl(IOCTL_HAL_REQUEST_SYSINTR)
2. call InterruptInitialize with the sysintr recieved (use
DuplicateHandle() if you recieved the handle from a user) - another
reason for this to fail with errorCode 87 (invalid parameter) is if
you didnt release the sysIntr properly before
--when done do the following
3.InterruptDisable(SysIntr)
4.KernelIoControl(IOCTL_HAL_RELEASE_SYSINTR)
now it is possible to close the event.
That's it I think.
Shai
I am trying to write an IST(interrupt service thread) for soft-reboot
on Windows Mobile 5 devices.
Could anybody please help me out ?
The call to InterruptInitialize() fails.
Also did anybody know the IRQ for Hard-Reboot....
Please provide me the IRQ list / SYSINTR list.
Thanks,
Prasant
Why does the call fail?
--
Bruce Eitman (eMVP)
Senior Engineer
beitman AT applieddata DOT net
Applied Data Systems
www.applieddata.net
An ISO 9001:2000 Registered Company
Microsoft WEP Gold-level Member
<prasan...@gmail.com> wrote in message
news:744fee6b-9617-4ff8...@e23g2000prf.googlegroups.com...