linux/arch/sh/include/asm/bl_bit_32.h
<<
>>
Prefs
   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 */
  35