Re: What OS calls are ISR safe?



Maybe I wasn't clear. I don't ever want to totally unsuspend based on
this interrupt (it is the SD Card removal interrupt) but I do want to
know if the card was removed while the system was suspended, so that
when the system finally does unsuspend it will know whether or not the
card was removed and I can do some custom behavior at the application
layer.

My OEMPowerOff:

disable interrupts
save interrupt mask
mask out non wake source interrupts
Get wake source
while no valid wake source
clear int sources
enable Ints
cpuEnterIdle // Processor actually goes to sleep here
disable Ints
Get wake source
restore int mask
enable Ints

While I can appreciate your caution Steve, CE would be the only RTOS I
know of that provides no API in an ISR. And in fact it is not true
since I can see several functions being called in the ISR context.
i.e.
PerfCountSinceTick()
ERRORMSG()
DEBUGMSG()

The kernel itself is obviously setting an event to cause the IST to
run! Theoretically as long as nothing suspends or causes the scheduler
to attempt to run it should be ok.

.



Relevant Pages

  • Re: IDE to CF Card Issue
    ... Good CF Card information: ... ATA Card ... CQueuedPipe::CheckForDoneTransfers - failure on TD 0x2e5960, ... Interrupt still delayed; status ...
    (microsoft.public.windowsce.embedded)
  • Re: WinCE 5.0 pcmcia public code bug?
    ... started in memory mode and that is the Card Ready/Busy line. ... that same line become Interrupt Request line. ... > For embeded device (which the irq is only used for PCCard), ... >> (using ATADISK driver) for example. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: PC Card gurus..please help..
    ... I am stuck up in the part where Socket Service's IST ... only one IRQ for the PC Card (as opposed to one for the Card Status ... Change interrupt and one function interrupt for the function ... and returning the appropriate SYSINTR. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: em(4) stops forwarding
    ... the card has stopped working several times. ... The interrupt is shared since the machine is a notebook. ... as my USB mouse stopped working - the USB controller is on the same irq. ... So even though the if_em driver has a very fast interrupt ...
    (freebsd-current)
  • Re: Installable Interrupt on PCI
    ... Your registry and functions look good. ... When an interrupt happens, GIISR just walks the chain until someone claims ... Please remember that a single card works fine! ...
    (microsoft.public.windowsce.platbuilder)