-
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.
- Loading branch information
Stefano Stabellini
committed
Aug 8, 2012
1 parent
fdc0b1e
commit 02b9cbc
Showing
2 changed files
with
28 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: 36a67abce227af005b4a595735556942b74f6741 | ||
refs/heads/master: e54d2f61528165bbe0e5f628b111eab3be31c3b5 |
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,27 @@ | ||
#ifndef __ASM_SYNC_BITOPS_H__ | ||
#define __ASM_SYNC_BITOPS_H__ | ||
|
||
#include <asm/bitops.h> | ||
#include <asm/system.h> | ||
|
||
/* sync_bitops functions are equivalent to the SMP implementation of the | ||
* original functions, independently from CONFIG_SMP being defined. | ||
* | ||
* We need them because _set_bit etc are not SMP safe if !CONFIG_SMP. But | ||
* under Xen you might be communicating with a completely external entity | ||
* who might be on another CPU (e.g. two uniprocessor guests communicating | ||
* via event channels and grant tables). So we need a variant of the bit | ||
* ops which are SMP safe even on a UP kernel. | ||
*/ | ||
|
||
#define sync_set_bit(nr, p) _set_bit(nr, p) | ||
#define sync_clear_bit(nr, p) _clear_bit(nr, p) | ||
#define sync_change_bit(nr, p) _change_bit(nr, p) | ||
#define sync_test_and_set_bit(nr, p) _test_and_set_bit(nr, p) | ||
#define sync_test_and_clear_bit(nr, p) _test_and_clear_bit(nr, p) | ||
#define sync_test_and_change_bit(nr, p) _test_and_change_bit(nr, p) | ||
#define sync_test_bit(nr, addr) test_bit(nr, addr) | ||
#define sync_cmpxchg cmpxchg | ||
|
||
|
||
#endif |