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