Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
bl_bit_32.h
Go to the documentation of this file.
1 #ifndef __ASM_SH_BL_BIT_32_H
2 #define __ASM_SH_BL_BIT_32_H
3 
4 static inline void set_bl_bit(void)
5 {
6  unsigned long __dummy0, __dummy1;
7 
8  __asm__ __volatile__ (
9  "stc sr, %0\n\t"
10  "or %2, %0\n\t"
11  "and %3, %0\n\t"
12  "ldc %0, sr\n\t"
13  : "=&r" (__dummy0), "=r" (__dummy1)
14  : "r" (0x10000000), "r" (0xffffff0f)
15  : "memory"
16  );
17 }
18 
19 static inline void clear_bl_bit(void)
20 {
21  unsigned long __dummy0, __dummy1;
22 
23  __asm__ __volatile__ (
24  "stc sr, %0\n\t"
25  "and %2, %0\n\t"
26  "ldc %0, sr\n\t"
27  : "=&r" (__dummy0), "=r" (__dummy1)
28  : "1" (~0x10000000)
29  : "memory"
30  );
31 }
32 
33 #endif /* __ASM_SH_BL_BIT_32_H */