qemu/tests/tcg/s390x/cksm.S
Ilya Leoshkevich f6044c994a tests/tcg/s390x: Test CKSM
Add a small test to prevent regressions.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20230724082032.66864-9-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2023-07-24 18:44:47 +02:00

30 lines
771 B
ArmAsm

.org 0x8e
program_interruption_code:
.org 0x1d0 /* program new PSW */
.quad 0,pgm
.org 0x200 /* lowcore padding */
.globl _start
_start:
lmg %r0,%r1,cksm_args
cksm %r2,%r0
c %r2,cksm_exp
jne failure
.insn rre,0xb2410000,%r2,%r15 /* cksm %r2,%r15 */
failure:
lpswe failure_psw
pgm:
chhsi program_interruption_code,6 /* specification exception? */
jne failure
lpswe success_psw
cksm_args:
.quad cksm_buf, 16
cksm_buf:
.quad 0xaaaabbbbcccc0000, 0x12345678
cksm_exp:
.long 0x89ab1234
.align 8
success_psw:
.quad 0x2000000000000,0xfff /* see is_special_wait_psw() */
failure_psw:
.quad 0x2000000000000,0 /* disabled wait */