[PATCH V9 16/28] selftests, powerpc: Add more SPR numbers, TM & VMX instructions to 'reg.h'

From: Anshuman Khandual
Date: Thu Oct 08 2015 - 10:50:37 EST


This patch adds SPR number for TAR, PPR, DSCR special
purpose registers. It also adds TM, VSX, VMX related
instructions which will then be used by patches later
in the series.

Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx>
---
tools/testing/selftests/powerpc/reg.h | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

diff --git a/tools/testing/selftests/powerpc/reg.h b/tools/testing/selftests/powerpc/reg.h
index 5921b0d..76f170d 100644
--- a/tools/testing/selftests/powerpc/reg.h
+++ b/tools/testing/selftests/powerpc/reg.h
@@ -18,6 +18,19 @@

#define mb() asm volatile("sync" : : : "memory");

+/* Vector Instructions */
+#define VSX_XX1(xs, ra, rb) (((xs) & 0x1f) << 21 | ((ra) << 16) | \
+ ((rb) << 11) | (((xs) >> 5)))
+#define STXVD2X(xs, ra, rb) .long (0x7c000798 | VSX_XX1((xs), (ra), (rb)))
+#define LXVD2X(xs, ra, rb) .long (0x7c000698 | VSX_XX1((xs), (ra), (rb)))
+
+/* TM instructions */
+#define TBEGIN ".long 0x7C00051D;"
+#define TABORT ".long 0x7C00071D;"
+#define TEND ".long 0x7C00055D;"
+#define TSUSPEND ".long 0x7C0005DD;"
+#define TRESUME ".long 0x7C2005DD;"
+
#define SPRN_MMCR2 769
#define SPRN_MMCRA 770
#define SPRN_MMCR0 779
@@ -46,4 +59,12 @@
#define SPRN_SDAR 781
#define SPRN_SIER 768

+#define SPRN_DSCR 3 /* Data Stream Control Register */
+#define SPRN_TAR 815 /* Target Address Register */
+#define SPRN_PPR 896 /* Program Priority Register */
+
+#define SPRN_TFHAR 0x80 /* TM Failure Handle Register */
+#define SPRN_TFIAR 0x81 /* TM Failure Instruction Address Register */
+#define SPRN_TEXASR 0x82 /* TM Exception and Status Register */
+
#endif /* _SELFTESTS_POWERPC_REG_H */
--
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/