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

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

?? signal.c

?? QEMU 0.91 source code, supports ARM processor including S3C24xx series
?? C
?? 第 1 頁 / 共 5 頁
字號:
#define MC_G7 10#define MC_O0 11#define MC_O1 12#define MC_O2 13#define MC_O3 14#define MC_O4 15#define MC_O5 16#define MC_O6 17#define MC_O7 18#define MC_NGREG 19typedef abi_ulong target_mc_greg_t;typedef target_mc_greg_t target_mc_gregset_t[MC_NGREG];struct target_mc_fq {    abi_ulong *mcfq_addr;    uint32_t mcfq_insn;};struct target_mc_fpu {    union {        uint32_t sregs[32];        uint64_t dregs[32];        //uint128_t qregs[16];    } mcfpu_fregs;    abi_ulong mcfpu_fsr;    abi_ulong mcfpu_fprs;    abi_ulong mcfpu_gsr;    struct target_mc_fq *mcfpu_fq;    unsigned char mcfpu_qcnt;    unsigned char mcfpu_qentsz;    unsigned char mcfpu_enab;};typedef struct target_mc_fpu target_mc_fpu_t;typedef struct {    target_mc_gregset_t mc_gregs;    target_mc_greg_t mc_fp;    target_mc_greg_t mc_i7;    target_mc_fpu_t mc_fpregs;} target_mcontext_t;struct target_ucontext {    struct target_ucontext *uc_link;    abi_ulong uc_flags;    target_sigset_t uc_sigmask;    target_mcontext_t uc_mcontext;};/* A V9 register window */struct target_reg_window {    abi_ulong locals[8];    abi_ulong ins[8];};#define TARGET_STACK_BIAS 2047/* {set, get}context() needed for 64-bit SparcLinux userland. */void sparc64_set_context(CPUSPARCState *env){    abi_ulong ucp_addr;    struct target_ucontext *ucp;    target_mc_gregset_t *grp;    abi_ulong pc, npc, tstate;    abi_ulong fp, i7, w_addr;    unsigned char fenab;    int err;    unsigned int i;    ucp_addr = env->regwptr[UREG_I0];    if (!lock_user_struct(VERIFY_READ, ucp, ucp_addr, 1))        goto do_sigsegv;    grp  = &ucp->uc_mcontext.mc_gregs;    err  = __get_user(pc, &((*grp)[MC_PC]));    err |= __get_user(npc, &((*grp)[MC_NPC]));    if (err || ((pc | npc) & 3))        goto do_sigsegv;    if (env->regwptr[UREG_I1]) {        target_sigset_t target_set;        sigset_t set;        if (TARGET_NSIG_WORDS == 1) {            if (__get_user(target_set.sig[0], &ucp->uc_sigmask.sig[0]))                goto do_sigsegv;        } else {            abi_ulong *src, *dst;            src = ucp->uc_sigmask.sig;            dst = target_set.sig;            for (i = 0; i < sizeof(target_sigset_t) / sizeof(abi_ulong);                 i++, dst++, src++)                err |= __get_user(*dst, src);            if (err)                goto do_sigsegv;        }        target_to_host_sigset_internal(&set, &target_set);        sigprocmask(SIG_SETMASK, &set, NULL);    }    env->pc = pc;    env->npc = npc;    err |= __get_user(env->y, &((*grp)[MC_Y]));    err |= __get_user(tstate, &((*grp)[MC_TSTATE]));    env->asi = (tstate >> 24) & 0xff;    PUT_CCR(env, tstate >> 32);    PUT_CWP64(env, tstate & 0x1f);    err |= __get_user(env->gregs[1], (&(*grp)[MC_G1]));    err |= __get_user(env->gregs[2], (&(*grp)[MC_G2]));    err |= __get_user(env->gregs[3], (&(*grp)[MC_G3]));    err |= __get_user(env->gregs[4], (&(*grp)[MC_G4]));    err |= __get_user(env->gregs[5], (&(*grp)[MC_G5]));    err |= __get_user(env->gregs[6], (&(*grp)[MC_G6]));    err |= __get_user(env->gregs[7], (&(*grp)[MC_G7]));    err |= __get_user(env->regwptr[UREG_I0], (&(*grp)[MC_O0]));    err |= __get_user(env->regwptr[UREG_I1], (&(*grp)[MC_O1]));    err |= __get_user(env->regwptr[UREG_I2], (&(*grp)[MC_O2]));    err |= __get_user(env->regwptr[UREG_I3], (&(*grp)[MC_O3]));    err |= __get_user(env->regwptr[UREG_I4], (&(*grp)[MC_O4]));    err |= __get_user(env->regwptr[UREG_I5], (&(*grp)[MC_O5]));    err |= __get_user(env->regwptr[UREG_I6], (&(*grp)[MC_O6]));    err |= __get_user(env->regwptr[UREG_I7], (&(*grp)[MC_O7]));    err |= __get_user(fp, &(ucp->uc_mcontext.mc_fp));    err |= __get_user(i7, &(ucp->uc_mcontext.mc_i7));    w_addr = TARGET_STACK_BIAS+env->regwptr[UREG_I6];    if (put_user(fp, w_addr + offsetof(struct target_reg_window, ins[6]),                  abi_ulong) != 0)        goto do_sigsegv;    if (put_user(i7, w_addr + offsetof(struct target_reg_window, ins[7]),                  abi_ulong) != 0)        goto do_sigsegv;    err |= __get_user(fenab, &(ucp->uc_mcontext.mc_fpregs.mcfpu_enab));    err |= __get_user(env->fprs, &(ucp->uc_mcontext.mc_fpregs.mcfpu_fprs));    {        uint32_t *src, *dst;        src = ucp->uc_mcontext.mc_fpregs.mcfpu_fregs.sregs;        dst = env->fpr;        /* XXX: check that the CPU storage is the same as user context */        for (i = 0; i < 64; i++, dst++, src++)            err |= __get_user(*dst, src);    }    err |= __get_user(env->fsr,                      &(ucp->uc_mcontext.mc_fpregs.mcfpu_fsr));    err |= __get_user(env->gsr,                      &(ucp->uc_mcontext.mc_fpregs.mcfpu_gsr));    if (err)        goto do_sigsegv;    unlock_user_struct(ucp, ucp_addr, 0);    return; do_sigsegv:    unlock_user_struct(ucp, ucp_addr, 0);    force_sig(SIGSEGV);}void sparc64_get_context(CPUSPARCState *env){    abi_ulong ucp_addr;    struct target_ucontext *ucp;    target_mc_gregset_t *grp;    target_mcontext_t *mcp;    abi_ulong fp, i7, w_addr;    int err;    unsigned int i;    target_sigset_t target_set;    sigset_t set;    ucp_addr = env->regwptr[UREG_I0];    if (!lock_user_struct(VERIFY_WRITE, ucp, ucp_addr, 0))        goto do_sigsegv;        mcp = &ucp->uc_mcontext;    grp = &mcp->mc_gregs;    /* Skip over the trap instruction, first. */    env->pc = env->npc;    env->npc += 4;    err = 0;    sigprocmask(0, NULL, &set);    host_to_target_sigset_internal(&target_set, &set);    if (TARGET_NSIG_WORDS == 1) {        err |= __put_user(target_set.sig[0],                          (abi_ulong *)&ucp->uc_sigmask);    } else {        abi_ulong *src, *dst;        src = target_set.sig;        dst = ucp->uc_sigmask.sig;        for (i = 0; i < sizeof(target_sigset_t) / sizeof(abi_ulong);             i++, dst++, src++)            err |= __put_user(*src, dst);        if (err)            goto do_sigsegv;    }    /* XXX: tstate must be saved properly */    //    err |= __put_user(env->tstate, &((*grp)[MC_TSTATE]));    err |= __put_user(env->pc, &((*grp)[MC_PC]));    err |= __put_user(env->npc, &((*grp)[MC_NPC]));    err |= __put_user(env->y, &((*grp)[MC_Y]));    err |= __put_user(env->gregs[1], &((*grp)[MC_G1]));    err |= __put_user(env->gregs[2], &((*grp)[MC_G2]));    err |= __put_user(env->gregs[3], &((*grp)[MC_G3]));    err |= __put_user(env->gregs[4], &((*grp)[MC_G4]));    err |= __put_user(env->gregs[5], &((*grp)[MC_G5]));    err |= __put_user(env->gregs[6], &((*grp)[MC_G6]));    err |= __put_user(env->gregs[7], &((*grp)[MC_G7]));    err |= __put_user(env->regwptr[UREG_I0], &((*grp)[MC_O0]));    err |= __put_user(env->regwptr[UREG_I1], &((*grp)[MC_O1]));    err |= __put_user(env->regwptr[UREG_I2], &((*grp)[MC_O2]));    err |= __put_user(env->regwptr[UREG_I3], &((*grp)[MC_O3]));    err |= __put_user(env->regwptr[UREG_I4], &((*grp)[MC_O4]));    err |= __put_user(env->regwptr[UREG_I5], &((*grp)[MC_O5]));    err |= __put_user(env->regwptr[UREG_I6], &((*grp)[MC_O6]));    err |= __put_user(env->regwptr[UREG_I7], &((*grp)[MC_O7]));    w_addr = TARGET_STACK_BIAS+env->regwptr[UREG_I6];    fp = i7 = 0;    if (get_user(fp, w_addr + offsetof(struct target_reg_window, ins[6]),                  abi_ulong) != 0)        goto do_sigsegv;    if (get_user(i7, w_addr + offsetof(struct target_reg_window, ins[7]),                  abi_ulong) != 0)        goto do_sigsegv;    err |= __put_user(fp, &(mcp->mc_fp));    err |= __put_user(i7, &(mcp->mc_i7));    {        uint32_t *src, *dst;        src = env->fpr;        dst = ucp->uc_mcontext.mc_fpregs.mcfpu_fregs.sregs;        /* XXX: check that the CPU storage is the same as user context */        for (i = 0; i < 64; i++, dst++, src++)            err |= __put_user(*src, dst);    }    err |= __put_user(env->fsr, &(mcp->mc_fpregs.mcfpu_fsr));    err |= __put_user(env->gsr, &(mcp->mc_fpregs.mcfpu_gsr));    err |= __put_user(env->fprs, &(mcp->mc_fpregs.mcfpu_fprs));    if (err)        goto do_sigsegv;    unlock_user_struct(ucp, ucp_addr, 1);    return; do_sigsegv:    unlock_user_struct(ucp, ucp_addr, 1);    force_sig(SIGSEGV);}#endif#elif defined(TARGET_ABI_MIPSN64)# warning signal handling not implementedstatic void setup_frame(int sig, struct emulated_sigaction *ka,			target_sigset_t *set, CPUState *env){    fprintf(stderr, "setup_frame: not implemented\n");}static void setup_rt_frame(int sig, struct emulated_sigaction *ka,                           target_siginfo_t *info,			   target_sigset_t *set, CPUState *env){    fprintf(stderr, "setup_rt_frame: not implemented\n");}long do_sigreturn(CPUState *env){    fprintf(stderr, "do_sigreturn: not implemented\n");    return -TARGET_ENOSYS;}long do_rt_sigreturn(CPUState *env){    fprintf(stderr, "do_rt_sigreturn: not implemented\n");    return -TARGET_ENOSYS;}#elif defined(TARGET_ABI_MIPSN32)# warning signal handling not implementedstatic void setup_frame(int sig, struct emulated_sigaction *ka,			target_sigset_t *set, CPUState *env){    fprintf(stderr, "setup_frame: not implemented\n");}static void setup_rt_frame(int sig, struct emulated_sigaction *ka,                           target_siginfo_t *info,			   target_sigset_t *set, CPUState *env){    fprintf(stderr, "setup_rt_frame: not implemented\n");}long do_sigreturn(CPUState *env){    fprintf(stderr, "do_sigreturn: not implemented\n");    return -TARGET_ENOSYS;}long do_rt_sigreturn(CPUState *env){    fprintf(stderr, "do_rt_sigreturn: not implemented\n");    return -TARGET_ENOSYS;}#elif defined(TARGET_ABI_MIPSO32)struct target_sigcontext {    uint32_t   sc_regmask;     /* Unused */    uint32_t   sc_status;    uint64_t   sc_pc;    uint64_t   sc_regs[32];    uint64_t   sc_fpregs[32];    uint32_t   sc_ownedfp;     /* Unused */    uint32_t   sc_fpc_csr;    uint32_t   sc_fpc_eir;     /* Unused */    uint32_t   sc_used_math;    uint32_t   sc_dsp;         /* dsp status, was sc_ssflags */    uint64_t   sc_mdhi;    uint64_t   sc_mdlo;    target_ulong   sc_hi1;         /* Was sc_cause */    target_ulong   sc_lo1;         /* Was sc_badvaddr */    target_ulong   sc_hi2;         /* Was sc_sigset[4] */    target_ulong   sc_lo2;    target_ulong   sc_hi3;    target_ulong   sc_lo3;};struct sigframe {    uint32_t sf_ass[4];			/* argument save space for o32 */    uint32_t sf_code[2];			/* signal trampoline */    struct target_sigcontext sf_sc;    target_sigset_t sf_mask;};/* Install trampoline to jump back from signal handler */static inline int install_sigtramp(unsigned int *tramp,   unsigned int syscall){    int err;    /*    * Set up the return code ...    *    *         li      v0, __NR__foo_sigreturn    *         syscall    */    err = __put_user(0x24020000 + syscall, tramp + 0);    err |= __put_user(0x0000000c          , tramp + 1);    /* flush_cache_sigtramp((unsigned long) tramp); */    return err;}static inline intsetup_sigcontext(CPUState *regs, struct target_sigcontext *sc){    int err = 0;    err |= __put_user(regs->PC[regs->current_tc], &sc->sc_pc);#define save_gp_reg(i) do {   							\        err |= __put_user(regs->gpr[i][regs->current_tc], &sc->sc_regs[i]);	\    } while(0)    __put_user(0, &sc->sc_regs[0]); save_gp_reg(1); save_gp_reg(2);    save_gp_reg(3); save_gp_reg(4); save_gp_reg(5); save_gp_reg(6);    save_gp_reg(7); save_gp_reg(8); save_gp_reg(9); save_gp_reg(10);    save_gp_reg(11); save_gp_reg(12); save_gp_reg(13); save_gp_reg(14);    save_gp_reg(15); save_gp_reg(16); save_gp_reg(17); save_gp_reg(18);    save_gp_reg(19); save_gp_reg(20); save_gp_reg(21); save_gp_reg(22);    save_gp_reg(23); save_gp_reg(24); save_gp_reg(25); save_gp_reg(26);    save_gp_reg(27); save_gp_reg(28); save_gp_reg(29); save_gp_reg(30);    save_gp_reg(31);#undef save_gp_reg    err |= __put_user(regs->HI[0][regs->current_tc], &sc->sc_mdhi);    err |= __put_user(regs->LO[0][regs->current_tc], &sc->sc_mdlo);    /* Not used yet, but might be useful if we ever have DSP suppport */#if 0    if (cpu_has_dsp) {	err |= __put_user(mfhi1(), &sc->sc_hi1);	err |= __put_user(mflo1(), &sc->sc_lo1);	err |= __put_user(mfhi2(), &sc->sc_hi2);	err |= __put_user(mflo2(), &sc->sc_lo2);	err |= __put_user(mfhi3(), &sc->sc_hi3);	err |= __put_user(mflo3(), &sc->sc_lo3);	err |= __put_user(rddsp(DSP_MASK), &sc->sc_dsp);    }    /* same with 64 bit */#ifdef CONFIG_64BIT    err |= __put_user(regs->hi, &sc->sc_hi[0]);    err |= __put_user(regs->lo, &sc->sc_lo[0]);    if (cpu_has_dsp) {	err |= __put_user(mfhi1(), &sc->sc_hi[1]);	err |= __put_user(mflo1(), &sc->sc_lo[1]);	err |= __put_user(mfhi2(), &sc->sc_hi[2]);	err |= __put_user(mflo2(), &sc->sc_lo[2]);	err |= __put_user(mfhi3(), &sc->sc_hi[3]);	err |= __put_user(mflo3(), &sc->sc_lo[3]);	err |= __put_user(rddsp(DSP_MASK), &sc->sc_dsp);    }#endif#endif#if 0    err |= __put_user(!!used_math(), &sc->sc_used_math);    if (!used_math())	goto out;    /*    * Save FPU state to signal context.  Signal handler will "inherit"    * current FPU state.    */    preempt_disable();    if (!is_fpu_owner()) {	own_fpu();	restore_fp(current);    }    err |= save_fp_context(sc);    preempt_enable();    out:#endif    return err;}static inline intrestore_sigcontext(CPUState *regs, struct target_sigcontext *sc){    int err = 0;    err |= __get_user(regs->CP0_EPC, &sc->sc_pc);    err |= __get_user(regs->HI[0][regs->current_tc], &sc->sc_mdhi);    err |= __get_user(regs->LO[0][regs->current_tc], &sc->sc_mdlo);#define restore_gp_reg(i) do {   							\        err |= _

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色噜噜狠狠色综合中国| 99精品久久免费看蜜臀剧情介绍| 久久国产精品一区二区| 国产成人一级电影| 色综合一个色综合亚洲| 日韩一级完整毛片| 亚洲欧美日韩电影| 麻豆免费看一区二区三区| 99久久99久久综合| 精品国产一区二区三区忘忧草 | 69堂国产成人免费视频| 欧美成va人片在线观看| 一区二区欧美国产| 国产成人精品免费在线| 欧美精品三级在线观看| 一区二区三区**美女毛片| 国产福利一区二区三区| 欧美精品第1页| 一区二区三区在线视频观看| 黑人巨大精品欧美黑白配亚洲| 91麻豆国产福利在线观看| 日韩欧美一级精品久久| 亚洲永久免费视频| aa级大片欧美| 久久色在线观看| 日韩成人一级大片| 欧美丝袜丝交足nylons图片| 国产精品天天摸av网| 久久99国产精品免费| 欧美精品一级二级三级| 国产精品福利一区| 国产成人h网站| 久久久国际精品| 蜜桃久久av一区| 欧美日韩综合在线| 亚洲激情综合网| 色欲综合视频天天天| 日本一区二区在线不卡| 国产精品正在播放| 久久一夜天堂av一区二区三区| 日韩av电影天堂| 91精品啪在线观看国产60岁| 亚洲国产精品久久久久秋霞影院| 国产一区二区精品久久| 日韩欧美一级精品久久| 久久国产尿小便嘘嘘| 欧美一区二区三区在线视频| 亚洲午夜精品在线| 色就色 综合激情| 国产精品免费丝袜| 国产成人综合在线观看| 久久久久久久国产精品影院| 国产精品亚洲а∨天堂免在线| 日韩欧美国产1| 久久91精品久久久久久秒播| 日韩一区二区麻豆国产| 日本vs亚洲vs韩国一区三区| 欧美一级日韩一级| 午夜成人在线视频| 欧美三级韩国三级日本三斤| 亚洲小说春色综合另类电影| 色999日韩国产欧美一区二区| 亚洲欧美日韩系列| 欧美午夜精品一区二区蜜桃| 五月天一区二区| 欧美成人video| 国产精品一区二区男女羞羞无遮挡| 久久久久99精品国产片| 国产成人aaaa| 伊人性伊人情综合网| 欧美日本韩国一区二区三区视频| 麻豆一区二区在线| 国产精品水嫩水嫩| 波多野结衣欧美| 亚洲最大成人网4388xx| 日韩无一区二区| 国产丶欧美丶日本不卡视频| 日本一区二区综合亚洲| 成人高清视频在线观看| 亚洲线精品一区二区三区八戒| 日韩午夜中文字幕| 国产99精品国产| 亚洲最大成人网4388xx| 欧美日免费三级在线| 国产一区二区视频在线| 亚洲女女做受ⅹxx高潮| 制服丝袜亚洲网站| 97久久精品人人做人人爽50路| 视频一区视频二区中文| 日韩精品一区二区在线观看| 国产精品99久久久久久似苏梦涵| 亚洲欧美日韩中文字幕一区二区三区| 91免费版在线看| 久久成人av少妇免费| 亚洲欧美日韩电影| 久久久.com| 欧美三级日韩三级国产三级| 久久国产精品99久久久久久老狼| 2023国产精品视频| 欧美探花视频资源| 91视频免费播放| 国产乱子轮精品视频| 亚洲国产精品尤物yw在线观看| 欧美一级在线观看| 欧美日韩午夜精品| 国产精品一区二区免费不卡| 一区二区三区在线免费观看| 精品久久人人做人人爽| 欧美在线观看视频在线| 成人av网站大全| 免费看日韩a级影片| 夜色激情一区二区| 欧美sm极限捆绑bd| 欧美日韩日日夜夜| 成人av资源下载| 国产精品夜夜爽| 久久国产夜色精品鲁鲁99| 亚洲aⅴ怡春院| 亚洲在线观看免费视频| 亚洲裸体xxx| 国产蜜臀av在线一区二区三区| 2020国产精品久久精品美国| 欧美一级搡bbbb搡bbbb| 制服丝袜成人动漫| 7777精品伊人久久久大香线蕉的 | 爽好久久久欧美精品| 亚洲女同女同女同女同女同69| 国产婷婷一区二区| 欧美一区二区三区在线观看视频| 成人性色生活片免费看爆迷你毛片| 美女任你摸久久| 老司机一区二区| 美美哒免费高清在线观看视频一区二区| 中文字幕一区日韩精品欧美| 国产欧美在线观看一区| 国产欧美一区二区在线观看| 久久久久99精品一区| 国产三级久久久| 亚洲色图视频网站| 国产精品毛片久久久久久久| 精品日韩一区二区三区| 久久亚洲免费视频| 久久精品人人做人人爽97| 26uuu成人网一区二区三区| 久久精品网站免费观看| 精品sm在线观看| 久久久国际精品| 国产精品视频yy9299一区| 久久中文字幕电影| 久久免费精品国产久精品久久久久| 欧美一区中文字幕| 精品国产区一区| 国产偷国产偷亚洲高清人白洁| 国产精品超碰97尤物18| 亚洲高清中文字幕| 久草热8精品视频在线观看| 国产91精品一区二区| 91在线播放网址| 91.xcao| 精品播放一区二区| 亚洲美女淫视频| 日韩精品一卡二卡三卡四卡无卡| 国产一区二区三区美女| 一本大道av伊人久久综合| 91超碰这里只有精品国产| 26uuu成人网一区二区三区| 亚洲欧美在线aaa| 日本免费新一区视频| 国产成人综合在线播放| 欧美中文字幕一区| 国产日韩视频一区二区三区| 亚洲一区二区三区精品在线| 国产伦精一区二区三区| 欧美视频在线不卡| 欧美va亚洲va在线观看蝴蝶网| 欧美激情综合在线| 性感美女久久精品| 成人av中文字幕| 日韩手机在线导航| 亚洲精品福利视频网站| 国产一区高清在线| 欧美日韩国产精选| 欧美激情一区二区三区不卡| 亚洲成人免费电影| 91同城在线观看| 久久综合色8888| 香蕉成人啪国产精品视频综合网| 国产不卡在线一区| 欧美日韩成人综合在线一区二区| 国产欧美一区二区精品忘忧草| 天天色综合成人网| 91视频你懂的| 国产精品久久久久影院色老大| 日本不卡高清视频| 欧美日韩国产首页在线观看| 国产精品区一区二区三区| 免费成人av在线播放| 欧美三级资源在线| 一区二区不卡在线播放 | 欧美—级在线免费片|