Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
sparc
include
asm
irqflags_32.h
Go to the documentation of this file.
1
/*
2
* include/asm/irqflags.h
3
*
4
* IRQ flags handling
5
*
6
* This file gets included from lowlevel asm headers too, to provide
7
* wrapped versions of the local_irq_*() APIs, based on the
8
* arch_local_irq_*() functions from the lowlevel headers.
9
*/
10
#ifndef _ASM_IRQFLAGS_H
11
#define _ASM_IRQFLAGS_H
12
13
#ifndef __ASSEMBLY__
14
15
#include <linux/types.h>
16
#include <asm/psr.h>
17
18
extern
void
arch_local_irq_restore
(
unsigned
long
);
19
extern
unsigned
long
arch_local_irq_save
(
void
);
20
extern
void
arch_local_irq_enable
(
void
);
21
22
static
inline
notrace
unsigned
long
arch_local_save_flags
(
void
)
23
{
24
unsigned
long
flags
;
25
26
asm
volatile
(
"rd %%psr, %0"
:
"=r"
(
flags
));
27
return
flags
;
28
}
29
30
static
inline
notrace
void
arch_local_irq_disable
(
void
)
31
{
32
arch_local_irq_save
();
33
}
34
35
static
inline
notrace
bool
arch_irqs_disabled_flags
(
unsigned
long
flags
)
36
{
37
return
(flags &
PSR_PIL
) != 0;
38
}
39
40
static
inline
notrace
bool
arch_irqs_disabled
(
void
)
41
{
42
return
arch_irqs_disabled_flags
(
arch_local_save_flags
());
43
}
44
45
#endif
/* (__ASSEMBLY__) */
46
47
#endif
/* !(_ASM_IRQFLAGS_H) */
Generated on Thu Jan 10 2013 13:18:10 for Linux Kernel by
1.8.2