/* SPDX-License-Identifier: GPL-2.0 */
#include "common.h"

	.data
	.balign 8
success_message:
	.ascii "success: switch_endian_test\n\0"

	.balign 8
failure_message:
	.ascii "failure: switch_endian_test\n\0"

	.section ".toc"
	.balign 8
pattern:
	.8byte 0x5555AAAA5555AAAA

	.text
FUNC_START(_start)
	/* Load the pattern */
	ld	r15, pattern@TOC(%r2)

	/* Setup CR, only CR2-CR4 are maintained */
	lis	r3, 0x00FF
	ori	r3, r3, 0xF000
	mtcr	r3

	/* Load the pattern slightly modified into the registers */
	mr	r3, r15
	addi	r4, r15, 4

	addi	r5, r15, 32
	mtlr	r5

	addi	r5, r15, 5
	addi	r6, r15, 6
	addi	r7, r15, 7
	addi	r8, r15, 8

	/* r9 - r12 are clobbered */

	addi	r13, r15, 13
	addi	r14, r15, 14

	/* Skip r15 we're using it */

	addi	r16, r15, 16
	addi	r17, r15, 17
	addi	r18, r15, 18
	addi	r19, r15, 19
	addi	r20, r15, 20
	addi	r21, r15, 21
	addi	r22, r15, 22
	addi	r23, r15, 23
	addi	r24, r15, 24
	addi	r25, r15, 25
	addi	r26, r15, 26
	addi	r27, r15, 27
	addi	r28, r15, 28
	addi	r29, r15, 29
	addi	r30, r15, 30
	addi	r31, r15, 31

	/*
	 * Call the syscall to switch endian.
	 * It clobbers r9-r12, XER, CTR and CR0-1,5-7.
	 */
	li r0, __NR_switch_endian
	sc

	tdi   0, 0, 0x48	// b +8 if the endian was switched
	b     .Lfail	  	// exit if endian didn't switch

#include "check-reversed.S"

	/* Flip back, r0 already has the switch syscall number */
	.long	0x02000044	/* sc */

#include "check.S"

	ld	r4, success_message@got(%r2)
	li	r5, 28	// strlen(success_message)
	li	r14, 0	// exit status
.Lout:
	li	r0, __NR_write
	li	r3, 1	/* stdout */
	sc
	li      r0, __NR_exit
	mr	r3, r14
	sc
	b       .

.Lfail:
	ld	r4, failure_message@got(%r2)
	li	r5, 28	// strlen(failure_message)
	li	r14, 1
	b	.Lout
