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)32l4util_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)41l4util_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)50l4util_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)59l4util_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