-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
yaml --- r: 116775 b: refs/heads/master c: 1b051c6 h: refs/heads/master i: 116773: 515e97e 116771: 4453456 116767: 5838d8f v: v3
- Loading branch information
Isaku Yamahata
authored and
Tony Luck
committed
Oct 17, 2008
1 parent
b6e9f90
commit 3ee0967
Showing
2 changed files
with
52 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: da0ac27213d6f8f7d6ca918031572eaf7f14dca3 | ||
refs/heads/master: 1b051c6be34b3b06fa1244d9fcd47f91fb6aca1c |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
#ifndef _ASM_IA64_SYNC_BITOPS_H | ||
#define _ASM_IA64_SYNC_BITOPS_H | ||
|
||
/* | ||
* Copyright (C) 2008 Isaku Yamahata <yamahata at valinux co jp> | ||
* | ||
* Based on synch_bitops.h which Dan Magenhaimer wrote. | ||
* | ||
* bit operations which provide guaranteed strong synchronisation | ||
* when communicating with Xen or other guest OSes running on other CPUs. | ||
*/ | ||
|
||
static inline void sync_set_bit(int nr, volatile void *addr) | ||
{ | ||
set_bit(nr, addr); | ||
} | ||
|
||
static inline void sync_clear_bit(int nr, volatile void *addr) | ||
{ | ||
clear_bit(nr, addr); | ||
} | ||
|
||
static inline void sync_change_bit(int nr, volatile void *addr) | ||
{ | ||
change_bit(nr, addr); | ||
} | ||
|
||
static inline int sync_test_and_set_bit(int nr, volatile void *addr) | ||
{ | ||
return test_and_set_bit(nr, addr); | ||
} | ||
|
||
static inline int sync_test_and_clear_bit(int nr, volatile void *addr) | ||
{ | ||
return test_and_clear_bit(nr, addr); | ||
} | ||
|
||
static inline int sync_test_and_change_bit(int nr, volatile void *addr) | ||
{ | ||
return test_and_change_bit(nr, addr); | ||
} | ||
|
||
static inline int sync_test_bit(int nr, const volatile void *addr) | ||
{ | ||
return test_bit(nr, addr); | ||
} | ||
|
||
#define sync_cmpxchg(ptr, old, new) \ | ||
((__typeof__(*(ptr)))cmpxchg_acq((ptr), (old), (new))) | ||
|
||
#endif /* _ASM_IA64_SYNC_BITOPS_H */ |