0001
0002
0003
0004
0005
0006
0007 #include <linux/linkage.h>
0008 #include <asm/asm-offsets.h>
0009
0010 ENTRY(early_pgm_check_handler)
0011 stmg %r8,%r15,__LC_SAVE_AREA_SYNC
0012 aghi %r15,-(STACK_FRAME_OVERHEAD+__PT_SIZE)
0013 la %r11,STACK_FRAME_OVERHEAD(%r15)
0014 xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
0015 stmg %r0,%r7,__PT_R0(%r11)
0016 mvc __PT_PSW(16,%r11),__LC_PGM_OLD_PSW
0017 mvc __PT_R8(64,%r11),__LC_SAVE_AREA_SYNC
0018 lgr %r2,%r11
0019 brasl %r14,__do_early_pgm_check
0020 mvc __LC_RETURN_PSW(16),STACK_FRAME_OVERHEAD+__PT_PSW(%r15)
0021 lmg %r0,%r15,STACK_FRAME_OVERHEAD+__PT_R0(%r15)
0022 lpswe __LC_RETURN_PSW
0023 ENDPROC(early_pgm_check_handler)