bl_bit_32.h (639B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __ASM_SH_BL_BIT_32_H 3#define __ASM_SH_BL_BIT_32_H 4 5static inline void set_bl_bit(void) 6{ 7 unsigned long __dummy0, __dummy1; 8 9 __asm__ __volatile__ ( 10 "stc sr, %0\n\t" 11 "or %2, %0\n\t" 12 "and %3, %0\n\t" 13 "ldc %0, sr\n\t" 14 : "=&r" (__dummy0), "=r" (__dummy1) 15 : "r" (0x10000000), "r" (0xffffff0f) 16 : "memory" 17 ); 18} 19 20static inline void clear_bl_bit(void) 21{ 22 unsigned long __dummy0, __dummy1; 23 24 __asm__ __volatile__ ( 25 "stc sr, %0\n\t" 26 "and %2, %0\n\t" 27 "ldc %0, sr\n\t" 28 : "=&r" (__dummy0), "=r" (__dummy1) 29 : "1" (~0x10000000) 30 : "memory" 31 ); 32} 33 34#endif /* __ASM_SH_BL_BIT_32_H */