Commit aecfd680 authored by Benjamin Gray's avatar Benjamin Gray Committed by Michael Ellerman

selftests/powerpc: Use mfspr/mtspr macros

No need to write inline asm for mtspr/mfspr, we have macros for this
in reg.h
Signed-off-by: default avatarBenjamin Gray <bgray@linux.ibm.com>
Reviewed-by: default avatarAndrew Donnellan <ajd@linux.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20221128041948.58339-2-bgray@linux.ibm.com
parent 5921eb36
......@@ -23,6 +23,7 @@
#include <sys/stat.h>
#include <sys/wait.h>
#include "reg.h"
#include "utils.h"
#define THREADS 100 /* Max threads */
......@@ -41,31 +42,23 @@
/* Prilvilege state DSCR access */
inline unsigned long get_dscr(void)
{
unsigned long ret;
asm volatile("mfspr %0,%1" : "=r" (ret) : "i" (SPRN_DSCR_PRIV));
return ret;
return mfspr(SPRN_DSCR_PRIV);
}
inline void set_dscr(unsigned long val)
{
asm volatile("mtspr %1,%0" : : "r" (val), "i" (SPRN_DSCR_PRIV));
mtspr(SPRN_DSCR_PRIV, val);
}
/* Problem state DSCR access */
inline unsigned long get_dscr_usr(void)
{
unsigned long ret;
asm volatile("mfspr %0,%1" : "=r" (ret) : "i" (SPRN_DSCR));
return ret;
return mfspr(SPRN_DSCR);
}
inline void set_dscr_usr(unsigned long val)
{
asm volatile("mtspr %1,%0" : : "r" (val), "i" (SPRN_DSCR));
mtspr(SPRN_DSCR, val);
}
/* Default DSCR access */
......
......@@ -23,6 +23,7 @@
#include <sys/syscall.h>
#include <linux/limits.h>
#include "ptrace.h"
#include "reg.h"
#define SPRN_PVR 0x11F
#define PVR_8xx 0x00500000
......@@ -620,10 +621,7 @@ static int ptrace_hwbreak(void)
int main(int argc, char **argv, char **envp)
{
int pvr = 0;
asm __volatile__ ("mfspr %0,%1" : "=r"(pvr) : "i"(SPRN_PVR));
if (pvr == PVR_8xx)
is_8xx = true;
is_8xx = mfspr(SPRN_PVR) == PVR_8xx;
return test_harness(ptrace_hwbreak, "ptrace-hwbreak");
}
......@@ -745,10 +745,7 @@ int show_tm_spr(pid_t child, struct tm_spr_regs *out)
/* Analyse TEXASR after TM failure */
inline unsigned long get_tfiar(void)
{
unsigned long ret;
asm volatile("mfspr %0,%1" : "=r" (ret) : "i" (SPRN_TFIAR));
return ret;
return mfspr(SPRN_TFIAR);
}
void analyse_texasr(unsigned long texasr)
......
......@@ -14,6 +14,7 @@
#include <string.h>
#include <stdio.h>
#include <sys/utsname.h>
#include "reg.h"
#include "utils.h"
#include "flush_utils.h"
......@@ -79,5 +80,5 @@ void set_dscr(unsigned long val)
init = 1;
}
asm volatile("mtspr %1,%0" : : "r" (val), "i" (SPRN_DSCR));
mtspr(SPRN_DSCR, val);
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment