diff options
author | Simon Guo <wei.guo.simon@gmail.com> | 2016-09-30 10:32:51 +0800 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2016-11-17 17:11:47 +1100 |
commit | 15ec3997aa3bffc461f7b47ca9365d4b0323c671 (patch) | |
tree | 60fe7489443c2b596d7f8bda2106444d98214439 /tools/testing/selftests/powerpc/instructions.h | |
parent | selftests/powerpc: Add more SPR numbers, TM & VMX instructions to 'reg.h'/'instructions.h' (diff) | |
download | linux-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.h | 68 |
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 */ |