L4Re Operating System Framework
Interface and Usage Documentation
•All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
irq.h
Go to the documentation of this file.
1
9/*
10 * (c) 2003-2009 Author(s)
11 * economic rights: Technische Universität Dresden (Germany)
12 * License: see LICENSE.spdx (in this directory or the directories above)
13 */
14
15#ifndef __L4_IRQ_H__
16#define __L4_IRQ_H__
17
18#include <l4/sys/compiler.h>
19#include <l4/util/port_io.h>
20
22
30static inline void
31l4util_cli (void)
32{
33 __asm__ __volatile__ ("cli" : : : "memory");
34}
35
38static inline void
39l4util_sti (void)
40{
41 __asm__ __volatile__ ("sti" : : : "memory");
42}
43
47static inline void
48l4util_flags_save (l4_umword_t *flags)
49{
50 __asm__ __volatile__ ("pushfl ; popl %0 " :"=g" (*flags) : :"memory");
51}
52
55static inline void
56l4util_flags_restore (l4_umword_t *flags)
57{
58 __asm__ __volatile__ ("pushl %0 ; popfl" : :"g" (*flags) : "memory");
59}
63
64#endif
L4 compiler related defines.
unsigned long l4_umword_t
Unsigned machine word.
Definition l4int.h:40
#define __END_DECLS
End section with C types and functions.
Definition compiler.h:167
#define __BEGIN_DECLS
Start section with C types and functions.
Definition compiler.h:164