Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/sh/include/asm/bl_bit_32.h
26493 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
#ifndef __ASM_SH_BL_BIT_32_H
3
#define __ASM_SH_BL_BIT_32_H
4
5
static 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
20
static 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
36