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
ia64
include
asm
sync_bitops.h
Go to the documentation of this file.
1
#ifndef _ASM_IA64_SYNC_BITOPS_H
2
#define _ASM_IA64_SYNC_BITOPS_H
3
4
/*
5
* Copyright (C) 2008 Isaku Yamahata <yamahata at valinux co jp>
6
*
7
* Based on synch_bitops.h which Dan Magenhaimer wrote.
8
*
9
* bit operations which provide guaranteed strong synchronisation
10
* when communicating with Xen or other guest OSes running on other CPUs.
11
*/
12
13
static
inline
void
sync_set_bit
(
int
nr
,
volatile
void
*
addr
)
14
{
15
set_bit
(nr, addr);
16
}
17
18
static
inline
void
sync_clear_bit
(
int
nr
,
volatile
void
*
addr
)
19
{
20
clear_bit
(nr, addr);
21
}
22
23
static
inline
void
sync_change_bit
(
int
nr
,
volatile
void
*
addr
)
24
{
25
change_bit
(nr, addr);
26
}
27
28
static
inline
int
sync_test_and_set_bit
(
int
nr
,
volatile
void
*
addr
)
29
{
30
return
test_and_set_bit
(nr, addr);
31
}
32
33
static
inline
int
sync_test_and_clear_bit
(
int
nr
,
volatile
void
*
addr
)
34
{
35
return
test_and_clear_bit
(nr, addr);
36
}
37
38
static
inline
int
sync_test_and_change_bit
(
int
nr
,
volatile
void
*
addr
)
39
{
40
return
test_and_change_bit
(nr, addr);
41
}
42
43
static
inline
int
sync_test_bit
(
int
nr
,
const
volatile
void
*
addr
)
44
{
45
return
test_bit
(nr, addr);
46
}
47
48
#define sync_cmpxchg(ptr, old, new) \
49
((__typeof__(*(ptr)))cmpxchg_acq((ptr), (old), (new)))
50
51
#endif
/* _ASM_IA64_SYNC_BITOPS_H */
Generated on Thu Jan 10 2013 12:55:23 for Linux Kernel by
1.8.2