1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
.\" This -*- nroff -*- file has been generated from
.\" DocBook SGML with docbook-to-man on Debian GNU/Linux.
...\"
...\" transcript compatibility for postscript use.
...\"
...\" synopsis: .P! <file.ps>
...\"
.de P!
\\&.
.fl \" force out current output buffer
\\!%PB
\\!/showpage{}def
...\" the following is from Ken Flowers -- it prevents dictionary overflows
\\!/tempdict 200 dict def tempdict begin
.fl \" prolog
.sy cat \\$1\" bring in postscript file
...\" the following line matches the tempdict above
\\!end % tempdict %
\\!PE
\\!.
.sp \\$2u \" move below the image
..
.de pF
.ie \\*(f1 .ds f1 \\n(.f
.el .ie \\*(f2 .ds f2 \\n(.f
.el .ie \\*(f3 .ds f3 \\n(.f
.el .ie \\*(f4 .ds f4 \\n(.f
.el .tm ? font overflow
.ft \\$1
..
.de fP
.ie !\\*(f4 \{\
. ft \\*(f4
. ds f4\"
' br \}
.el .ie !\\*(f3 \{\
. ft \\*(f3
. ds f3\"
' br \}
.el .ie !\\*(f2 \{\
. ft \\*(f2
. ds f2\"
' br \}
.el .ie !\\*(f1 \{\
. ft \\*(f1
. ds f1\"
' br \}
.el .tm ? font underflow
..
.ds f1\"
.ds f2\"
.ds f3\"
.ds f4\"
'\" t
.ta 8n 16n 24n 32n 40n 48n 56n 64n 72n
.TH "rtl_allow_interrupts" "3"
.SH "NAME"
rtl_no_interrupts, rtl_restore_interruptsrtl_restore_interrupts, rtl_stop_interruptsrtl_stop_interrupts, rtl_allow_interruptsrtl_allow_interrupts \(em control the CPU interrupt state
.SH "SYNOPSIS"
.PP
.nf
.ta 8n 16n 24n 32n 40n 48n 56n 64n 72n
#include <rtl_sync.h>
void \fBrtl_no_interrupts\fP(rtl_irqstate_t \fBstate\fR);
void \fBrtl_restore_interrupts\fP(rtl_irqstate_t \fBstate\fR);
void \fBrtl_stop_interrupts\fP();
void \fBrtl_allow_interrupts\fP();
.fi
.SH "DESCRIPTION"
.PP
These functions are non-portable Realtime Linux extensions.
.PP
\fBrtl_no_interrupts\fP saves the current state of the processor interrupt flags in the variable \fBstate\fR and then disables the interrupts on this processor.
.PP
\fBrtl_restore_interrupts\fP is defined as a macro. It uses its argument to restore the interrupt state previously saved with \fBrtl_no_interrupts\fP.
.PP
\fBrtl_stop_interrupts\fP disables the interrupts.
.PP
\fBrtl_allow_interrupts\fP enables the interrupts.
.SH "EXAMPLE"
.PP
The following example demonstrates a typical usage.
.PP
.nf
.ta 8n 16n 24n 32n 40n 48n 56n 64n 72n
\f(CW {
rtl_irqstate_t irqstate;
rtl_no_interrupts(irqstate);
/* this code runs with interrupts disabled! */
rtl_restore_interrupts(irqstate);
/* interrupt state is back to what it was before */
}\fR
.fi
.PP
.SH "NOTES"
.PP
These functions only affect the interrupt flags of the current processor.
.PP
Be sure to disable hardware interrupts for short periods of time only. Do not enable interrupts in a hard signal/interrupt handler unless you
really know what you are doing.
.SH "AUTHOR"
.PP
Michael Barabanov (\fIbaraban@fsmlabs.com (link to URL mailto:baraban@fsmlabs.com) \fR)
.SH "SEE ALSO"
\fIrtl_request_irq(3) (link to URL rtl_request_irq.3.html) \fR, \fIrtl_free_irq(3) (link to URL rtl_free_irq.3.html) \fR, \fIrtl_hard_enable_irq(3) (link to URL rtl_hard_enable_irq.3.html) \fR, \fIrtl_hard_disable_irq(3) (link to URL rtl_hard_disable_irq.3.html) \fR
.PP
\(co2001 FSMLabs Inc.
.PP
All rights reserved.
...\" created by instant / docbook-to-man, Wed 13 Jun 2001, 17:58
|