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