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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? op_helper.c

?? QEMU 0.91 source code, supports ARM processor including S3C24xx series
?? C
?? 第 1 頁 / 共 4 頁
字號:
        break;#endif    }    helper_st_asi(asi, size);    T1 = tmp_T1;}#endif /* TARGET_SPARC64 */#ifndef TARGET_SPARC64void helper_rett(){    unsigned int cwp;    if (env->psret == 1)        raise_exception(TT_ILL_INSN);    env->psret = 1;    cwp = (env->cwp + 1) & (NWINDOWS - 1);    if (env->wim & (1 << cwp)) {        raise_exception(TT_WIN_UNF);    }    set_cwp(cwp);    env->psrs = env->psrps;}#endifvoid helper_ldfsr(void){    int rnd_mode;    switch (env->fsr & FSR_RD_MASK) {    case FSR_RD_NEAREST:        rnd_mode = float_round_nearest_even;        break;    default:    case FSR_RD_ZERO:        rnd_mode = float_round_to_zero;        break;    case FSR_RD_POS:        rnd_mode = float_round_up;        break;    case FSR_RD_NEG:        rnd_mode = float_round_down;        break;    }    set_float_rounding_mode(rnd_mode, &env->fp_status);}void helper_debug(){    env->exception_index = EXCP_DEBUG;    cpu_loop_exit();}#ifndef TARGET_SPARC64void do_wrpsr(){    if ((T0 & PSR_CWP) >= NWINDOWS)        raise_exception(TT_ILL_INSN);    else        PUT_PSR(env, T0);}void do_rdpsr(){    T0 = GET_PSR(env);}#elsevoid do_popc(){    T0 = ctpop64(T1);}static inline uint64_t *get_gregset(uint64_t pstate){    switch (pstate) {    default:    case 0:        return env->bgregs;    case PS_AG:        return env->agregs;    case PS_MG:        return env->mgregs;    case PS_IG:        return env->igregs;    }}static inline void change_pstate(uint64_t new_pstate){    uint64_t pstate_regs, new_pstate_regs;    uint64_t *src, *dst;    pstate_regs = env->pstate & 0xc01;    new_pstate_regs = new_pstate & 0xc01;    if (new_pstate_regs != pstate_regs) {        // Switch global register bank        src = get_gregset(new_pstate_regs);        dst = get_gregset(pstate_regs);        memcpy32(dst, env->gregs);        memcpy32(env->gregs, src);    }    env->pstate = new_pstate;}void do_wrpstate(void){    change_pstate(T0 & 0xf3f);}void do_done(void){    env->tl--;    env->pc = env->tnpc[env->tl];    env->npc = env->tnpc[env->tl] + 4;    PUT_CCR(env, env->tstate[env->tl] >> 32);    env->asi = (env->tstate[env->tl] >> 24) & 0xff;    change_pstate((env->tstate[env->tl] >> 8) & 0xf3f);    PUT_CWP64(env, env->tstate[env->tl] & 0xff);}void do_retry(void){    env->tl--;    env->pc = env->tpc[env->tl];    env->npc = env->tnpc[env->tl];    PUT_CCR(env, env->tstate[env->tl] >> 32);    env->asi = (env->tstate[env->tl] >> 24) & 0xff;    change_pstate((env->tstate[env->tl] >> 8) & 0xf3f);    PUT_CWP64(env, env->tstate[env->tl] & 0xff);}#endifvoid set_cwp(int new_cwp){    /* put the modified wrap registers at their proper location */    if (env->cwp == (NWINDOWS - 1))        memcpy32(env->regbase, env->regbase + NWINDOWS * 16);    env->cwp = new_cwp;    /* put the wrap registers at their temporary location */    if (new_cwp == (NWINDOWS - 1))        memcpy32(env->regbase + NWINDOWS * 16, env->regbase);    env->regwptr = env->regbase + (new_cwp * 16);    REGWPTR = env->regwptr;}void cpu_set_cwp(CPUState *env1, int new_cwp){    CPUState *saved_env;#ifdef reg_REGWPTR    target_ulong *saved_regwptr;#endif    saved_env = env;#ifdef reg_REGWPTR    saved_regwptr = REGWPTR;#endif    env = env1;    set_cwp(new_cwp);    env = saved_env;#ifdef reg_REGWPTR    REGWPTR = saved_regwptr;#endif}#ifdef TARGET_SPARC64#ifdef DEBUG_PCALLstatic const char * const excp_names[0x50] = {    [TT_TFAULT] = "Instruction Access Fault",    [TT_TMISS] = "Instruction Access MMU Miss",    [TT_CODE_ACCESS] = "Instruction Access Error",    [TT_ILL_INSN] = "Illegal Instruction",    [TT_PRIV_INSN] = "Privileged Instruction",    [TT_NFPU_INSN] = "FPU Disabled",    [TT_FP_EXCP] = "FPU Exception",    [TT_TOVF] = "Tag Overflow",    [TT_CLRWIN] = "Clean Windows",    [TT_DIV_ZERO] = "Division By Zero",    [TT_DFAULT] = "Data Access Fault",    [TT_DMISS] = "Data Access MMU Miss",    [TT_DATA_ACCESS] = "Data Access Error",    [TT_DPROT] = "Data Protection Error",    [TT_UNALIGNED] = "Unaligned Memory Access",    [TT_PRIV_ACT] = "Privileged Action",    [TT_EXTINT | 0x1] = "External Interrupt 1",    [TT_EXTINT | 0x2] = "External Interrupt 2",    [TT_EXTINT | 0x3] = "External Interrupt 3",    [TT_EXTINT | 0x4] = "External Interrupt 4",    [TT_EXTINT | 0x5] = "External Interrupt 5",    [TT_EXTINT | 0x6] = "External Interrupt 6",    [TT_EXTINT | 0x7] = "External Interrupt 7",    [TT_EXTINT | 0x8] = "External Interrupt 8",    [TT_EXTINT | 0x9] = "External Interrupt 9",    [TT_EXTINT | 0xa] = "External Interrupt 10",    [TT_EXTINT | 0xb] = "External Interrupt 11",    [TT_EXTINT | 0xc] = "External Interrupt 12",    [TT_EXTINT | 0xd] = "External Interrupt 13",    [TT_EXTINT | 0xe] = "External Interrupt 14",    [TT_EXTINT | 0xf] = "External Interrupt 15",};#endifvoid do_interrupt(int intno){#ifdef DEBUG_PCALL    if (loglevel & CPU_LOG_INT) {        static int count;        const char *name;        if (intno < 0 || intno >= 0x180 || (intno > 0x4f && intno < 0x80))            name = "Unknown";        else if (intno >= 0x100)            name = "Trap Instruction";        else if (intno >= 0xc0)            name = "Window Fill";        else if (intno >= 0x80)            name = "Window Spill";        else {            name = excp_names[intno];            if (!name)                name = "Unknown";        }        fprintf(logfile, "%6d: %s (v=%04x) pc=%016" PRIx64 " npc=%016" PRIx64                " SP=%016" PRIx64 "\n",                count, name, intno,                env->pc,                env->npc, env->regwptr[6]);        cpu_dump_state(env, logfile, fprintf, 0);#if 0        {            int i;            uint8_t *ptr;            fprintf(logfile, "       code=");            ptr = (uint8_t *)env->pc;            for(i = 0; i < 16; i++) {                fprintf(logfile, " %02x", ldub(ptr + i));            }            fprintf(logfile, "\n");        }#endif        count++;    }#endif#if !defined(CONFIG_USER_ONLY)    if (env->tl == MAXTL) {        cpu_abort(env, "Trap 0x%04x while trap level is MAXTL, Error state", env->exception_index);        return;    }#endif    env->tstate[env->tl] = ((uint64_t)GET_CCR(env) << 32) | ((env->asi & 0xff) << 24) |        ((env->pstate & 0xf3f) << 8) | GET_CWP64(env);    env->tpc[env->tl] = env->pc;    env->tnpc[env->tl] = env->npc;    env->tt[env->tl] = intno;    change_pstate(PS_PEF | PS_PRIV | PS_AG);    if (intno == TT_CLRWIN)        set_cwp((env->cwp - 1) & (NWINDOWS - 1));    else if ((intno & 0x1c0) == TT_SPILL)        set_cwp((env->cwp - env->cansave - 2) & (NWINDOWS - 1));    else if ((intno & 0x1c0) == TT_FILL)        set_cwp((env->cwp + 1) & (NWINDOWS - 1));    env->tbr &= ~0x7fffULL;    env->tbr |= ((env->tl > 1) ? 1 << 14 : 0) | (intno << 5);    if (env->tl < MAXTL - 1) {        env->tl++;    } else {        env->pstate |= PS_RED;        if (env->tl != MAXTL)            env->tl++;    }    env->pc = env->tbr;    env->npc = env->pc + 4;    env->exception_index = 0;}#else#ifdef DEBUG_PCALLstatic const char * const excp_names[0x80] = {    [TT_TFAULT] = "Instruction Access Fault",    [TT_ILL_INSN] = "Illegal Instruction",    [TT_PRIV_INSN] = "Privileged Instruction",    [TT_NFPU_INSN] = "FPU Disabled",    [TT_WIN_OVF] = "Window Overflow",    [TT_WIN_UNF] = "Window Underflow",    [TT_UNALIGNED] = "Unaligned Memory Access",    [TT_FP_EXCP] = "FPU Exception",    [TT_DFAULT] = "Data Access Fault",    [TT_TOVF] = "Tag Overflow",    [TT_EXTINT | 0x1] = "External Interrupt 1",    [TT_EXTINT | 0x2] = "External Interrupt 2",    [TT_EXTINT | 0x3] = "External Interrupt 3",    [TT_EXTINT | 0x4] = "External Interrupt 4",    [TT_EXTINT | 0x5] = "External Interrupt 5",    [TT_EXTINT | 0x6] = "External Interrupt 6",    [TT_EXTINT | 0x7] = "External Interrupt 7",    [TT_EXTINT | 0x8] = "External Interrupt 8",    [TT_EXTINT | 0x9] = "External Interrupt 9",    [TT_EXTINT | 0xa] = "External Interrupt 10",    [TT_EXTINT | 0xb] = "External Interrupt 11",    [TT_EXTINT | 0xc] = "External Interrupt 12",    [TT_EXTINT | 0xd] = "External Interrupt 13",    [TT_EXTINT | 0xe] = "External Interrupt 14",    [TT_EXTINT | 0xf] = "External Interrupt 15",    [TT_TOVF] = "Tag Overflow",    [TT_CODE_ACCESS] = "Instruction Access Error",    [TT_DATA_ACCESS] = "Data Access Error",    [TT_DIV_ZERO] = "Division By Zero",    [TT_NCP_INSN] = "Coprocessor Disabled",};#endifvoid do_interrupt(int intno){    int cwp;#ifdef DEBUG_PCALL    if (loglevel & CPU_LOG_INT) {        static int count;        const char *name;        if (intno < 0 || intno >= 0x100)            name = "Unknown";        else if (intno >= 0x80)            name = "Trap Instruction";        else {            name = excp_names[intno];            if (!name)                name = "Unknown";        }        fprintf(logfile, "%6d: %s (v=%02x) pc=%08x npc=%08x SP=%08x\n",                count, name, intno,                env->pc,                env->npc, env->regwptr[6]);        cpu_dump_state(env, logfile, fprintf, 0);#if 0        {            int i;            uint8_t *ptr;            fprintf(logfile, "       code=");            ptr = (uint8_t *)env->pc;            for(i = 0; i < 16; i++) {                fprintf(logfile, " %02x", ldub(ptr + i));            }            fprintf(logfile, "\n");        }#endif        count++;    }#endif#if !defined(CONFIG_USER_ONLY)    if (env->psret == 0) {        cpu_abort(env, "Trap 0x%02x while interrupts disabled, Error state", env->exception_index);        return;    }#endif    env->psret = 0;    cwp = (env->cwp - 1) & (NWINDOWS - 1);    set_cwp(cwp);    env->regwptr[9] = env->pc;    env->regwptr[10] = env->npc;    env->psrps = env->psrs;    env->psrs = 1;    env->tbr = (env->tbr & TBR_BASE_MASK) | (intno << 4);    env->pc = env->tbr;    env->npc = env->pc + 4;    env->exception_index = 0;}#endif#if !defined(CONFIG_USER_ONLY)static void do_unaligned_access(target_ulong addr, int is_write, int is_user,                                void *retaddr);#define MMUSUFFIX _mmu#define ALIGNED_ONLY#ifdef __s390__# define GETPC() ((void*)((unsigned long)__builtin_return_address(0) & 0x7fffffffUL))#else# define GETPC() (__builtin_return_address(0))#endif#define SHIFT 0#include "softmmu_template.h"#define SHIFT 1#include "softmmu_template.h"#define SHIFT 2#include "softmmu_template.h"#define SHIFT 3#include "softmmu_template.h"static void do_unaligned_access(target_ulong addr, int is_write, int is_user,                                void *retaddr){#ifdef DEBUG_UNALIGNED    printf("Unaligned access to 0x%x from 0x%x\n", addr, env->pc);#endif    raise_exception(TT_UNALIGNED);}/* try to fill the TLB and return an exception if error. If retaddr is   NULL, it means that the function was called in C code (i.e. not   from generated code or from helper.c) *//* XXX: fix it to restore all registers */void tlb_fill(target_ulong addr, int is_write, int mmu_idx, void *retaddr){    TranslationBlock *tb;    int ret;    unsigned long pc;    CPUState *saved_env;    /* XXX: hack to restore env in all cases, even if not called from       generated code */    saved_env = env;    env = cpu_single_env;    ret = cpu_sparc_handle_mmu_fault(env, addr, is_write, mmu_idx, 1);    if (ret) {        if (retaddr) {            /* now we have a real cpu fault */            pc = (unsigned long)retaddr;            tb = tb_find_pc(pc);            if (tb) {                /* the PC is inside the translated code. It means that we have                   a virtual CPU fault */                cpu_restore_state(tb, env, pc, (void *)T2);            }        }        cpu_loop_exit();    }    env = saved_env;}#endif#ifndef TARGET_SPARC64void do_unassigned_access(target_phys_addr_t addr, int is_write, int is_exec,                          int is_asi){    CPUState *saved_env;    /* XXX: hack to restore env in all cases, even if not called from       generated code */    saved_env = env;    env = cpu_single_env;#ifdef DEBUG_UNASSIGNED    if (is_asi)        printf("Unassigned mem %s access to " TARGET_FMT_plx " asi 0x%02x from "               TARGET_FMT_lx "\n",               is_exec ? "exec" : is_write ? "write" : "read", addr, is_asi,               env->pc);    else        printf("Unassigned mem %s access to " TARGET_FMT_plx " from "               TARGET_FMT_lx "\n",               is_exec ? "exec" : is_write ? "write" : "read", addr, env->pc);#endif    if (env->mmuregs[3]) /* Fault status register */        env->mmuregs[3] = 1; /* overflow (not read before another fault) */    if (is_asi)        env->mmuregs[3] |= 1 << 16;    if (env->psrs)        env->mmuregs[3] |= 1 << 5;    if (is_exec)        env->mmuregs[3] |= 1 << 6;    if (is_write)        env->mmuregs[3] |= 1 << 7;    env->mmuregs[3] |= (5 << 2) | 2;    env->mmuregs[4] = addr; /* Fault address register */    if ((env->mmuregs[0] & MMU_E) && !(env->mmuregs[0] & MMU_NF)) {        if (is_exec)            raise_exception(TT_CODE_ACCESS);        else            raise_exception(TT_DATA_ACCESS);    }    env = saved_env;}#elsevoid do_unassigned_access(target_phys_addr_t addr, int is_write, int is_exec,                          int is_asi){#ifdef DEBUG_UNASSIGNED    CPUState *saved_env;    /* XXX: hack to restore env in all cases, even if not called from       generated code */    saved_env = env;    env = cpu_single_env;    printf("Unassigned mem access to " TARGET_FMT_plx " from " TARGET_FMT_lx "\n",           addr, env->pc);    env = saved_env;#endif    if (is_exec)        raise_exception(TT_CODE_ACCESS);    else        raise_exception(TT_DATA_ACCESS);}#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三中文字幕| 亚洲综合精品自拍| 久久亚洲捆绑美女| 日韩欧美的一区| 精品剧情在线观看| 精品88久久久久88久久久| 精品国产亚洲在线| 久久色中文字幕| 欧美激情一区二区三区全黄| 日本一区二区三区高清不卡| 国产无人区一区二区三区| 国产日韩欧美精品综合| 国产亚洲一区二区三区| 国产精品嫩草99a| 国产精品久久久久久久午夜片| 中文字幕在线不卡一区二区三区| 中文字幕一区二区不卡 | 亚洲一区二区三区四区中文字幕| 亚洲午夜私人影院| 日本特黄久久久高潮| 久久精品国产第一区二区三区| 精品一二线国产| 国产成人精品一区二区三区四区 | 久久亚区不卡日本| 国产嫩草影院久久久久| 亚洲精品乱码久久久久久| 亚洲va国产天堂va久久en| 免费高清在线一区| 丁香婷婷综合激情五月色| 99精品欧美一区二区蜜桃免费| 在线欧美小视频| 日韩一区二区三区三四区视频在线观看 | 国产精品水嫩水嫩| 亚洲欧美另类小说| 久久久国产精品午夜一区ai换脸| 中文字幕中文在线不卡住| 成人欧美一区二区三区白人| 亚洲综合另类小说| 蜜臀91精品一区二区三区| 老司机午夜精品| 美腿丝袜在线亚洲一区| 国产精品一品二品| 99re66热这里只有精品3直播 | 国产成人三级在线观看| 波多野结衣一区二区三区| 色悠悠久久综合| 精品国产伦一区二区三区免费 | 在线播放中文一区| 91精品在线观看入口| 久久精品网站免费观看| 亚洲三级在线看| 日韩精品久久理论片| 极品少妇xxxx偷拍精品少妇| 成人少妇影院yyyy| 99国产精品国产精品毛片| 欧美日韩国产系列| 精品少妇一区二区三区日产乱码| 国产欧美va欧美不卡在线| 一区2区3区在线看| 激情综合色综合久久综合| 99re热这里只有精品视频| 欧美午夜精品电影| 久久综合成人精品亚洲另类欧美| 亚洲免费av高清| 久久精品国产澳门| 色哟哟一区二区| 欧美精品一区二区三区高清aⅴ | 亚洲人精品一区| 蜜臀av一区二区在线观看| www.66久久| eeuss影院一区二区三区| 五月天中文字幕一区二区| 久久99国产乱子伦精品免费| 亚洲男人的天堂在线观看| 奇米色777欧美一区二区| 成人蜜臀av电影| 日韩一区二区在线观看视频播放| 亚洲视频1区2区| 久久99国产精品尤物| 欧美色综合天天久久综合精品| 久久久久久97三级| 日本麻豆一区二区三区视频| 99久久精品一区| 91精品国产麻豆国产自产在线 | 亚洲精选一二三| 韩国理伦片一区二区三区在线播放| 91丨九色丨国产丨porny| 久久人人97超碰com| 亚洲精品第一国产综合野| 99热国产精品| 久久精品一区八戒影视| 日韩综合在线视频| 在线免费观看日韩欧美| 亚洲国产精品黑人久久久| 久久99在线观看| 日韩一级免费观看| 青青草97国产精品免费观看无弹窗版 | 日本黄色一区二区| 17c精品麻豆一区二区免费| 成人激情小说乱人伦| 国产精品久久久久久久蜜臀| 不卡的av中国片| 国产精品久久久久久久久久免费看| 成人免费视频免费观看| 国产精品视频第一区| 成人v精品蜜桃久久一区| 中文字幕不卡三区| 99国产精品视频免费观看| 亚洲免费色视频| 欧美在线观看视频一区二区 | 亚洲成人免费在线观看| 欧美日韩一区二区欧美激情| 欧美猛男gaygay网站| 偷窥国产亚洲免费视频| 欧美一区二区三区在线观看| 美女视频黄频大全不卡视频在线播放 | 欧美人与禽zozo性伦| 日韩精品成人一区二区在线| 日韩精品在线一区二区| 国产成人在线视频免费播放| 国产精品毛片久久久久久| 色综合久久中文综合久久97| 香蕉久久夜色精品国产使用方法 | 日韩欧美一级二级三级久久久| 日韩va亚洲va欧美va久久| 777奇米四色成人影色区| 日本午夜一区二区| 日韩午夜激情电影| 亚洲精品水蜜桃| 欧美在线free| 一区二区三区精品在线观看| 在线观看www91| 手机精品视频在线观看| 日韩一级成人av| 韩国精品主播一区二区在线观看| 久久一区二区三区国产精品| 国产盗摄精品一区二区三区在线| 日本一区二区视频在线观看| www.久久精品| 亚洲国产一区二区三区青草影视 | 国产色产综合产在线视频| 国产91高潮流白浆在线麻豆| 中文字幕在线不卡视频| 欧美综合一区二区| 亚洲人成网站精品片在线观看| 欧美精品久久久久久久久老牛影院 | 久久亚洲精精品中文字幕早川悠里| 成人禁用看黄a在线| 亚洲精品视频一区| 欧美一区二区三区系列电影| 极品美女销魂一区二区三区| 国产精品萝li| 日韩一区二区不卡| 色先锋久久av资源部| 麻豆久久久久久| 国产日韩v精品一区二区| 99精品视频中文字幕| 亚洲h动漫在线| 欧美精品一区二区久久久| 成人18精品视频| 日韩在线一区二区| 久久精品日产第一区二区三区高清版| 国产一区不卡在线| 国产欧美精品日韩区二区麻豆天美| 色天使色偷偷av一区二区| 亚洲国产欧美在线| 久久影音资源网| 欧美在线看片a免费观看| 成人国产亚洲欧美成人综合网| 亚洲综合成人网| 国产三级精品视频| 亚洲国产精品久久不卡毛片| 精品少妇一区二区三区在线播放| 91小视频免费观看| 久久精品国产成人一区二区三区 | 丝袜美腿一区二区三区| 国产日本欧洲亚洲| 欧美老肥妇做.爰bbww视频| 国产一区二区女| 亚洲国产精品一区二区久久恐怖片| 久久久99久久| 一本色道久久加勒比精品| 成人涩涩免费视频| 久久精品国产色蜜蜜麻豆| 亚洲精品第一国产综合野| 久久久亚洲高清| 欧美日韩高清影院| 粉嫩高潮美女一区二区三区| 精品在线你懂的| 午夜视频久久久久久| 国产精品进线69影院| 亚洲精品在线观看网站| 欧美日韩中文一区| 成人动漫在线一区| 国产成a人无v码亚洲福利| 久久精工是国产品牌吗| 亚洲午夜国产一区99re久久| 国产精品初高中害羞小美女文| 精品日韩成人av| 欧美色图免费看|