aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/powerpc/instructions.h
diff options
context:
space:
mode:
authorSimon Guo <wei.guo.simon@gmail.com>2016-09-30 10:32:51 +0800
committerMichael Ellerman <mpe@ellerman.id.au>2016-11-17 17:11:47 +1100
commit15ec3997aa3bffc461f7b47ca9365d4b0323c671 (patch)
tree60fe7489443c2b596d7f8bda2106444d98214439 /tools/testing/selftests/powerpc/instructions.h
parentselftests/powerpc: Add more SPR numbers, TM & VMX instructions to 'reg.h'/'instructions.h' (diff)
downloadlinux-dev-15ec3997aa3bffc461f7b47ca9365d4b0323c671.tar.xz
linux-dev-15ec3997aa3bffc461f7b47ca9365d4b0323c671.zip
selftests/powerpc: Move shared headers into new include dir
There are some functions, especially register related, which can be shared across multiple selftests/powerpc test directories. This patch creates a new include directory to store those shared files, so that the file layout becomes more neat. Signed-off-by: Simon Guo <wei.guo.simon@gmail.com> [mpe: Reworked to move the headers only] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'tools/testing/selftests/powerpc/instructions.h')
-rw-r--r--tools/testing/selftests/powerpc/instructions.h68
1 files changed, 0 insertions, 68 deletions
diff --git a/tools/testing/selftests/powerpc/instructions.h b/tools/testing/selftests/powerpc/instructions.h
deleted file mode 100644
index 0fb0bd3b28c9..000000000000
--- a/tools/testing/selftests/powerpc/instructions.h
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef _SELFTESTS_POWERPC_INSTRUCTIONS_H
-#define _SELFTESTS_POWERPC_INSTRUCTIONS_H
-
-#include <stdio.h>
-#include <stdlib.h>
-
-/* This defines the "copy" instruction from Power ISA 3.0 Book II, section 4.4. */
-#define __COPY(RA, RB, L) \
- (0x7c00060c | (RA) << (31-15) | (RB) << (31-20) | (L) << (31-10))
-#define COPY(RA, RB, L) \
- .long __COPY((RA), (RB), (L))
-
-static inline void copy(void *i)
-{
- asm volatile(str(COPY(0, %0, 0))";"
- :
- : "b" (i)
- : "memory"
- );
-}
-
-static inline void copy_first(void *i)
-{
- asm volatile(str(COPY(0, %0, 1))";"
- :
- : "b" (i)
- : "memory"
- );
-}
-
-/* This defines the "paste" instruction from Power ISA 3.0 Book II, section 4.4. */
-#define __PASTE(RA, RB, L, RC) \
- (0x7c00070c | (RA) << (31-15) | (RB) << (31-20) | (L) << (31-10) | (RC) << (31-31))
-#define PASTE(RA, RB, L, RC) \
- .long __PASTE((RA), (RB), (L), (RC))
-
-static inline int paste(void *i)
-{
- int cr;
-
- asm volatile(str(PASTE(0, %1, 0, 0))";"
- "mfcr %0;"
- : "=r" (cr)
- : "b" (i)
- : "memory"
- );
- return cr;
-}
-
-static inline int paste_last(void *i)
-{
- int cr;
-
- asm volatile(str(PASTE(0, %1, 1, 1))";"
- "mfcr %0;"
- : "=r" (cr)
- : "b" (i)
- : "memory"
- );
- return cr;
-}
-
-#define PPC_INST_COPY __COPY(0, 0, 0)
-#define PPC_INST_COPY_FIRST __COPY(0, 0, 1)
-#define PPC_INST_PASTE __PASTE(0, 0, 0, 0)
-#define PPC_INST_PASTE_LAST __PASTE(0, 0, 1, 1)
-
-#endif /* _SELFTESTS_POWERPC_INSTRUCTIONS_H */