亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? entry.s

?? 上傳linux-jx2410的源代碼
?? S
?? 第 1 頁 / 共 3 頁
字號:
	.rept  255-224	.long  sys_ni_syscall	.endr/* * Program check handler routine */        .globl  pgm_check_handlerpgm_check_handler:/* * First we need to check for a special case: * Single stepping an instruction that disables the PER event mask will * cause a PER event AFTER the mask has been set. Example: SVC or LPSW. * For a single stepped SVC the program check handler gets control after * the SVC new PSW has been loaded. But we want to execute the SVC first and * then handle the PER event. Therefore we update the SVC old PSW to point * to the pgm_check_handler and branch to the SVC handler after we checked * if we have to load the kernel stack register. * For every other possible cause for PER event without the PER mask set * we just ignore the PER event (FIXME: is there anything we have to do * for LPSW?). */	stm     %r13,%r15,__LC_SAVE_AREA	basr    %r13,0                   # temp base pointer	l       %r13,.Lentry_base-.(%r13)# load &entry_base to %r13        tm      __LC_PGM_INT_CODE+1,0x80 # check whether we got a per exception	stam    %a2,%a4,__LC_SAVE_AREA+12        bz      BASED(pgm_sv)            # skip if not        tm      __LC_PGM_OLD_PSW,0x40    # test if per event recording is on        bnz     BASED(pgm_sv)            # skip if it is# ok its one of the special cases, now we need to find out which one        clc     __LC_PGM_OLD_PSW(8),__LC_SVC_NEW_PSW        be      BASED(pgm_svcper)# no interesting special case, ignore PER event        lm      %r13,%r15,__LC_SAVE_AREA	lpsw    0x28# it was a single stepped SVC that is causing all the troublepgm_svcper:        tm      0x21,0x01                # test problem state bit	bz	BASED(.+12)              # skip stack & access regs setup	l	%r15,__LC_KERNEL_STACK   # problem state -> load ksp	lam     %a2,%a4,BASED(.Lc_ac)    # set ac.reg. 2 to primary space                                         # and access reg. 4 to home space	s       %r15,BASED(.Lc_spsize)   # make room for registers & psw        n       %r15,BASED(.Lc0xfffffff8) # align stack pointer to 8        stm     %r0,%r12,SP_R0(%r15)     # store gprs 0-12 to kernel stack        st      %r2,SP_ORIG_R2(%r15)     # store original content of gpr 2        mvc     SP_R13(12,%r15),__LC_SAVE_AREA # move R13-R15 to stack        stam    %a0,%a15,SP_AREGS(%r15)  # store access registers to kst.	mvc     SP_AREGS+8(12,%r15),__LC_SAVE_AREA+12 # store ac. regs        mvc     SP_PSW(8,%r15),0x20      # move user PSW to stack        la      %r0,0x20                 # store trap indication        st      %r0,SP_TRAP(%r15)        xc      0(4,%r15),0(%r15)        # clear back chain        mvc     SP_PGM_OLD_ILC(4,%r15),__LC_PGM_ILC # save program check information        b       BASED(pgm_system_call)   # now do the svcpgm_svcret:        mvi     SP_TRAP+3(%r15),0x28     # set trap indication back to pgm_chk        lh      %r7,SP_PGM_OLD_ILC(%r15) # get ilc from stack	mvi     SP_PGM_OLD_ILC(%r15),1   # mark PGM_OLD_ILC as invalid	b       BASED(pgm_no_sv)pgm_sv:        tm      0x29,0x01                # test problem state bit	bz	BASED(.+12)              # skip stack & access regs setup	l	%r15,__LC_KERNEL_STACK   # problem state -> load ksp	lam     %a2,%a4,BASED(.Lc_ac)    # set ac.reg. 2 to primary space                                         # and access reg. 4 to home space	s       %r15,BASED(.Lc_spsize)   # make room for registers & psw        n       %r15,BASED(.Lc0xfffffff8) # align stack pointer to 8        stm     %r0,%r12,SP_R0(%r15)     # store gprs 0-12 to kernel stack        st      %r2,SP_ORIG_R2(%r15)     # store original content of gpr 2        mvc     SP_R13(12,%r15),__LC_SAVE_AREA # move R13-R15 to stack        stam    %a0,%a15,SP_AREGS(%r15)  # store access registers to kst.	mvc     SP_AREGS+8(12,%r15),__LC_SAVE_AREA+12 # store ac. regs        mvc     SP_PSW(8,%r15),0x28      # move user PSW to stack        la      %r0,0x28                 # store trap indication        st      %r0,SP_TRAP(%r15)        xc      0(4,%r15),0(%r15)        # clear back chain	mvi     SP_PGM_OLD_ILC(%r15),1   # mark PGM_OLD_ILC as invalid        lh      %r7,__LC_PGM_ILC         # load instruction length	GET_CURRENTpgm_no_sv:	la	%r3,0x7f        lh      %r8,__LC_PGM_INT_CODE  # N.B. saved int code used later KEEP it	nr      %r3,%r8           # reload & clear per-event-bit        be      BASED(pgm_dn)     # none of Martins exceptions occurred bypass        l       %r1,BASED(.Ljump_table)        sll     %r3,2        l       %r1,0(%r3,%r1)    # load address of handler routine        la      %r2,SP_PTREGS(%r15) # address of register-save area        srl     %r3,2        cl      %r3,BASED(.Lc4)   # protection-exception ?        bne     BASED(pgm_per)    # if not,        l       %r5,SP_PSW+4(15)  # load psw addr        sr      %r5,%r7           # substract ilc from psw        st      %r5,SP_PSW+4(15)  # store corrected psw addrpgm_per:basr    %r14,%r1          # branch to interrupt-handlerpgm_dn: n	%r8,BASED(.Lc128) # check for per excepton        be      BASED(pgm_return)        la      %r2,SP_PTREGS(15) # address of register-save area        l       %r1,BASED(.Lhandle_per) # load adr. of per handler        la      %r14,BASED(sysc_return) # load adr. of system return        br      %r1               # branch to handle_per_exception## the backend code is the same as for sys-call#pgm_return:        b       BASED(sysc_return)/* * IO interrupt handler routine */        .globl io_int_handlerio_int_handler:        SAVE_ALL __LC_IO_OLD_PSW,0        GET_CURRENT               # load pointer to task_struct to R9        la      %r2,SP_PTREGS(%r15) # address of register-save area        sr      %r3,%r3        icm     %r3,%r3,__LC_SUBCHANNEL_NR # load subchannel nr & extend to int        l       %r4,__LC_IO_INT_PARM       # load interuption parm	l       %r5,__LC_IO_INT_WORD       # load interuption word        l       %r1,BASED(.Ldo_IRQ)        # load address of do_IRQ        basr    %r14,%r1          # branch to standard irq handlerio_return:## check, if bottom-half has to be done#        l       %r1,processor(%r9)    # get cpu number from task struture        sll     %r1,L1_CACHE_SHIFT        al      %r1,BASED(.Lirq_stat) # get address of irq_stat        icm     %r0,15,0(%r1)         # test irq_stat[#cpu].__softirq_pending        bnz     BASED(io_handle_bottom_half)io_return_bh:        tm      SP_PSW+1(%r15),0x01 # returning to user ?        bno     BASED(io_leave)   # no-> skip resched & signal        stosm   24(%r15),0x03     # reenable interrupts## check, if reschedule is needed#        icm     %r0,15,need_resched(%r9) # get need_resched from task_struct        bnz     BASED(io_reschedule)        icm     %r0,15,sigpending(%r9)   # get sigpending from task_struct        bnz     BASED(io_signal_return)io_leave:        stnsm   24(%r15),0xfc            # disable I/O and ext. interrupts        RESTORE_ALL 0## call do_softirq#io_handle_bottom_half:        l       %r1,BASED(.Ldo_softirq)        la      %r14,BASED(io_return_bh)        br      %r1               # call do_softirq## call schedule with io_return as return-address#io_reschedule:                l       %r1,BASED(.Lschedule)	la      %r14,BASED(io_return)        br      %r1               # call scheduler, return to io_return## call do_signal before return#io_signal_return:             la      %r2,SP_PTREGS(%r15) # load pt_regs        sr      %r3,%r3           # clear *oldset        l       %r1,BASED(.Ldo_signal)	la      %r14,BASED(io_leave)        br      %r1               # return point is io_leave/* * External interrupt handler routine */        .globl  ext_int_handlerext_int_handler:        SAVE_ALL __LC_EXT_OLD_PSW,0        GET_CURRENT                    # load pointer to task_struct to R9        la      %r2,SP_PTREGS(%r15)    # address of register-save area        lh      %r3,__LC_EXT_INT_CODE  # error code        lr      %r1,%r3                # calculate index = code & 0xff        n       %r1,BASED(.Lc0xff)        sll     %r1,2        l       %r4,BASED(.Lext_hash)        l       %r4,0(%r1,%r4)         # get first list entry for hash value        ltr     %r4,%r4                # == NULL ?        bz      BASED(io_return)       # yes, nothing to do, exitext_int_loop:        ch      %r3,8(%r4)             # compare external interrupt code        be      BASED(ext_int_found)        icm     %r4,15,0(%r4)          # next list entry        bnz     BASED(ext_int_loop)        b       BASED(io_return)ext_int_found:        l       %r4,4(%r4)             # get handler address        la      %r14,BASED(io_return)        br      %r4                    # branch to ext call handler/* * Machine check handler routines */        .globl mcck_int_handlermcck_int_handler:        SAVE_ALL __LC_MCK_OLD_PSW,0	l       %r1,BASED(.Ls390_mcck)	basr    %r14,%r1	  # call machine check handlermcck_return:        RESTORE_ALL 0#ifdef CONFIG_SMP/* * Restart interruption handler, kick starter for additional CPUs */        .globl restart_int_handlerrestart_int_handler:        l       %r15,__LC_SAVE_AREA+60 # load ksp        lctl    %c0,%c15,__LC_CREGS_SAVE_AREA # get new ctl regs        lam     %a0,%a15,__LC_AREGS_SAVE_AREA        stosm   0(%r15),0x04           # now we can turn dat on        lm      %r6,%r15,24(%r15)      # load registers from clone        basr    %r14,0        l       %r14,restart_addr-.(%r14)        br      %r14                   # branch to start_secondaryrestart_addr:        .long   start_secondary#else/* * If we do not run with SMP enabled, let the new CPU crash ... */        .globl restart_int_handlerrestart_int_handler:        basr    %r1,0restart_base:        lpsw    restart_crash-restart_base(%r1)        .align 8restart_crash:        .long  0x000a0000,0x00000000restart_go:#endif/* * Integer constants */               .align 4.Lc0xfffffff8: .long  -8           # to align stack pointer to 8.Lc0xffffe000: .long  -8192        # to round stack pointer to &task_struct.Lc8191:       .long  8191.Lc_spsize:    .long  SP_SIZE.Lc_overhead:  .long  STACK_FRAME_OVERHEAD.Lc_ac:        .long  0,0,1.Lc_ENOSYS:    .long  -ENOSYS.Lc4:          .long  4.Lc20:         .long  20.Lc0x1202:     .long  0x1202.Lc0x1004:     .long  0x1004.Lc0x2401:     .long  0x2401.Lc0x4000:     .long  0x4000.Lc0xff:       .long  0xff.Lc128:        .long  128/* * Symbol constants */.Ls390_mcck:   .long  s390_do_machine_check.Ldo_IRQ:      .long  do_IRQ.Ldo_signal:   .long  do_signal.Ldo_softirq:  .long  do_softirq.Lentry_base:  .long  entry_base.Lext_hash:    .long  ext_int_hash.Lhandle_per:  .long  handle_per_exception.Lirq_stat:    .long  irq_stat.Ljump_table:  .long  pgm_check_table.Lschedule:    .long  schedule.Lclone:       .long  sys_clone.Lexecve:      .long  sys_execve.Lfork:        .long  sys_fork.Lrt_sigreturn:.long  sys_rt_sigreturn.Lrt_sigsuspend:               .long  sys_rt_sigsuspend.Lsigreturn:   .long  sys_sigreturn.Lsigsuspend:  .long  sys_sigsuspend.Lsigaltstack: .long  sys_sigaltstack.Ltrace:       .long  syscall_trace.Lvfork:       .long  sys_vfork#ifdef CONFIG_SMP.Lschedtail:   .long  schedule_tail#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩女优制服丝袜电影| 亚洲乱码日产精品bd| 成人欧美一区二区三区在线播放| 一区二区三区**美女毛片| 麻豆久久一区二区| 一本高清dvd不卡在线观看| 久久这里只有精品首页| 午夜精品一区二区三区免费视频| 成人毛片在线观看| 久久综合精品国产一区二区三区| 亚洲一区av在线| www.成人网.com| 国产日韩欧美电影| 久久97超碰国产精品超碰| 在线观看日韩电影| 日韩一区中文字幕| 成人avav影音| 国产视频一区在线观看| 国内成人自拍视频| 欧美一级一区二区| 男女男精品网站| 欧美日韩免费高清一区色橹橹| 国产精品久久久久久久久搜平片| 国产一区福利在线| 精品乱人伦一区二区三区| 日韩国产精品久久久久久亚洲| 在线观看亚洲一区| 亚洲精品一卡二卡| 一道本成人在线| 亚洲免费观看高清| 91久久精品一区二区二区| 国产精品私人自拍| 成人午夜碰碰视频| 中文字幕国产一区二区| 丁香激情综合国产| 国产精品国产a级| 99国内精品久久| 亚洲色图在线播放| 欧美视频一区二区三区四区| 一区二区三区免费在线观看| 欧美性欧美巨大黑白大战| 一区二区三区四区五区视频在线观看 | 婷婷开心激情综合| 在线成人小视频| 老色鬼精品视频在线观看播放| 欧美成人一区二区三区片免费| 蜜桃精品视频在线观看| 精品va天堂亚洲国产| 国产一区福利在线| 中文字幕中文字幕中文字幕亚洲无线 | 色香蕉成人二区免费| 综合久久综合久久| 欧美日韩国产一级片| 日韩极品在线观看| 26uuu亚洲| 不卡的看片网站| 日韩精品91亚洲二区在线观看| 日韩免费在线观看| 成人午夜激情在线| 亚洲午夜电影网| 精品盗摄一区二区三区| 高清在线不卡av| 亚洲123区在线观看| 2021久久国产精品不只是精品| 高清久久久久久| 午夜精品视频一区| 亚洲国产精品激情在线观看| 欧美视频一区二区三区| 国产麻豆精品久久一二三| 亚洲精品国产无天堂网2021 | 国产精品国产三级国产aⅴ原创| 91视频国产资源| 日本三级亚洲精品| 国产精品久久久爽爽爽麻豆色哟哟| 色噜噜偷拍精品综合在线| 精品一区二区在线免费观看| 中文字幕精品一区二区精品绿巨人| 精品视频色一区| 成人免费视频国产在线观看| 天堂在线一区二区| 综合婷婷亚洲小说| 精品乱人伦小说| 欧美久久婷婷综合色| 高清日韩电视剧大全免费| 免费的国产精品| 亚洲第一二三四区| 日韩一区中文字幕| 欧美激情在线免费观看| 91超碰这里只有精品国产| 一本色道久久综合精品竹菊| 国产高清精品网站| 麻豆国产一区二区| 亚洲18女电影在线观看| 亚洲欧美日韩一区二区 | 国产午夜精品一区二区三区视频| 欧美日韩综合色| 94色蜜桃网一区二区三区| 韩国成人在线视频| 蜜臀av一级做a爰片久久| 亚洲综合激情小说| 亚洲欧洲精品一区二区三区 | 亚洲一区二区在线免费观看视频| 国产欧美一区二区三区在线看蜜臀| 欧美日韩国产在线播放网站| 一本色道久久综合精品竹菊| 97成人超碰视| av一二三不卡影片| 不卡视频在线观看| 丁香激情综合国产| 国产99久久久国产精品潘金 | 国产精品一二三区| 久久精品二区亚洲w码| 日韩专区欧美专区| 亚洲成av人片在线| 五月天国产精品| 午夜欧美视频在线观看| 午夜电影网一区| 日韩精品国产精品| 蜜臀精品久久久久久蜜臀| 欧美a级一区二区| 麻豆精品新av中文字幕| 国内精品视频666| 精品制服美女丁香| 国产成人精品aa毛片| 国产a久久麻豆| 91麻豆精东视频| 在线免费一区三区| 56国语精品自产拍在线观看| 日韩视频123| 久久久久久久久久久黄色| 日本一区二区不卡视频| 亚洲天堂成人在线观看| 亚洲一二三四在线观看| 日日夜夜精品视频免费 | 久久精品久久久精品美女| 日韩电影免费一区| 国产一区二区三区精品欧美日韩一区二区三区| 狠狠色丁香婷综合久久| 国产福利一区二区三区在线视频| 91麻豆国产福利在线观看| 欧美日韩另类国产亚洲欧美一级| 日韩三级伦理片妻子的秘密按摩| 久久日韩粉嫩一区二区三区| 国产精品乱人伦| 亚洲在线成人精品| 精品一区二区国语对白| 成人三级伦理片| 91精品国产一区二区三区| 久久蜜桃一区二区| 亚洲美腿欧美偷拍| 男人的j进女人的j一区| 国产高清在线精品| 欧美老年两性高潮| 国产亚洲一二三区| 亚洲高清视频在线| 国产精品18久久久久久久久久久久| 91蜜桃在线免费视频| 日韩一区二区三区精品视频| 中文字幕在线免费不卡| 日韩综合一区二区| 一本久久综合亚洲鲁鲁五月天 | 精品国产污污免费网站入口| 亚洲欧洲美洲综合色网| 久久99久久精品| 在线观看中文字幕不卡| 国产三级精品视频| 欧美aa在线视频| 91成人网在线| 国产精品系列在线| 久久精品国产澳门| 欧美三级视频在线| 国产精品伦一区二区三级视频| 日日摸夜夜添夜夜添精品视频| 91视频精品在这里| 欧美国产综合色视频| 久久不见久久见免费视频7| 在线欧美日韩国产| 椎名由奈av一区二区三区| 国产精品亚洲第一区在线暖暖韩国 | 国产精品自拍一区| 91精品免费在线| 亚洲一区二区欧美| 色婷婷综合久久久中文字幕| 亚洲国产精品成人久久综合一区 | 中文字幕欧美三区| 国产在线麻豆精品观看| 欧美一级久久久久久久大片| 亚洲午夜一区二区三区| 色成年激情久久综合| 一区二区三区在线影院| 91无套直看片红桃| 中文字幕亚洲精品在线观看| 成人一级视频在线观看| 欧美极品aⅴ影院| 成人美女在线视频| 中文字幕精品—区二区四季| 国产精品99久久久久久久vr| 色综合视频在线观看| 国产精品嫩草99a| 久久99久久精品|