forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/tools/testing/selftests/powerpc/switch_endian/switch_endian_test.S
....@@ -3,8 +3,12 @@
33
44 .data
55 .balign 8
6
-message:
6
+success_message:
77 .ascii "success: switch_endian_test\n\0"
8
+
9
+ .balign 8
10
+failure_message:
11
+ .ascii "failure: switch_endian_test\n\0"
812
913 .section ".toc"
1014 .balign 8
....@@ -64,6 +68,9 @@
6468 li r0, __NR_switch_endian
6569 sc
6670
71
+ tdi 0, 0, 0x48 // b +8 if the endian was switched
72
+ b .Lfail // exit if endian didn't switch
73
+
6774 #include "check-reversed.S"
6875
6976 /* Flip back, r0 already has the switch syscall number */
....@@ -71,12 +78,20 @@
7178
7279 #include "check.S"
7380
81
+ ld r4, success_message@got(%r2)
82
+ li r5, 28 // strlen(success_message)
83
+ li r14, 0 // exit status
84
+.Lout:
7485 li r0, __NR_write
7586 li r3, 1 /* stdout */
76
- ld r4, message@got(%r2)
77
- li r5, 28 /* strlen(message3) */
7887 sc
7988 li r0, __NR_exit
80
- li r3, 0
89
+ mr r3, r14
8190 sc
8291 b .
92
+
93
+.Lfail:
94
+ ld r4, failure_message@got(%r2)
95
+ li r5, 28 // strlen(failure_message)
96
+ li r14, 1
97
+ b .Lout