Go to the documentation of this file.
17 #ifndef __ASM_OPENRISC_SPR_H
18 #define __ASM_OPENRISC_SPR_H
20 #define mtspr(_spr, _val) __asm__ __volatile__ ( \
22 : : "K" (_spr), "r" (_val))
23 #define mtspr_off(_spr, _off, _val) __asm__ __volatile__ ( \
25 : : "r" (_off), "r" (_val), "K" (_spr))
27 static inline unsigned long mfspr(
unsigned long add)
30 __asm__ __volatile__ (
"l.mfspr %0,r0,%1" :
"=r" (ret) :
"K" (add));
34 static inline unsigned long mfspr_off(
unsigned long add,
unsigned long offset)
37 __asm__ __volatile__ (
"l.mfspr %0,%1,%2" :
"=r" (ret)
38 :
"r" (offset),
"K" (add));