xref: /openbmc/linux/arch/csky/include/asm/reg_ops.h (revision 6523d3b2)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 
3 #ifndef __ASM_REGS_OPS_H
4 #define __ASM_REGS_OPS_H
5 
6 #define mfcr(reg)		\
7 ({				\
8 	unsigned int tmp;	\
9 	asm volatile(		\
10 	"mfcr %0, "reg"\n"	\
11 	: "=r"(tmp)		\
12 	:			\
13 	: "memory");		\
14 	tmp;			\
15 })
16 
17 #define mtcr(reg, val)		\
18 ({				\
19 	asm volatile(		\
20 	"mtcr %0, "reg"\n"	\
21 	:			\
22 	: "r"(val)		\
23 	: "memory");		\
24 })
25 
26 #endif /* __ASM_REGS_OPS_H */
27