powerpc/32s: Change mfsrin() into a static inline function
mfsrin() is a macro. Change in into an inline function to avoid conflicts in KVM and make it more evolutive. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/72c7b9879e2e2e6f5c27dadda6486386c2b50f23.1612612022.git.christophe.leroy@csgroup.eu
This commit is contained in:
parent
8524e2e764
commit
fd659e8f2c
@ -1413,9 +1413,14 @@ static inline void msr_check_and_clear(unsigned long bits)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PPC32
|
#ifdef CONFIG_PPC32
|
||||||
#define mfsrin(v) ({unsigned int rval; \
|
static inline u32 mfsrin(u32 idx)
|
||||||
asm volatile("mfsrin %0,%1" : "=r" (rval) : "r" (v)); \
|
{
|
||||||
rval;})
|
u32 val;
|
||||||
|
|
||||||
|
asm volatile("mfsrin %0, %1" : "=r" (val): "r" (idx));
|
||||||
|
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
static inline void mtsrin(u32 val, u32 idx)
|
static inline void mtsrin(u32 val, u32 idx)
|
||||||
{
|
{
|
||||||
|
@ -61,10 +61,6 @@
|
|||||||
#define SPRN_GQR6 918
|
#define SPRN_GQR6 918
|
||||||
#define SPRN_GQR7 919
|
#define SPRN_GQR7 919
|
||||||
|
|
||||||
/* Book3S_32 defines mfsrin(v) - but that messes up our abstract
|
|
||||||
* function pointers, so let's just disable the define. */
|
|
||||||
#undef mfsrin
|
|
||||||
|
|
||||||
enum priv_level {
|
enum priv_level {
|
||||||
PRIV_PROBLEM = 0,
|
PRIV_PROBLEM = 0,
|
||||||
PRIV_SUPER = 1,
|
PRIV_SUPER = 1,
|
||||||
|
Loading…
Reference in New Issue
Block a user