selftests/powerpc: Add ptrace tests for VSX, VMX registers
This patch adds ptrace interface test for VSX, VMX registers. This also adds ptrace interface based helper functions related to VSX, VMX registers access. This also adds some assembly helper functions related to VSX and VMX registers. Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com> Signed-off-by: Simon Guo <wei.guo.simon@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:

committed by
Michael Ellerman

parent
01f7fdc7b9
commit
0da535c084
@@ -130,3 +130,268 @@ FUNC_START(store_fpr_single_precision)
|
||||
stfs 31, 31*4(3)
|
||||
blr
|
||||
FUNC_END(store_fpr_single_precision)
|
||||
|
||||
/* VMX/VSX registers - unsigned long buf[128] */
|
||||
FUNC_START(loadvsx)
|
||||
lis 4, 0
|
||||
LXVD2X (0,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (1,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (2,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (3,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (4,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (5,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (6,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (7,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (8,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (9,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (10,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (11,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (12,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (13,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (14,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (15,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (16,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (17,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (18,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (19,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (20,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (21,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (22,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (23,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (24,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (25,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (26,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (27,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (28,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (29,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (30,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (31,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (32,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (33,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (34,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (35,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (36,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (37,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (38,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (39,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (40,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (41,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (42,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (43,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (44,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (45,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (46,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (47,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (48,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (49,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (50,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (51,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (52,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (53,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (54,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (55,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (56,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (57,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (58,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (59,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (60,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (61,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (62,(4),(3))
|
||||
addi 4, 4, 16
|
||||
LXVD2X (63,(4),(3))
|
||||
blr
|
||||
FUNC_END(loadvsx)
|
||||
|
||||
FUNC_START(storevsx)
|
||||
lis 4, 0
|
||||
STXVD2X (0,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (1,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (2,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (3,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (4,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (5,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (6,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (7,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (8,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (9,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (10,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (11,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (12,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (13,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (14,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (15,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (16,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (17,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (18,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (19,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (20,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (21,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (22,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (23,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (24,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (25,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (26,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (27,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (28,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (29,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (30,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (31,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (32,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (33,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (34,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (35,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (36,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (37,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (38,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (39,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (40,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (41,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (42,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (43,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (44,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (45,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (46,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (47,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (48,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (49,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (50,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (51,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (52,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (53,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (54,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (55,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (56,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (57,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (58,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (59,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (60,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (61,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (62,(4),(3))
|
||||
addi 4, 4, 16
|
||||
STXVD2X (63,(4),(3))
|
||||
blr
|
||||
FUNC_END(storevsx)
|
||||
|
Reference in New Issue
Block a user