]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - tools/testing/selftests/powerpc/switch_endian/check.S
Merge branch 'for-4.5/for-jens' of git://git.kernel.org/pub/scm/linux/kernel/git...
[mirror_ubuntu-focal-kernel.git] / tools / testing / selftests / powerpc / switch_endian / check.S
1 #include "common.h"
2
3 /*
4 * Checks that registers contain what we expect, ie. they were not clobbered by
5 * the syscall.
6 *
7 * r15: pattern to check registers against.
8 *
9 * At the end r3 == 0 if everything's OK.
10 */
11 nop # guaranteed to be illegal in reverse-endian
12 mr r9,r15
13 cmpd r9,r3 # check r3
14 bne 1f
15 addi r9,r15,4 # check r4
16 cmpd r9,r4
17 bne 1f
18 lis r9,0x00FF # check CR
19 ori r9,r9,0xF000
20 mfcr r10
21 and r10,r10,r9
22 cmpw r9,r10
23 addi r9,r15,34
24 bne 1f
25 addi r9,r15,32 # check LR
26 mflr r10
27 cmpd r9,r10
28 bne 1f
29 addi r9,r15,5 # check r5
30 cmpd r9,r5
31 bne 1f
32 addi r9,r15,6 # check r6
33 cmpd r9,r6
34 bne 1f
35 addi r9,r15,7 # check r7
36 cmpd r9,r7
37 bne 1f
38 addi r9,r15,8 # check r8
39 cmpd r9,r8
40 bne 1f
41 addi r9,r15,13 # check r13
42 cmpd r9,r13
43 bne 1f
44 addi r9,r15,14 # check r14
45 cmpd r9,r14
46 bne 1f
47 addi r9,r15,16 # check r16
48 cmpd r9,r16
49 bne 1f
50 addi r9,r15,17 # check r17
51 cmpd r9,r17
52 bne 1f
53 addi r9,r15,18 # check r18
54 cmpd r9,r18
55 bne 1f
56 addi r9,r15,19 # check r19
57 cmpd r9,r19
58 bne 1f
59 addi r9,r15,20 # check r20
60 cmpd r9,r20
61 bne 1f
62 addi r9,r15,21 # check r21
63 cmpd r9,r21
64 bne 1f
65 addi r9,r15,22 # check r22
66 cmpd r9,r22
67 bne 1f
68 addi r9,r15,23 # check r23
69 cmpd r9,r23
70 bne 1f
71 addi r9,r15,24 # check r24
72 cmpd r9,r24
73 bne 1f
74 addi r9,r15,25 # check r25
75 cmpd r9,r25
76 bne 1f
77 addi r9,r15,26 # check r26
78 cmpd r9,r26
79 bne 1f
80 addi r9,r15,27 # check r27
81 cmpd r9,r27
82 bne 1f
83 addi r9,r15,28 # check r28
84 cmpd r9,r28
85 bne 1f
86 addi r9,r15,29 # check r29
87 cmpd r9,r29
88 bne 1f
89 addi r9,r15,30 # check r30
90 cmpd r9,r30
91 bne 1f
92 addi r9,r15,31 # check r31
93 cmpd r9,r31
94 bne 1f
95 b 2f
96 1: mr r3, r9
97 li r0, __NR_exit
98 sc
99 2: li r0, __NR_switch_endian
100 nop