Changeset cdf30f05 in rtems for doc


Ignore:
Timestamp:
06/19/15 12:57:44 (9 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, 5, master
Children:
df8341a
Parents:
f9090ac
git-author:
Sebastian Huber <sebastian.huber@…> (06/19/15 12:57:44)
git-committer:
Sebastian Huber <sebastian.huber@…> (06/22/15 06:40:26)
Message:

rtems: Add rtems_interrupt_local_disable|enable()

Add rtems_interrupt_local_disable|enable() as suggested by Pavel Pisa to
emphasize that interrupts are only disabled on the current processor.
Do not define the rtems_interrupt_disable|enable|flash() macros and
functions on SMP configurations since they don't ensure system wide
mutual exclusion.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/user/intr.t

    rf9090ac rcdf30f05  
    2222@item @code{@value{DIRPREFIX}interrupt_enable} - Enable Interrupts
    2323@item @code{@value{DIRPREFIX}interrupt_flash} - Flash Interrupt
     24@item @code{@value{DIRPREFIX}interrupt_local_disable} - Disable Interrupts on Current Processor
     25@item @code{@value{DIRPREFIX}interrupt_local_enable} - Enable Interrupts on Current Processor
    2426@item @code{@value{DIRPREFIX}interrupt_lock_initialize} - Initialize an ISR Lock
    2527@item @code{@value{DIRPREFIX}interrupt_lock_acquire} - Acquire an ISR Lock
     
    398400@end ifset
    399401
     402This directive is only available on uni-processor configurations.  The
     403directive @code{@value{DIRPREFIX}interrupt_local_disable} is available on all
     404configurations.
     405
    400406@c
    401407@c
     
    442448This directive will not cause the calling task to be preempted.
    443449
     450This directive is only available on uni-processor configurations.  The
     451directive @code{@value{DIRPREFIX}interrupt_local_enable} is available on all
     452configurations.
    444453
    445454@c
     
    487496This directive will not cause the calling task to be preempted.
    488497
     498This directive is only available on uni-processor configurations.  The
     499directives @code{@value{DIRPREFIX}interrupt_local_disable} and
     500@code{@value{DIRPREFIX}interrupt_local_enable} is available on all
     501configurations.
     502
     503@c
     504@c
     505@c
     506@page
     507@subsection INTERRUPT_LOCAL_DISABLE - Disable Interrupts on Current Processor
     508
     509@cindex disable interrupts
     510
     511@subheading CALLING SEQUENCE:
     512
     513@ifset is-C
     514@findex rtems_interrupt_local_disable
     515@example
     516void rtems_interrupt_local_disable(
     517  rtems_interrupt_level  level
     518);
     519
     520/* this is implemented as a macro and sets level as a side-effect */
     521@end example
     522@end ifset
     523
     524@subheading DIRECTIVE STATUS CODES:
     525
     526NONE
     527
     528@subheading DESCRIPTION:
     529
     530This directive disables all maskable interrupts and returns
     531the previous @code{level}.  A later invocation of the
     532@code{@value{DIRPREFIX}interrupt_local_enable} directive should be used to
     533restore the interrupt level.
     534
     535@subheading NOTES:
     536
     537This directive will not cause the calling task to be preempted.
     538
     539@ifset is-C
     540@b{This directive is implemented as a macro which modifies the @code{level}
     541parameter.}
     542@end ifset
     543
     544On SMP configurations this will not ensure system wide mutual exclusion.  Use
     545interrupt locks instead.
     546
     547@c
     548@c
     549@c
     550@page
     551@subsection INTERRUPT_LOCAL_ENABLE - Enable Interrupts on Current Processor
     552
     553@cindex enable interrupts
     554
     555@subheading CALLING SEQUENCE:
     556
     557@ifset is-C
     558@findex rtems_interrupt_local_enable
     559@example
     560void rtems_interrupt_local_enable(
     561  rtems_interrupt_level  level
     562);
     563@end example
     564@end ifset
     565
     566@subheading DIRECTIVE STATUS CODES:
     567
     568NONE
     569
     570@subheading DESCRIPTION:
     571
     572This directive enables maskable interrupts to the @code{level}
     573which was returned by a previous call to
     574@code{@value{DIRPREFIX}interrupt_local_disable}.
     575Immediately prior to invoking this directive, maskable interrupts should
     576be disabled by a call to @code{@value{DIRPREFIX}interrupt_local_disable}
     577and will be enabled when this directive returns to the caller.
     578
     579@subheading NOTES:
     580
     581This directive will not cause the calling task to be preempted.
     582
    489583@c
    490584@c
Note: See TracChangeset for help on using the changeset viewer.