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