Re: Will OEMinterruptHandler be preempted by a higher priority IRQ?

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Thank you all very much.

Another question about real-time.
After return SYS_INTR to kernel in OEMInterruptHandler, kernel will make a
call SetEvent(SYS_INTR),then what will happen? SetEvent() will wake up
WaitforSingleObject directly? Or it just makes that event singled and after
a system tick(1ms), the scheduler will let WaitforSingleObjet wake up?

Thaks
Lee

"John Eldridge [MSFT]" <johneld@xxxxxxxxxxxxxxxxxxxx> wrote in message
news:uZUqsbeZFHA.1092@xxxxxxxxxxxxxxxxxxxxxxx
> For completeness, it should be noted that this is ARM specific. On ARM,
the
> ISR is entered with interrupts disasbled (must explicitly re-enable to
allow
> nesting as Steve points out), but on MIPS, SHx, and x86, an OEM can
> configure the kernel to enter the ISR with some higher priority interrupts
> enabled (under OEM control). Of course, caution must still be exercised to
> ensure that the ISR code is re-entrant safe.
>
>
>
> John Eldridge
> Microsoft Corporation
> KITL First. Ask questions later!
> http://blogs.msdn.com/kitlfirst
>
> Disclaimer: This posting is provided "as is" with no warranties, and
> confers no rights.
>
> ~~~~~~~~~~~~~~~
>
>
> "Dean Ramsier" <ramsiernospam@xxxxxxxxxx> wrote in message
> news:eQPXaGeZFHA.1040@xxxxxxxxxxxxxxxxxxxxxxx
> > Correct
> >
> > --
> > Dean Ramsier - eMVP
> > Vibren Technologies
> > http://www.vibren.com/Products/schema_bsp.htm
> >
> >
> > "news.microsoft.com" <li.ning@xxxxxxxxxxxxxxxx> wrote in message
> > news:%23ywy9LaZFHA.3272@xxxxxxxxxxxxxxxxxxxxxxx
> >> Then you mean that by default in OEMInterruptHander(), interrupt has
been
> >> disabled by the kernel, so it will not be re-enter?
> >>
> >>
> >> "Steve Maillet (eMVP)" <nospam1@xxxxxxxxxxxxxxxxxxxxxxx> wrote in
message
> >> news:O$z7WFaZFHA.4036@xxxxxxxxxxxxxxxxxxxxxxx
> >> > Wrong, Windows CE does support nested interrupts. However YOUR OAL
must
> >> > enable interrupts in OEMInterrupthandler and ALL branches of that
> > function
> >> > and any Installable ISRs must be written to take into account that
they
> >> may
> >> > be executed with interrupts on. This is not enabled by default
because
> > of
> >> > the added complexity.
> >> >
> >> > --
> >> > Steve Maillet
> >> > EmbeddedFusion
> >> > www.EmbeddedFusion.com
> >> > smaillet at EmbeddedFusion dot com
> >> >
> >> >
> >>
> >>
> >
> >
>
>


.



Relevant Pages

  • Re: 2.6.12 sound problem
    ... >>of obscure kernel parameters. ... Allocating PCI resources starting at 10000000 ... Using ACPI for IRQ routing ... Using CSCINT to route CSC interrupts to PCI ...
    (Linux-Kernel)
  • Re: [PATCH] Documentation: Make fujitsu/frv/kernel-ABI.txt 80 columns wide
    ... -The internal FRV kernel ABI is not quite the same as the userspace ABI. ... -most of them do not have any scratch registers, thus requiring at least one general purpose ... +single-stepping will blithely go on stepping into things like interrupts. ... -to read and once to write), we don't actually disable interrupts at all if we don't have to. ...
    (Linux-Kernel)
  • How to avoid serial port buffer overruns?
    ... port buffer overruns quite easily if I use a baudrate high enough (I start ... Back when I was using the 2.4 kernel, ... (with disk I/O for example). ... 2/ How can I identify why the serial interrupts are delayed? ...
    (Linux-Kernel)
  • Re: kernel loading question
    ... >> decompress_kernel that decompresses the kernel starting at $0x100000. ... >> If we were loaded high, we first move the code back to $0x1000 before ... > interrupts on the current processor. ... - * Do the decompression, and jump to the new kernel.. ...
    (Linux-Kernel)
  • Kernel support for peer-to-peer protection models...
    ... except for the protection model supported by the hardware. ... of a server process or DLL may be non-addressable by an app process, ... Hardware interrupts are involuntary inter-space calls. ... the kernel and the apps. ...
    (Linux-Kernel)