xref: /openbmc/qemu/tests/tcg/s390x/cksm.S (revision 3ee44ec72753ec0ff05ad1569dfa609203d722b2)
1     .org 0x8e
2 program_interruption_code:
3     .org 0x1d0                         /* program new PSW */
4     .quad 0,pgm
5     .org 0x200                         /* lowcore padding */
6     .globl _start
7 _start:
8     lmg %r0,%r1,cksm_args
9     cksm %r2,%r0
10     c %r2,cksm_exp
11     jne failure
12     .insn rre,0xb2410000,%r2,%r15      /* cksm %r2,%r15 */
13 failure:
14     lpswe failure_psw
15 pgm:
16     chhsi program_interruption_code,6  /* specification exception? */
17     jne failure
18     lpswe success_psw
19 cksm_args:
20     .quad cksm_buf, 16
21 cksm_buf:
22     .quad 0xaaaabbbbcccc0000, 0x12345678
23 cksm_exp:
24     .long 0x89ab1234
25     .align 8
26 success_psw:
27     .quad 0x2000000000000,0xfff        /* see is_special_wait_psw() */
28 failure_psw:
29     .quad 0x2000000000000,0            /* disabled wait */
30