xref: /openbmc/qemu/tests/tcg/s390x/clm.S (revision 3ee44ec72753ec0ff05ad1569dfa609203d722b2)
1*285a672dSIlya Leoshkevich    .org 0x8e
2*285a672dSIlya Leoshkevichprogram_interruption_code:
3*285a672dSIlya Leoshkevich    .org 0x1d0                         /* program new PSW */
4*285a672dSIlya Leoshkevich    .quad 0,pgm
5*285a672dSIlya Leoshkevich    .org 0x200                         /* lowcore padding */
6*285a672dSIlya Leoshkevich    .globl _start
7*285a672dSIlya Leoshkevich_start:
8*285a672dSIlya Leoshkevich    lgrl %r0,op1
9*285a672dSIlya Leoshkevich    clm %r0,6,op2
10*285a672dSIlya Leoshkevich    jle failure
11*285a672dSIlya Leoshkevich    lgrl %r1,bad_addr
12*285a672dSIlya Leoshkevich    clm %r0,0,0(%r1)
13*285a672dSIlya Leoshkevichfailure:
14*285a672dSIlya Leoshkevich    lpswe failure_psw
15*285a672dSIlya Leoshkevichpgm:
16*285a672dSIlya Leoshkevich    chhsi program_interruption_code,5  /* addressing exception? */
17*285a672dSIlya Leoshkevich    jne failure
18*285a672dSIlya Leoshkevich    lpswe success_psw
19*285a672dSIlya Leoshkevich    .align 8
20*285a672dSIlya Leoshkevichop1:
21*285a672dSIlya Leoshkevich    .quad 0x1234567887654321
22*285a672dSIlya Leoshkevichop2:
23*285a672dSIlya Leoshkevich    .quad 0x3456789abcdef012
24*285a672dSIlya Leoshkevichbad_addr:
25*285a672dSIlya Leoshkevich    .quad 0xffffffff00000000
26*285a672dSIlya Leoshkevichsuccess_psw:
27*285a672dSIlya Leoshkevich    .quad 0x2000000000000,0xfff        /* see is_special_wait_psw() */
28*285a672dSIlya Leoshkevichfailure_psw:
29*285a672dSIlya Leoshkevich    .quad 0x2000000000000,0            /* disabled wait */
30