1 /**
2  * \file
3  * \brief ARM specific implementation of irq functions
4  *
5  * Do not use.
6  */
7 /*
8  * (c) 2008-2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de>,
9  *               Alexander Warg <warg@os.inf.tu-dresden.de>,
10  *               Frank Mehnert <fm3@os.inf.tu-dresden.de>
11  *     economic rights: Technische Universität Dresden (Germany)
12  * This file is part of TUD:OS and distributed under the terms of the
13  * GNU Lesser General Public License 2.1.
14  * Please see the COPYING-LGPL-2.1 file for details.
15  */
16 #ifndef __L4UTIL__ARCH_ARCH__IRQ_H__
17 #define __L4UTIL__ARCH_ARCH__IRQ_H__
18 
19 #ifdef __GNUC__
20 
21 #include <l4/sys/compiler.h>
22 
23 EXTERN_C_BEGIN
24 
25 L4_INLINE void l4util_cli (void);
26 L4_INLINE void l4util_sti (void);
27 L4_INLINE void l4util_flags_save(l4_umword_t *flags);
28 L4_INLINE void l4util_flags_restore(l4_umword_t *flags);
29 
30 L4_INLINE
31 void
l4util_cli(void)32 l4util_cli(void)
33 {
34   extern void __do_not_use_l4util_cli(void);
35   __do_not_use_l4util_cli();
36 }
37 
38 
39 L4_INLINE
40 void
l4util_sti(void)41 l4util_sti(void)
42 {
43   extern void __do_not_use_l4util_sti(void);
44   __do_not_use_l4util_sti();
45 }
46 
47 
48 L4_INLINE
49 void
l4util_flags_save(l4_umword_t * flags)50 l4util_flags_save(l4_umword_t *flags)
51 {
52   (void)flags;
53   extern void __do_not_use_l4util_flags_save(void);
54   __do_not_use_l4util_flags_save();
55 }
56 
57 L4_INLINE
58 void
l4util_flags_restore(l4_umword_t * flags)59 l4util_flags_restore(l4_umword_t *flags)
60 {
61   (void)flags;
62   extern void __do_not_use_l4util_flags_restore(void);
63   __do_not_use_l4util_flags_restore();
64 }
65 
66 EXTERN_C_END
67 
68 #endif //__GNUC__
69 
70 #endif /* ! __L4UTIL__ARCH_ARCH__IRQ_H__ */
71