CE 5.0 PCMCIA ISR issue
- From: FoolBlah <foolblah@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 4 Apr 2008 04:32:01 -0700
I have been working on a performance issue with our CE 5.0 platform. There
is a problem I am having with the PCMCIA driver and the ISR (client/data IRQ
not status IRQ or CD IRQ). What is happening is no matter what "NoISR" is
set to under "HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCC_MAINSTONEII0" the
installable ISR is being loaded. What this does is causes the actual
hardware IRQ from the PCMCIA card to be ignored thus clobbering anything else
that might be occuring throughout the system when an I/O transfer occurs
to/from the PCMCIA card. The goal is to priortize the IRQs via the 270
interrupt controller but I cannot due to the current issue.
The problem appears to be in the CPcmcia::PcmciaCardRequestIRQ() routine
located at \PUBLIC\COMMON\OAK\DRIVERS\PCCARD\PCMCIA\pcmcia.cpp. The CPcmcia
class inherits from CRegistryEdit helper class to deal with registry access.
When CPcmcia is initialized it passes the current active key path loaded in
the registry. The "NoISR" flag in the registry that controls is being looked
at based on the active registry path, which is not correct. This causes in
all cases for the installable ISR to be loaded and run no matter how "NoISR"
is set.
I can force the "NoISR" flag through the debugger, and when doing so the
code behaves as I expect it to. The ATADisk ISR is called when a hardware
IRQ is recieved from the PCMCIA card, does some I/O, waits for another IRQ,
etc. as it should.
Am I placing the "NoISR" in the wrong location, and if so, where does the
flag need to be placed for it to appear in the active registry key when the
driver is loaded? Since the "Active" key is dynamic based on what drivers
are loaded/unloaded I didn't think there was a way to pass it a static value
such as "NoISR".
Any insight is appreciated.
Thanks.
.
- Follow-Ups:
- RE: CE 5.0 PCMCIA ISR issue
- From: FoolBlah
- RE: CE 5.0 PCMCIA ISR issue
- Prev by Date: Re: How to protect HKEY_LOCAL_MACHINE keys from user mode access under CE6?
- Next by Date: RE: Bootloader
- Previous by thread: Re: How to protect HKEY_LOCAL_MACHINE keys from user mode access under CE6?
- Next by thread: RE: CE 5.0 PCMCIA ISR issue
- Index(es):
Relevant Pages
|