Add mfspr/mtspr inline macros to 4xx bootwrapper
PATCH 14/21 Add mfspr/mtspr inline macros to 4xx bootwrapper
The 4xx bootwrapper occasionally needs to access SPR registers, this adds mfspr/mtspr wrappers to it.
Signed-off-by Benjamin Herrenschmidt <[email protected]>
---
===================================================================
arch/powerpc/boot/reg.h | 8 ++++++++ 1 file changed, 8 insertions(+)
arch/powerpc/boot/reg.h +8 -0
@@ -16,6 +16,14 @@ static inline u32 mfpvr(void)return pvr; } +#define __stringify_1 (x) #x +#define __stringify (x) __stringify_1(x) + +#define mfspr (rn) ({unsigned long rval; \ + asm volatile("mfspr %0," __stringify(rn) \ + : "=r" (rval)); rval; }) +#define mtspr (rn, v) asm volatile("mtspr " __stringify(rn) ",%0" : : "r" (v)) + registervoid *__stack_pointer asm("r1" );#define get_sp () (__stack_pointer)