aboutsummaryrefslogtreecommitdiff
path: root/pk/pcr.h
blob: 23e61850b62eb125949c2dd2ea71cafbab82016c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef _RISCV_COP0_H
#define _RISCV_COP0_H

#define SR_ET    0x0000000000000001
#define SR_PS    0x0000000000000004
#define SR_S     0x0000000000000008
#define SR_EF    0x0000000000000010
#define SR_UX    0x0000000000000020
#define SR_KX    0x0000000000000040
#define SR_IM    0x000000000000FF00

#ifndef __ASSEMBLER__

#define mtpcr(val,reg) ({ long __tmp = (long)(val); \
                          asm volatile ("mtpcr %0,$%1"::"r"(__tmp),"i"(reg)); })

#define mfpcr(reg) ({ long __tmp; \
                      asm volatile ("mfpcr %0,$%1" : "=r"(__tmp) : "i"(reg)); \
                      __tmp; })

#endif

#endif