Loading...
Searching...
No Matches
irq.h
Go to the documentation of this file.
/*
* (c) 2003-2009 Author(s)
* economic rights: Technische Universität Dresden (Germany)
* License: see LICENSE.spdx (in this directory or the directories above)
*/
#ifndef __L4_IRQ_H__
#define __L4_IRQ_H__
#include <l4/sys/compiler.h>
#include <l4/util/port_io.h>
L4_BEGIN_DECLS
static inline void
l4util_cli (void)
{
__asm__ __volatile__ ("cli" : : : "memory");
}
static inline void
l4util_sti (void)
{
__asm__ __volatile__ ("sti" : : : "memory");
}
static inline void
l4util_flags_save (l4_umword_t *flags)
{
__asm__ __volatile__ ("pushf ; popq %0 " :"=g" (*flags) : :"memory");
}
static inline void
l4util_flags_restore (l4_umword_t *flags)
{
__asm__ __volatile__ ("pushq %0 ; popf" : :"g" (*flags) : "memory");
}
L4_END_DECLS
#endif
compiler.h
L4 compiler related defines.
l4_umword_t
unsigned long l4_umword_t
Unsigned machine word.
Definition l4int.h:40
L4_BEGIN_DECLS
#define L4_BEGIN_DECLS
Start section with C types and functions.
Definition compiler.h:165
L4_END_DECLS
#define L4_END_DECLS
End section with C types and functions.
Definition compiler.h:166