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

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

?? ppc405_uc.c

?? QEMU 0.91 source code, supports ARM processor including S3C24xx series
?? C
?? 第 1 頁 / 共 5 頁
字號:
               __func__, sdram_base(bcr), sdram_size(bcr));#endif        cpu_register_physical_memory(sdram_base(bcr), sdram_size(bcr),                                     sdram_base(bcr) | IO_MEM_RAM);    }}static void sdram_map_bcr (ppc4xx_sdram_t *sdram){    int i;    for (i = 0; i < sdram->nbanks; i++) {        if (sdram->ram_sizes[i] != 0) {            sdram_set_bcr(&sdram->bcr[i],                          sdram_bcr(sdram->ram_bases[i], sdram->ram_sizes[i]),                          1);        } else {            sdram_set_bcr(&sdram->bcr[i], 0x00000000, 0);        }    }}static void sdram_unmap_bcr (ppc4xx_sdram_t *sdram){    int i;    for (i = 0; i < sdram->nbanks; i++) {#ifdef DEBUG_SDRAM        printf("%s: Unmap RAM area " PADDRX " " ADDRX "\n",               __func__, sdram_base(sdram->bcr[i]), sdram_size(sdram->bcr[i]));#endif        cpu_register_physical_memory(sdram_base(sdram->bcr[i]),                                     sdram_size(sdram->bcr[i]),                                     IO_MEM_UNASSIGNED);    }}static target_ulong dcr_read_sdram (void *opaque, int dcrn){    ppc4xx_sdram_t *sdram;    target_ulong ret;    sdram = opaque;    switch (dcrn) {    case SDRAM0_CFGADDR:        ret = sdram->addr;        break;    case SDRAM0_CFGDATA:        switch (sdram->addr) {        case 0x00: /* SDRAM_BESR0 */            ret = sdram->besr0;            break;        case 0x08: /* SDRAM_BESR1 */            ret = sdram->besr1;            break;        case 0x10: /* SDRAM_BEAR */            ret = sdram->bear;            break;        case 0x20: /* SDRAM_CFG */            ret = sdram->cfg;            break;        case 0x24: /* SDRAM_STATUS */            ret = sdram->status;            break;        case 0x30: /* SDRAM_RTR */            ret = sdram->rtr;            break;        case 0x34: /* SDRAM_PMIT */            ret = sdram->pmit;            break;        case 0x40: /* SDRAM_B0CR */            ret = sdram->bcr[0];            break;        case 0x44: /* SDRAM_B1CR */            ret = sdram->bcr[1];            break;        case 0x48: /* SDRAM_B2CR */            ret = sdram->bcr[2];            break;        case 0x4C: /* SDRAM_B3CR */            ret = sdram->bcr[3];            break;        case 0x80: /* SDRAM_TR */            ret = -1; /* ? */            break;        case 0x94: /* SDRAM_ECCCFG */            ret = sdram->ecccfg;            break;        case 0x98: /* SDRAM_ECCESR */            ret = sdram->eccesr;            break;        default: /* Error */            ret = -1;            break;        }        break;    default:        /* Avoid gcc warning */        ret = 0x00000000;        break;    }    return ret;}static void dcr_write_sdram (void *opaque, int dcrn, target_ulong val){    ppc4xx_sdram_t *sdram;    sdram = opaque;    switch (dcrn) {    case SDRAM0_CFGADDR:        sdram->addr = val;        break;    case SDRAM0_CFGDATA:        switch (sdram->addr) {        case 0x00: /* SDRAM_BESR0 */            sdram->besr0 &= ~val;            break;        case 0x08: /* SDRAM_BESR1 */            sdram->besr1 &= ~val;            break;        case 0x10: /* SDRAM_BEAR */            sdram->bear = val;            break;        case 0x20: /* SDRAM_CFG */            val &= 0xFFE00000;            if (!(sdram->cfg & 0x80000000) && (val & 0x80000000)) {#ifdef DEBUG_SDRAM                printf("%s: enable SDRAM controller\n", __func__);#endif                /* validate all RAM mappings */                sdram_map_bcr(sdram);                sdram->status &= ~0x80000000;            } else if ((sdram->cfg & 0x80000000) && !(val & 0x80000000)) {#ifdef DEBUG_SDRAM                printf("%s: disable SDRAM controller\n", __func__);#endif                /* invalidate all RAM mappings */                sdram_unmap_bcr(sdram);                sdram->status |= 0x80000000;            }            if (!(sdram->cfg & 0x40000000) && (val & 0x40000000))                sdram->status |= 0x40000000;            else if ((sdram->cfg & 0x40000000) && !(val & 0x40000000))                sdram->status &= ~0x40000000;            sdram->cfg = val;            break;        case 0x24: /* SDRAM_STATUS */            /* Read-only register */            break;        case 0x30: /* SDRAM_RTR */            sdram->rtr = val & 0x3FF80000;            break;        case 0x34: /* SDRAM_PMIT */            sdram->pmit = (val & 0xF8000000) | 0x07C00000;            break;        case 0x40: /* SDRAM_B0CR */            sdram_set_bcr(&sdram->bcr[0], val, sdram->cfg & 0x80000000);            break;        case 0x44: /* SDRAM_B1CR */            sdram_set_bcr(&sdram->bcr[1], val, sdram->cfg & 0x80000000);            break;        case 0x48: /* SDRAM_B2CR */            sdram_set_bcr(&sdram->bcr[2], val, sdram->cfg & 0x80000000);            break;        case 0x4C: /* SDRAM_B3CR */            sdram_set_bcr(&sdram->bcr[3], val, sdram->cfg & 0x80000000);            break;        case 0x80: /* SDRAM_TR */            sdram->tr = val & 0x018FC01F;            break;        case 0x94: /* SDRAM_ECCCFG */            sdram->ecccfg = val & 0x00F00000;            break;        case 0x98: /* SDRAM_ECCESR */            val &= 0xFFF0F000;            if (sdram->eccesr == 0 && val != 0)                qemu_irq_raise(sdram->irq);            else if (sdram->eccesr != 0 && val == 0)                qemu_irq_lower(sdram->irq);            sdram->eccesr = val;            break;        default: /* Error */            break;        }        break;    }}static void sdram_reset (void *opaque){    ppc4xx_sdram_t *sdram;    sdram = opaque;    sdram->addr = 0x00000000;    sdram->bear = 0x00000000;    sdram->besr0 = 0x00000000; /* No error */    sdram->besr1 = 0x00000000; /* No error */    sdram->cfg = 0x00000000;    sdram->ecccfg = 0x00000000; /* No ECC */    sdram->eccesr = 0x00000000; /* No error */    sdram->pmit = 0x07C00000;    sdram->rtr = 0x05F00000;    sdram->tr = 0x00854009;    /* We pre-initialize RAM banks */    sdram->status = 0x00000000;    sdram->cfg = 0x00800000;    sdram_unmap_bcr(sdram);}void ppc405_sdram_init (CPUState *env, qemu_irq irq, int nbanks,                        target_phys_addr_t *ram_bases,                        target_phys_addr_t *ram_sizes,                        int do_init){    ppc4xx_sdram_t *sdram;    sdram = qemu_mallocz(sizeof(ppc4xx_sdram_t));    if (sdram != NULL) {        sdram->irq = irq;        sdram->nbanks = nbanks;        memset(sdram->ram_bases, 0, 4 * sizeof(target_phys_addr_t));        memcpy(sdram->ram_bases, ram_bases,               nbanks * sizeof(target_phys_addr_t));        memset(sdram->ram_sizes, 0, 4 * sizeof(target_phys_addr_t));        memcpy(sdram->ram_sizes, ram_sizes,               nbanks * sizeof(target_phys_addr_t));        sdram_reset(sdram);        qemu_register_reset(&sdram_reset, sdram);        ppc_dcr_register(env, SDRAM0_CFGADDR,                         sdram, &dcr_read_sdram, &dcr_write_sdram);        ppc_dcr_register(env, SDRAM0_CFGDATA,                         sdram, &dcr_read_sdram, &dcr_write_sdram);        if (do_init)            sdram_map_bcr(sdram);    }}/*****************************************************************************//* Peripheral controller */typedef struct ppc4xx_ebc_t ppc4xx_ebc_t;struct ppc4xx_ebc_t {    uint32_t addr;    uint32_t bcr[8];    uint32_t bap[8];    uint32_t bear;    uint32_t besr0;    uint32_t besr1;    uint32_t cfg;};enum {    EBC0_CFGADDR = 0x012,    EBC0_CFGDATA = 0x013,};static target_ulong dcr_read_ebc (void *opaque, int dcrn){    ppc4xx_ebc_t *ebc;    target_ulong ret;    ebc = opaque;    switch (dcrn) {    case EBC0_CFGADDR:        ret = ebc->addr;        break;    case EBC0_CFGDATA:        switch (ebc->addr) {        case 0x00: /* B0CR */            ret = ebc->bcr[0];            break;        case 0x01: /* B1CR */            ret = ebc->bcr[1];            break;        case 0x02: /* B2CR */            ret = ebc->bcr[2];            break;        case 0x03: /* B3CR */            ret = ebc->bcr[3];            break;        case 0x04: /* B4CR */            ret = ebc->bcr[4];            break;        case 0x05: /* B5CR */            ret = ebc->bcr[5];            break;        case 0x06: /* B6CR */            ret = ebc->bcr[6];            break;        case 0x07: /* B7CR */            ret = ebc->bcr[7];            break;        case 0x10: /* B0AP */            ret = ebc->bap[0];            break;        case 0x11: /* B1AP */            ret = ebc->bap[1];            break;        case 0x12: /* B2AP */            ret = ebc->bap[2];            break;        case 0x13: /* B3AP */            ret = ebc->bap[3];            break;        case 0x14: /* B4AP */            ret = ebc->bap[4];            break;        case 0x15: /* B5AP */            ret = ebc->bap[5];            break;        case 0x16: /* B6AP */            ret = ebc->bap[6];            break;        case 0x17: /* B7AP */            ret = ebc->bap[7];            break;        case 0x20: /* BEAR */            ret = ebc->bear;            break;        case 0x21: /* BESR0 */            ret = ebc->besr0;            break;        case 0x22: /* BESR1 */            ret = ebc->besr1;            break;        case 0x23: /* CFG */            ret = ebc->cfg;            break;        default:            ret = 0x00000000;            break;        }    default:        ret = 0x00000000;        break;    }    return ret;}static void dcr_write_ebc (void *opaque, int dcrn, target_ulong val){    ppc4xx_ebc_t *ebc;    ebc = opaque;    switch (dcrn) {    case EBC0_CFGADDR:        ebc->addr = val;        break;    case EBC0_CFGDATA:        switch (ebc->addr) {        case 0x00: /* B0CR */            break;        case 0x01: /* B1CR */            break;        case 0x02: /* B2CR */            break;        case 0x03: /* B3CR */            break;        case 0x04: /* B4CR */            break;        case 0x05: /* B5CR */            break;        case 0x06: /* B6CR */            break;        case 0x07: /* B7CR */            break;        case 0x10: /* B0AP */            break;        case 0x11: /* B1AP */            break;        case 0x12: /* B2AP */            break;        case 0x13: /* B3AP */            break;        case 0x14: /* B4AP */            break;        case 0x15: /* B5AP */            break;        case 0x16: /* B6AP */            break;        case 0x17: /* B7AP */            break;        case 0x20: /* BEAR */            break;        case 0x21: /* BESR0 */            break;        case 0x22: /* BESR1 */            break;        case 0x23: /* CFG */            break;        default:            break;        }        break;    default:        break;    }}static void ebc_reset (void *opaque){    ppc4xx_ebc_t *ebc;    int i;    ebc = opaque;    ebc->addr = 0x00000000;    ebc->bap[0] = 0x7F8FFE80;    ebc->bcr[0] = 0xFFE28000;    for (i = 0; i < 8; i++) {        ebc->bap[i] = 0x00000000;        ebc->bcr[i] = 0x00000000;    }    ebc->besr0 = 0x00000000;    ebc->besr1 = 0x00000000;    ebc->cfg = 0x80400000;}void ppc405_ebc_init (CPUState *env){    ppc4xx_ebc_t *ebc;    ebc = qemu_mallocz(sizeof(ppc4xx_ebc_t));    if (ebc != NULL) {        ebc_reset(ebc);        qemu_register_reset(&ebc_reset, ebc);        ppc_dcr_register(env, EBC0_CFGADDR,                         ebc, &dcr_read_ebc, &dcr_write_ebc);        ppc_dcr_register(env, EBC0_CFGDATA,                         ebc, &dcr_read_ebc, &dcr_write_ebc);    }}/*****************************************************************************//* DMA controller */enum {    DMA0_CR0 = 0x100,    DMA0_CT0 = 0x101,    DMA0_DA0 = 0x102,    DMA0_SA0 = 0x103,    DMA0_SG0 = 0x104,    DMA0_CR1 = 0x108,    DMA0_CT1 = 0x109,    DMA0_DA1 = 0x10A,    DMA0_SA1 = 0x10B,    DMA0_SG1 = 0x10C,    DMA0_CR2 = 0x110,    DMA0_CT2 = 0x111,    DMA0_DA2 = 0x112,    DMA0_SA2 = 0x113,    DMA0_SG2 = 0x114,    DMA0_CR3 = 0x118,    DMA0_CT3 = 0x119,    DMA0_DA3 = 0x11A,    DMA0_SA3 = 0x11B,    DMA0_SG3 = 0x11C,    DMA0_SR  = 0x120,    DMA0_SGC = 0x123,    DMA0_SLP = 0x125,    DMA0_POL = 0x126,};typedef struct ppc405_dma_t ppc405_dma_t;struct ppc405_dma_t {    qemu_irq irqs[4];    uint32_t cr[4];    uint32_t ct[4];    uint32_t da[4];    uint32_t sa[4];    uint32_t sg[4];    uint32_t sr;    uint32_t sgc;    uint32_t slp;    uint32_t pol;};static target_ulong dcr_read_dma (void *opaque, int dcrn){    ppc405_dma_t *dma;    dma = opaque;    return 0;}static void dcr_write_dma (void *opaque, int dcrn, target_ulong val){    ppc405_dma_t *dma;    dma = opaque;}static void ppc405_dma_reset (void *opaque){    ppc405_dma_t *dma;    int i;    dma = opaque;    for (i = 0; i < 4; i++) {        dma->cr[i] = 0x00000000;        dma->ct[i] = 0x00000000;        dma->da[i] = 0x00000000;        dma->sa[i] = 0x00000000;        dma->sg[i] = 0x00000000;    }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久亚洲综合| 亚洲mv在线观看| 久久综合色播五月| 日韩精品一区二区三区视频播放| 在线91免费看| 5858s免费视频成人| 欧美日韩二区三区| 欧美另类videos死尸| 欧美群妇大交群中文字幕| 欧美女孩性生活视频| 91精品欧美久久久久久动漫 | 国产一区二区精品久久99| 久久成人免费电影| 久久精品国内一区二区三区| 精品一区二区国语对白| 国产成人免费视频一区| 成人av在线影院| 色欧美乱欧美15图片| 91在线看国产| 欧美日韩国产首页| 日韩欧美激情四射| 欧美国产日韩亚洲一区| 亚洲色图视频网| 国产在线视频一区二区三区| 国产黄色91视频| 99vv1com这只有精品| 欧美精品丝袜中出| 欧美精品一区二| 亚洲视频在线一区二区| 亚洲影院理伦片| 麻豆国产91在线播放| 国产宾馆实践打屁股91| 欧美专区在线观看一区| 日韩一区二区影院| 国产婷婷一区二区| 伊人夜夜躁av伊人久久| 麻豆精品在线播放| 不卡大黄网站免费看| 91福利国产精品| 欧美三级中文字幕在线观看| 日韩欧美亚洲一区二区| 中文字幕五月欧美| 五月开心婷婷久久| 国产91丝袜在线观看| 91久久线看在观草草青青| 欧美日韩一卡二卡三卡 | 奇米一区二区三区| 韩国欧美国产1区| 欧美在线观看视频一区二区三区| 91精品在线一区二区| 国产精品三级久久久久三级| 午夜精品成人在线视频| www.爱久久.com| 欧美乱熟臀69xxxxxx| 国产精品视频线看| 蜜臀va亚洲va欧美va天堂| www.成人网.com| 26uuu色噜噜精品一区二区| 中文字幕在线不卡| 日韩在线观看一区二区| av不卡一区二区三区| 精品美女在线播放| 亚洲国产欧美在线人成| 国产在线观看一区二区| 欧美视频在线不卡| 综合在线观看色| 国产乱码精品一区二区三区五月婷| 欧洲一区二区av| 日本一区二区视频在线| 香港成人在线视频| 一本色道综合亚洲| 日本一区二区视频在线观看| 日韩国产精品久久久| 色噜噜狠狠一区二区三区果冻| 欧美精品一区二区不卡| 日本美女视频一区二区| 91成人网在线| 国产精品蜜臀在线观看| 国模冰冰炮一区二区| 欧美一级搡bbbb搡bbbb| 亚洲韩国一区二区三区| 91麻豆蜜桃一区二区三区| 国产精品欧美一级免费| 国产精品1024久久| 日韩免费观看2025年上映的电影| 亚洲国产精品久久艾草纯爱| 99r精品视频| 国产精品动漫网站| 国产99久久久国产精品| 久久在线免费观看| 狠狠色狠狠色合久久伊人| 欧美一区二区不卡视频| 日日夜夜一区二区| 欧美片在线播放| 婷婷成人激情在线网| 欧美三级午夜理伦三级中视频| 亚洲免费av高清| 色综合色综合色综合色综合色综合| 国产精品网站在线观看| 成人国产一区二区三区精品| 久久久久高清精品| 国产a视频精品免费观看| 久久精品日产第一区二区三区高清版| 丝瓜av网站精品一区二区| 欧美三级在线看| 视频一区二区三区在线| 欧美精品欧美精品系列| 男人的j进女人的j一区| 日韩午夜激情视频| 免费在线看成人av| 精品国产免费久久| 风流少妇一区二区| 中文字幕国产一区| 91日韩精品一区| 视频在线观看国产精品| 91麻豆精品国产自产在线| 免费观看久久久4p| 26uuu色噜噜精品一区| 岛国精品一区二区| 亚洲天天做日日做天天谢日日欢| 91麻豆产精品久久久久久 | 国产在线播放一区三区四| 精品国产精品网麻豆系列| 国产二区国产一区在线观看| 久久久久9999亚洲精品| 波多野结衣亚洲| 亚洲一区二区三区在线看| 91精品国产一区二区三区| 国产一区在线精品| 亚洲少妇中出一区| 4438成人网| 国产成人av在线影院| 亚洲综合无码一区二区| 91.xcao| 国产美女视频91| 亚洲日本丝袜连裤袜办公室| 欧美久久免费观看| 极品瑜伽女神91| 亚洲素人一区二区| 91麻豆精品国产| 福利一区二区在线观看| 亚洲综合激情小说| wwwwxxxxx欧美| 91麻豆文化传媒在线观看| 强制捆绑调教一区二区| 国产精品久久久久久久久免费桃花 | 欧美一区二区三区成人| 国产98色在线|日韩| 亚洲国产日韩a在线播放性色| 久久看人人爽人人| 国产拍揄自揄精品视频麻豆| 国产精品久久久久国产精品日日| 国产高清亚洲一区| 亚洲一区视频在线观看视频| 欧美v亚洲v综合ⅴ国产v| eeuss影院一区二区三区| 天天色综合天天| 国产精品人成在线观看免费| 欧美日韩成人综合天天影院| 国产成人av网站| 天天综合色天天| 亚洲欧洲日产国产综合网| 欧美一区二区精品久久911| 91视频.com| 粉嫩久久99精品久久久久久夜| 日韩高清在线电影| 亚洲欧洲日产国码二区| 337p粉嫩大胆色噜噜噜噜亚洲| 在线观看91视频| 成人av集中营| 国内精品伊人久久久久影院对白| 亚洲精品va在线观看| 国产欧美va欧美不卡在线| 日韩精品一区二区三区蜜臀| 精品视频1区2区| 91亚洲精品乱码久久久久久蜜桃 | 欧美喷潮久久久xxxxx| 波波电影院一区二区三区| 激情偷乱视频一区二区三区| 亚洲成a天堂v人片| 亚洲裸体xxx| 中文欧美字幕免费| 久久在线免费观看| 日韩精品一区在线观看| 91精品国产综合久久香蕉的特点| 成人国产精品免费观看动漫| 久久丁香综合五月国产三级网站| 亚洲电影激情视频网站| 亚洲欧美激情视频在线观看一区二区三区 | 91成人在线免费观看| 国产精品久久久久影院老司| 国产风韵犹存在线视精品| 日韩午夜在线影院| 久久精品免费观看| 久久精品人人做人人综合| 欧美精品 日韩| 日韩午夜精品电影| 久久精品综合网| 亚洲毛片av在线| 美女视频黄频大全不卡视频在线播放|