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

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

?? ppc405_uc.c

?? QEMU 0.91 source code, supports ARM processor including S3C24xx series
?? C
?? 第 1 頁 / 共 5 頁
字號(hào):
        break;    case MAL0_RXCTP0R:        ret = mal->rxctpr[0];        break;    case MAL0_RXCTP1R:        ret = mal->rxctpr[1];        break;    case MAL0_RCBS0:        ret = mal->rcbs[0];        break;    case MAL0_RCBS1:        ret = mal->rcbs[1];        break;    default:        ret = 0;        break;    }    return ret;}static void dcr_write_mal (void *opaque, int dcrn, target_ulong val){    ppc40x_mal_t *mal;    int idx;    mal = opaque;    switch (dcrn) {    case MAL0_CFG:        if (val & 0x80000000)            ppc40x_mal_reset(mal);        mal->cfg = val & 0x00FFC087;        break;    case MAL0_ESR:        /* Read/clear */        mal->esr &= ~val;        break;    case MAL0_IER:        mal->ier = val & 0x0000001F;        break;    case MAL0_TXCASR:        mal->txcasr = val & 0xF0000000;        break;    case MAL0_TXCARR:        mal->txcarr = val & 0xF0000000;        break;    case MAL0_TXEOBISR:        /* Read/clear */        mal->txeobisr &= ~val;        break;    case MAL0_TXDEIR:        /* Read/clear */        mal->txdeir &= ~val;        break;    case MAL0_RXCASR:        mal->rxcasr = val & 0xC0000000;        break;    case MAL0_RXCARR:        mal->rxcarr = val & 0xC0000000;        break;    case MAL0_RXEOBISR:        /* Read/clear */        mal->rxeobisr &= ~val;        break;    case MAL0_RXDEIR:        /* Read/clear */        mal->rxdeir &= ~val;        break;    case MAL0_TXCTP0R:        idx = 0;        goto update_tx_ptr;    case MAL0_TXCTP1R:        idx = 1;        goto update_tx_ptr;    case MAL0_TXCTP2R:        idx = 2;        goto update_tx_ptr;    case MAL0_TXCTP3R:        idx = 3;    update_tx_ptr:        mal->txctpr[idx] = val;        break;    case MAL0_RXCTP0R:        idx = 0;        goto update_rx_ptr;    case MAL0_RXCTP1R:        idx = 1;    update_rx_ptr:        mal->rxctpr[idx] = val;        break;    case MAL0_RCBS0:        idx = 0;        goto update_rx_size;    case MAL0_RCBS1:        idx = 1;    update_rx_size:        mal->rcbs[idx] = val & 0x000000FF;        break;    }}static void ppc40x_mal_reset (void *opaque){    ppc40x_mal_t *mal;    mal = opaque;    mal->cfg = 0x0007C000;    mal->esr = 0x00000000;    mal->ier = 0x00000000;    mal->rxcasr = 0x00000000;    mal->rxdeir = 0x00000000;    mal->rxeobisr = 0x00000000;    mal->txcasr = 0x00000000;    mal->txdeir = 0x00000000;    mal->txeobisr = 0x00000000;}void ppc405_mal_init (CPUState *env, qemu_irq irqs[4]){    ppc40x_mal_t *mal;    int i;    mal = qemu_mallocz(sizeof(ppc40x_mal_t));    if (mal != NULL) {        for (i = 0; i < 4; i++)            mal->irqs[i] = irqs[i];        ppc40x_mal_reset(mal);        qemu_register_reset(&ppc40x_mal_reset, mal);        ppc_dcr_register(env, MAL0_CFG,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_ESR,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_IER,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_TXCASR,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_TXCARR,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_TXEOBISR,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_TXDEIR,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_RXCASR,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_RXCARR,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_RXEOBISR,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_RXDEIR,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_TXCTP0R,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_TXCTP1R,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_TXCTP2R,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_TXCTP3R,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_RXCTP0R,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_RXCTP1R,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_RCBS0,                         mal, &dcr_read_mal, &dcr_write_mal);        ppc_dcr_register(env, MAL0_RCBS1,                         mal, &dcr_read_mal, &dcr_write_mal);    }}/*****************************************************************************//* SPR */void ppc40x_core_reset (CPUState *env){    target_ulong dbsr;    printf("Reset PowerPC core\n");    env->interrupt_request |= CPU_INTERRUPT_EXITTB;    /* XXX: TOFIX */#if 0    cpu_ppc_reset(env);#else    qemu_system_reset_request();#endif    dbsr = env->spr[SPR_40x_DBSR];    dbsr &= ~0x00000300;    dbsr |= 0x00000100;    env->spr[SPR_40x_DBSR] = dbsr;}void ppc40x_chip_reset (CPUState *env){    target_ulong dbsr;    printf("Reset PowerPC chip\n");    env->interrupt_request |= CPU_INTERRUPT_EXITTB;    /* XXX: TOFIX */#if 0    cpu_ppc_reset(env);#else    qemu_system_reset_request();#endif    /* XXX: TODO reset all internal peripherals */    dbsr = env->spr[SPR_40x_DBSR];    dbsr &= ~0x00000300;    dbsr |= 0x00000200;    env->spr[SPR_40x_DBSR] = dbsr;}void ppc40x_system_reset (CPUState *env){    printf("Reset PowerPC system\n");    qemu_system_reset_request();}void store_40x_dbcr0 (CPUState *env, uint32_t val){    switch ((val >> 28) & 0x3) {    case 0x0:        /* No action */        break;    case 0x1:        /* Core reset */        ppc40x_core_reset(env);        break;    case 0x2:        /* Chip reset */        ppc40x_chip_reset(env);        break;    case 0x3:        /* System reset */        ppc40x_system_reset(env);        break;    }}/*****************************************************************************//* PowerPC 405CR */enum {    PPC405CR_CPC0_PLLMR  = 0x0B0,    PPC405CR_CPC0_CR0    = 0x0B1,    PPC405CR_CPC0_CR1    = 0x0B2,    PPC405CR_CPC0_PSR    = 0x0B4,    PPC405CR_CPC0_JTAGID = 0x0B5,    PPC405CR_CPC0_ER     = 0x0B9,    PPC405CR_CPC0_FR     = 0x0BA,    PPC405CR_CPC0_SR     = 0x0BB,};enum {    PPC405CR_CPU_CLK   = 0,    PPC405CR_TMR_CLK   = 1,    PPC405CR_PLB_CLK   = 2,    PPC405CR_SDRAM_CLK = 3,    PPC405CR_OPB_CLK   = 4,    PPC405CR_EXT_CLK   = 5,    PPC405CR_UART_CLK  = 6,    PPC405CR_CLK_NB    = 7,};typedef struct ppc405cr_cpc_t ppc405cr_cpc_t;struct ppc405cr_cpc_t {    clk_setup_t clk_setup[PPC405CR_CLK_NB];    uint32_t sysclk;    uint32_t psr;    uint32_t cr0;    uint32_t cr1;    uint32_t jtagid;    uint32_t pllmr;    uint32_t er;    uint32_t fr;};static void ppc405cr_clk_setup (ppc405cr_cpc_t *cpc){    uint64_t VCO_out, PLL_out;    uint32_t CPU_clk, TMR_clk, SDRAM_clk, PLB_clk, OPB_clk, EXT_clk, UART_clk;    int M, D0, D1, D2;    D0 = ((cpc->pllmr >> 26) & 0x3) + 1; /* CBDV */    if (cpc->pllmr & 0x80000000) {        D1 = (((cpc->pllmr >> 20) - 1) & 0xF) + 1; /* FBDV */        D2 = 8 - ((cpc->pllmr >> 16) & 0x7); /* FWDVA */        M = D0 * D1 * D2;        VCO_out = cpc->sysclk * M;        if (VCO_out < 400000000 || VCO_out > 800000000) {            /* PLL cannot lock */            cpc->pllmr &= ~0x80000000;            goto bypass_pll;        }        PLL_out = VCO_out / D2;    } else {        /* Bypass PLL */    bypass_pll:        M = D0;        PLL_out = cpc->sysclk * M;    }    CPU_clk = PLL_out;    if (cpc->cr1 & 0x00800000)        TMR_clk = cpc->sysclk; /* Should have a separate clock */    else        TMR_clk = CPU_clk;    PLB_clk = CPU_clk / D0;    SDRAM_clk = PLB_clk;    D0 = ((cpc->pllmr >> 10) & 0x3) + 1;    OPB_clk = PLB_clk / D0;    D0 = ((cpc->pllmr >> 24) & 0x3) + 2;    EXT_clk = PLB_clk / D0;    D0 = ((cpc->cr0 >> 1) & 0x1F) + 1;    UART_clk = CPU_clk / D0;    /* Setup CPU clocks */    clk_setup(&cpc->clk_setup[PPC405CR_CPU_CLK], CPU_clk);    /* Setup time-base clock */    clk_setup(&cpc->clk_setup[PPC405CR_TMR_CLK], TMR_clk);    /* Setup PLB clock */    clk_setup(&cpc->clk_setup[PPC405CR_PLB_CLK], PLB_clk);    /* Setup SDRAM clock */    clk_setup(&cpc->clk_setup[PPC405CR_SDRAM_CLK], SDRAM_clk);    /* Setup OPB clock */    clk_setup(&cpc->clk_setup[PPC405CR_OPB_CLK], OPB_clk);    /* Setup external clock */    clk_setup(&cpc->clk_setup[PPC405CR_EXT_CLK], EXT_clk);    /* Setup UART clock */    clk_setup(&cpc->clk_setup[PPC405CR_UART_CLK], UART_clk);}static target_ulong dcr_read_crcpc (void *opaque, int dcrn){    ppc405cr_cpc_t *cpc;    target_ulong ret;    cpc = opaque;    switch (dcrn) {    case PPC405CR_CPC0_PLLMR:        ret = cpc->pllmr;        break;    case PPC405CR_CPC0_CR0:        ret = cpc->cr0;        break;    case PPC405CR_CPC0_CR1:        ret = cpc->cr1;        break;    case PPC405CR_CPC0_PSR:        ret = cpc->psr;        break;    case PPC405CR_CPC0_JTAGID:        ret = cpc->jtagid;        break;    case PPC405CR_CPC0_ER:        ret = cpc->er;        break;    case PPC405CR_CPC0_FR:        ret = cpc->fr;        break;    case PPC405CR_CPC0_SR:        ret = ~(cpc->er | cpc->fr) & 0xFFFF0000;        break;    default:        /* Avoid gcc warning */        ret = 0;        break;    }    return ret;}static void dcr_write_crcpc (void *opaque, int dcrn, target_ulong val){    ppc405cr_cpc_t *cpc;    cpc = opaque;    switch (dcrn) {    case PPC405CR_CPC0_PLLMR:        cpc->pllmr = val & 0xFFF77C3F;        break;    case PPC405CR_CPC0_CR0:        cpc->cr0 = val & 0x0FFFFFFE;        break;    case PPC405CR_CPC0_CR1:        cpc->cr1 = val & 0x00800000;        break;    case PPC405CR_CPC0_PSR:        /* Read-only */        break;    case PPC405CR_CPC0_JTAGID:        /* Read-only */        break;    case PPC405CR_CPC0_ER:        cpc->er = val & 0xBFFC0000;        break;    case PPC405CR_CPC0_FR:        cpc->fr = val & 0xBFFC0000;        break;    case PPC405CR_CPC0_SR:        /* Read-only */        break;    }}static void ppc405cr_cpc_reset (void *opaque){    ppc405cr_cpc_t *cpc;    int D;    cpc = opaque;    /* Compute PLLMR value from PSR settings */    cpc->pllmr = 0x80000000;    /* PFWD */    switch ((cpc->psr >> 30) & 3) {    case 0:        /* Bypass */        cpc->pllmr &= ~0x80000000;        break;    case 1:        /* Divide by 3 */        cpc->pllmr |= 5 << 16;        break;    case 2:        /* Divide by 4 */        cpc->pllmr |= 4 << 16;        break;    case 3:        /* Divide by 6 */        cpc->pllmr |= 2 << 16;        break;    }    /* PFBD */    D = (cpc->psr >> 28) & 3;    cpc->pllmr |= (D + 1) << 20;    /* PT   */    D = (cpc->psr >> 25) & 7;    switch (D) {    case 0x2:        cpc->pllmr |= 0x13;        break;    case 0x4:        cpc->pllmr |= 0x15;        break;    case 0x5:        cpc->pllmr |= 0x16;        break;    default:        break;    }    /* PDC  */    D = (cpc->psr >> 23) & 3;    cpc->pllmr |= D << 26;    /* ODP  */    D = (cpc->psr >> 21) & 3;    cpc->pllmr |= D << 10;    /* EBPD */    D = (cpc->psr >> 17) & 3;    cpc->pllmr |= D << 24;    cpc->cr0 = 0x0000003C;    cpc->cr1 = 0x2B0D8800;    cpc->er = 0x00000000;    cpc->fr = 0x00000000;    ppc405cr_clk_setup(cpc);}static void ppc405cr_clk_init (ppc405cr_cpc_t *cpc){    int D;    /* XXX: this should be read from IO pins */    cpc->psr = 0x00000000; /* 8 bits ROM */    /* PFWD */    D = 0x2; /* Divide by 4 */    cpc->psr |= D << 30;    /* PFBD */    D = 0x1; /* Divide by 2 */    cpc->psr |= D << 28;    /* PDC */    D = 0x1; /* Divide by 2 */    cpc->psr |= D << 23;    /* PT */    D = 0x5; /* M = 16 */    cpc->psr |= D << 25;    /* ODP */    D = 0x1; /* Divide by 2 */    cpc->psr |= D << 21;    /* EBDP */    D = 0x2; /* Divide by 4 */    cpc->psr |= D << 17;}static void ppc405cr_cpc_init (CPUState *env, clk_setup_t clk_setup[7],                               uint32_t sysclk){    ppc405cr_cpc_t *cpc;    cpc = qemu_mallocz(sizeof(ppc405cr_cpc_t));    if (cpc != NULL) {        memcpy(cpc->clk_setup, clk_setup,               PPC405CR_CLK_NB * sizeof(clk_setup_t));        cpc->sysclk = sysclk;        cpc->jtagid = 0x42051049;        ppc_dcr_register(env, PPC405CR_CPC0_PSR, cpc,                         &dcr_read_crcpc, &dcr_write_crcpc);        ppc_dcr_register(env, PPC405CR_CPC0_CR0, cpc,                         &dcr_read_crcpc, &dcr_write_crcpc);        ppc_dcr_register(env, PPC405CR_CPC0_CR1, cpc,                         &dcr_read_crcpc, &dcr_write_crcpc);        ppc_dcr_register(env, PPC405CR_CPC0_JTAGID, cpc,                         &dcr_read_crcpc, &dcr_write_crcpc);        ppc_dcr_register(env, PPC405CR_CPC0_PLLMR, cpc,                   

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲婷婷在线视频| 日产国产高清一区二区三区| 国产精品视频yy9299一区| 中文字幕视频一区| 国产成人在线视频播放| 色偷偷88欧美精品久久久| 欧美成人在线直播| 一区二区国产视频| 成人午夜av电影| 日韩一级黄色片| 亚洲一区二区三区在线| 粉嫩av一区二区三区在线播放| 欧美手机在线视频| 国产欧美日韩综合精品一区二区| 一区二区三区成人| av不卡在线播放| 久久久午夜精品理论片中文字幕| 日本午夜精品视频在线观看| 在线中文字幕一区二区| 亚洲人成网站影音先锋播放| 国产激情一区二区三区| 精品国产麻豆免费人成网站| 亚洲一区二区精品久久av| 99精品视频在线观看免费| 国产欧美一区二区三区鸳鸯浴| 麻豆精品在线看| 欧美一区二区三区成人| 视频精品一区二区| 欧美老肥妇做.爰bbww| 一级中文字幕一区二区| 91国产成人在线| 亚洲一区二区视频在线观看| 在线免费观看日韩欧美| 亚洲一区二区三区四区在线免费观看| 成人精品小蝌蚪| 亚洲桃色在线一区| 一本久久a久久精品亚洲| 亚洲美女少妇撒尿| 欧洲av在线精品| 日韩精品每日更新| 欧美变态tickle挠乳网站| 美女视频免费一区| 久久久九九九九| 国产福利一区二区| 成人免费视频在线观看| 色婷婷综合久久久中文一区二区 | 日韩久久一区二区| 色伊人久久综合中文字幕| 亚洲乱码日产精品bd| 欧美日韩在线三区| 蜜臀av亚洲一区中文字幕| 精品国产亚洲在线| 成人精品一区二区三区四区| 亚洲人精品一区| 91精品国产综合久久精品| 国产乱码精品一区二区三区五月婷| 久久精品夜色噜噜亚洲aⅴ| av在线免费不卡| 亚洲一区二区三区激情| 精品入口麻豆88视频| 成人av资源在线观看| 亚洲国产毛片aaaaa无费看| 精品久久五月天| 99久久er热在这里只有精品15 | 高清不卡一区二区| 亚洲精品伦理在线| 日韩欧美亚洲国产另类| 成人动漫一区二区| 三级在线观看一区二区| 国产精品久久影院| 日韩欧美自拍偷拍| 99久久精品国产一区二区三区| 日韩精品一级二级| 国产精品免费免费| 日韩精品中午字幕| 日本道免费精品一区二区三区| 秋霞影院一区二区| 亚洲三级电影网站| 久久一区二区视频| 欧美视频一区在线观看| 成人小视频在线| 免费成人av资源网| 亚洲成人资源网| 中文av一区二区| 欧美v日韩v国产v| 欧美在线三级电影| www.视频一区| 国产在线看一区| 免费成人美女在线观看| 亚洲午夜久久久久中文字幕久| 中文字幕不卡在线观看| 精品日韩成人av| 欧美一区二区黄| 欧美视频你懂的| 在线观看不卡一区| 色综合婷婷久久| av一区二区三区黑人| 国产一区日韩二区欧美三区| 日韩1区2区日韩1区2区| 亚洲一区二区三区爽爽爽爽爽| 国产精品国产a| 欧美国产日韩一二三区| 国产亲近乱来精品视频| 欧美一卡2卡三卡4卡5免费| 在线看日本不卡| 色8久久人人97超碰香蕉987| 99热这里都是精品| 粗大黑人巨茎大战欧美成人| 国产精品一二二区| 国产精品一区在线观看乱码 | 在线免费观看日本欧美| 色偷偷88欧美精品久久久| 91麻豆免费观看| 色呦呦网站一区| 91老司机福利 在线| 色噜噜偷拍精品综合在线| 一本久道中文字幕精品亚洲嫩| 91在线视频网址| 色欧美日韩亚洲| 欧美色视频一区| 91.com视频| 日韩美女主播在线视频一区二区三区| 91麻豆精品久久久久蜜臀| 日韩欧美国产wwwww| 精品国产乱码久久久久久闺蜜| 欧美精品一区二区三区一线天视频 | 精品伦理精品一区| 精品国产伦一区二区三区免费| 久久久久国产精品免费免费搜索| 久久五月婷婷丁香社区| 中文一区一区三区高中清不卡| 国产精品成人一区二区三区夜夜夜| 亚洲三级电影网站| 天天色 色综合| 精品无人码麻豆乱码1区2区 | 91精选在线观看| 精品国产一区二区三区久久影院| 久久人人97超碰com| 国产精品久99| 日日夜夜一区二区| 国产精品99久久不卡二区| 成人av网址在线观看| 欧美性色aⅴ视频一区日韩精品| 91精品免费在线观看| 久久久久久久精| 一区二区三区四区蜜桃| 看国产成人h片视频| 成人黄色网址在线观看| 欧美日韩免费视频| 久久影院午夜论| 夜夜精品浪潮av一区二区三区| 美国欧美日韩国产在线播放| 成人动漫精品一区二区| 91精品国产欧美一区二区成人| 欧美国产日韩在线观看| 五月婷婷另类国产| 成人av资源网站| 精品理论电影在线观看| 一区二区日韩av| 国产盗摄一区二区三区| 欧美日本一区二区| 中日韩免费视频中文字幕| 免费人成精品欧美精品| 91丨九色丨国产丨porny| 精品盗摄一区二区三区| 亚洲一区二区三区四区中文字幕| 国产一区二区三区黄视频| 欧美日韩免费在线视频| 亚洲色图19p| 国产成人午夜99999| 日韩欧美一区二区在线视频| 亚洲乱码精品一二三四区日韩在线| 国产在线不卡一区| 欧美肥妇bbw| 亚洲一区二区三区不卡国产欧美| 国产成+人+日韩+欧美+亚洲| 6080国产精品一区二区| 一区二区三区四区五区视频在线观看| 国产v日产∨综合v精品视频| 日韩欧美自拍偷拍| 日韩电影在线看| 欧美日韩中文字幕一区二区| 亚洲三级在线播放| 成人av网址在线观看| 欧美激情一区二区三区四区| 精品在线观看视频| 日韩精品在线网站| 日韩成人免费电影| 欧美主播一区二区三区| 亚洲码国产岛国毛片在线| 成人97人人超碰人人99| 久久久久国产精品人| 国产中文字幕精品| 日韩欧美亚洲国产另类| 免费精品视频在线| 日韩午夜激情视频| 久久99精品一区二区三区 | 欧美日韩国产精品成人| 亚洲6080在线| 欧美日产国产精品|