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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ppc_prep.c

?? QEMU 0.91 source code, supports ARM processor including S3C24xx series
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/* * QEMU PPC PREP hardware System Emulator * * Copyright (c) 2003-2007 Jocelyn Mayer * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */#include "hw.h"#include "nvram.h"#include "pc.h"#include "fdc.h"#include "net.h"#include "sysemu.h"#include "isa.h"#include "pci.h"#include "ppc.h"#include "boards.h"//#define HARD_DEBUG_PPC_IO//#define DEBUG_PPC_IO/* SMP is not enabled, for now */#define MAX_CPUS 1#define MAX_IDE_BUS 2#define BIOS_FILENAME "ppc_rom.bin"#define KERNEL_LOAD_ADDR 0x01000000#define INITRD_LOAD_ADDR 0x01800000extern int loglevel;extern FILE *logfile;#if defined (HARD_DEBUG_PPC_IO) && !defined (DEBUG_PPC_IO)#define DEBUG_PPC_IO#endif#if defined (HARD_DEBUG_PPC_IO)#define PPC_IO_DPRINTF(fmt, args...)                     \do {                                                     \    if (loglevel & CPU_LOG_IOPORT) {                     \        fprintf(logfile, "%s: " fmt, __func__ , ##args); \    } else {                                             \        printf("%s : " fmt, __func__ , ##args);          \    }                                                    \} while (0)#elif defined (DEBUG_PPC_IO)#define PPC_IO_DPRINTF(fmt, args...)                     \do {                                                     \    if (loglevel & CPU_LOG_IOPORT) {                     \        fprintf(logfile, "%s: " fmt, __func__ , ##args); \    }                                                    \} while (0)#else#define PPC_IO_DPRINTF(fmt, args...) do { } while (0)#endif/* Constants for devices init */static const int ide_iobase[2] = { 0x1f0, 0x170 };static const int ide_iobase2[2] = { 0x3f6, 0x376 };static const int ide_irq[2] = { 13, 13 };#define NE2000_NB_MAX 6static uint32_t ne2000_io[NE2000_NB_MAX] = { 0x300, 0x320, 0x340, 0x360, 0x280, 0x380 };static int ne2000_irq[NE2000_NB_MAX] = { 9, 10, 11, 3, 4, 5 };//static PITState *pit;/* ISA IO ports bridge */#define PPC_IO_BASE 0x80000000/* Speaker port 0x61 */int speaker_data_on;int dummy_refresh_clock;static void speaker_ioport_write (void *opaque, uint32_t addr, uint32_t val){#if 0    speaker_data_on = (val >> 1) & 1;    pit_set_gate(pit, 2, val & 1);#endif}static uint32_t speaker_ioport_read (void *opaque, uint32_t addr){#if 0    int out;    out = pit_get_out(pit, 2, qemu_get_clock(vm_clock));    dummy_refresh_clock ^= 1;    return (speaker_data_on << 1) | pit_get_gate(pit, 2) | (out << 5) |        (dummy_refresh_clock << 4);#endif    return 0;}/* PCI intack register *//* Read-only register (?) */static void _PPC_intack_write (void *opaque,                               target_phys_addr_t addr, uint32_t value){//    printf("%s: 0x" PADDRX " => 0x%08" PRIx32 "\n", __func__, addr, value);}static always_inline uint32_t _PPC_intack_read (target_phys_addr_t addr){    uint32_t retval = 0;    if (addr == 0xBFFFFFF0)        retval = pic_intack_read(isa_pic);//   printf("%s: 0x" PADDRX " <= %08" PRIx32 "\n", __func__, addr, retval);    return retval;}static uint32_t PPC_intack_readb (void *opaque, target_phys_addr_t addr){    return _PPC_intack_read(addr);}static uint32_t PPC_intack_readw (void *opaque, target_phys_addr_t addr){#ifdef TARGET_WORDS_BIGENDIAN    return bswap16(_PPC_intack_read(addr));#else    return _PPC_intack_read(addr);#endif}static uint32_t PPC_intack_readl (void *opaque, target_phys_addr_t addr){#ifdef TARGET_WORDS_BIGENDIAN    return bswap32(_PPC_intack_read(addr));#else    return _PPC_intack_read(addr);#endif}static CPUWriteMemoryFunc *PPC_intack_write[] = {    &_PPC_intack_write,    &_PPC_intack_write,    &_PPC_intack_write,};static CPUReadMemoryFunc *PPC_intack_read[] = {    &PPC_intack_readb,    &PPC_intack_readw,    &PPC_intack_readl,};/* PowerPC control and status registers */#if 0 // Not usedstatic struct {    /* IDs */    uint32_t veni_devi;    uint32_t revi;    /* Control and status */    uint32_t gcsr;    uint32_t xcfr;    uint32_t ct32;    uint32_t mcsr;    /* General purpose registers */    uint32_t gprg[6];    /* Exceptions */    uint32_t feen;    uint32_t fest;    uint32_t fema;    uint32_t fecl;    uint32_t eeen;    uint32_t eest;    uint32_t eecl;    uint32_t eeint;    uint32_t eemck0;    uint32_t eemck1;    /* Error diagnostic */} XCSR;static void PPC_XCSR_writeb (void *opaque,                             target_phys_addr_t addr, uint32_t value){    printf("%s: 0x" PADDRX " => 0x%08" PRIx32 "\n", __func__, addr, value);}static void PPC_XCSR_writew (void *opaque,                             target_phys_addr_t addr, uint32_t value){#ifdef TARGET_WORDS_BIGENDIAN    value = bswap16(value);#endif    printf("%s: 0x" PADDRX " => 0x%08" PRIx32 "\n", __func__, addr, value);}static void PPC_XCSR_writel (void *opaque,                             target_phys_addr_t addr, uint32_t value){#ifdef TARGET_WORDS_BIGENDIAN    value = bswap32(value);#endif    printf("%s: 0x" PADDRX " => 0x%08" PRIx32 "\n", __func__, addr, value);}static uint32_t PPC_XCSR_readb (void *opaque, target_phys_addr_t addr){    uint32_t retval = 0;    printf("%s: 0x" PADDRX " <= %08" PRIx32 "\n", __func__, addr, retval);    return retval;}static uint32_t PPC_XCSR_readw (void *opaque, target_phys_addr_t addr){    uint32_t retval = 0;    printf("%s: 0x" PADDRX " <= %08" PRIx32 "\n", __func__, addr, retval);#ifdef TARGET_WORDS_BIGENDIAN    retval = bswap16(retval);#endif    return retval;}static uint32_t PPC_XCSR_readl (void *opaque, target_phys_addr_t addr){    uint32_t retval = 0;    printf("%s: 0x" PADDRX " <= %08" PRIx32 "\n", __func__, addr, retval);#ifdef TARGET_WORDS_BIGENDIAN    retval = bswap32(retval);#endif    return retval;}static CPUWriteMemoryFunc *PPC_XCSR_write[] = {    &PPC_XCSR_writeb,    &PPC_XCSR_writew,    &PPC_XCSR_writel,};static CPUReadMemoryFunc *PPC_XCSR_read[] = {    &PPC_XCSR_readb,    &PPC_XCSR_readw,    &PPC_XCSR_readl,};#endif/* Fake super-io ports for PREP platform (Intel 82378ZB) */typedef struct sysctrl_t {    qemu_irq reset_irq;    m48t59_t *nvram;    uint8_t state;    uint8_t syscontrol;    uint8_t fake_io[2];    int contiguous_map;    int endian;} sysctrl_t;enum {    STATE_HARDFILE = 0x01,};static sysctrl_t *sysctrl;static void PREP_io_write (void *opaque, uint32_t addr, uint32_t val){    sysctrl_t *sysctrl = opaque;    PPC_IO_DPRINTF("0x%08" PRIx32 " => 0x%02" PRIx32 "\n", addr - PPC_IO_BASE,                   val);    sysctrl->fake_io[addr - 0x0398] = val;}static uint32_t PREP_io_read (void *opaque, uint32_t addr){    sysctrl_t *sysctrl = opaque;    PPC_IO_DPRINTF("0x%08" PRIx32 " <= 0x%02" PRIx32 "\n", addr - PPC_IO_BASE,                   sysctrl->fake_io[addr - 0x0398]);    return sysctrl->fake_io[addr - 0x0398];}static void PREP_io_800_writeb (void *opaque, uint32_t addr, uint32_t val){    sysctrl_t *sysctrl = opaque;    PPC_IO_DPRINTF("0x%08" PRIx32 " => 0x%02" PRIx32 "\n",                   addr - PPC_IO_BASE, val);    switch (addr) {    case 0x0092:        /* Special port 92 */        /* Check soft reset asked */        if (val & 0x01) {            qemu_irq_raise(sysctrl->reset_irq);        } else {            qemu_irq_lower(sysctrl->reset_irq);        }        /* Check LE mode */        if (val & 0x02) {            sysctrl->endian = 1;        } else {            sysctrl->endian = 0;        }        break;    case 0x0800:        /* Motorola CPU configuration register : read-only */        break;    case 0x0802:        /* Motorola base module feature register : read-only */        break;    case 0x0803:        /* Motorola base module status register : read-only */        break;    case 0x0808:        /* Hardfile light register */        if (val & 1)            sysctrl->state |= STATE_HARDFILE;        else            sysctrl->state &= ~STATE_HARDFILE;        break;    case 0x0810:        /* Password protect 1 register */        if (sysctrl->nvram != NULL)            m48t59_toggle_lock(sysctrl->nvram, 1);        break;    case 0x0812:        /* Password protect 2 register */        if (sysctrl->nvram != NULL)            m48t59_toggle_lock(sysctrl->nvram, 2);        break;    case 0x0814:        /* L2 invalidate register */        //        tlb_flush(first_cpu, 1);        break;    case 0x081C:        /* system control register */        sysctrl->syscontrol = val & 0x0F;        break;    case 0x0850:        /* I/O map type register */        sysctrl->contiguous_map = val & 0x01;        break;    default:        printf("ERROR: unaffected IO port write: %04" PRIx32               " => %02" PRIx32"\n", addr, val);        break;    }}static uint32_t PREP_io_800_readb (void *opaque, uint32_t addr){    sysctrl_t *sysctrl = opaque;    uint32_t retval = 0xFF;    switch (addr) {    case 0x0092:        /* Special port 92 */        retval = 0x00;        break;    case 0x0800:        /* Motorola CPU configuration register */        retval = 0xEF; /* MPC750 */        break;    case 0x0802:        /* Motorola Base module feature register */        retval = 0xAD; /* No ESCC, PMC slot neither ethernet */        break;    case 0x0803:

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品第13页| 国产精品护士白丝一区av| 欧美丰满少妇xxxxx高潮对白| 成人综合婷婷国产精品久久蜜臀 | 丰满少妇在线播放bd日韩电影| 国产精品久久久久久久蜜臀| 亚洲色图制服丝袜| 亚洲亚洲人成综合网络| 经典三级一区二区| 99久久亚洲一区二区三区青草| 91亚洲精品一区二区乱码| 色女孩综合影院| 欧美精品自拍偷拍| 久久亚洲精华国产精华液| 亚洲日本一区二区三区| 日韩国产欧美在线观看| 成人污视频在线观看| 欧美欧美欧美欧美| 国产农村妇女精品| 天堂资源在线中文精品| 国产激情视频一区二区在线观看| 91久久精品一区二区三区| 日韩精品一区二| 亚洲另类中文字| 国产又粗又猛又爽又黄91精品| 91在线一区二区| 精品国产乱码久久久久久闺蜜 | 黄色小说综合网站| 色天使色偷偷av一区二区| 精品免费国产二区三区| 亚洲精品免费视频| 国产乱子伦一区二区三区国色天香| 99久久精品久久久久久清纯| 日韩欧美精品在线视频| 一区二区三区四区av| 国产成人aaa| 日韩一区二区在线免费观看| 亚洲美女偷拍久久| 国产露脸91国语对白| 91.com在线观看| 亚洲人吸女人奶水| 久久久久久免费网| 91免费精品国自产拍在线不卡| 视频一区二区三区中文字幕| 日韩欧美第一区| 亚洲精品乱码久久久久久久久| 看电影不卡的网站| 欧美精品自拍偷拍| 伊人色综合久久天天| 国产成人免费9x9x人网站视频| 91在线你懂得| 亚洲国产成人午夜在线一区| 国产精品伊人色| 欧美精品一区二区三区四区 | 日韩欧美二区三区| 亚洲成人中文在线| 欧美视频一区二区三区四区 | 欧美在线观看一二区| 国产精品久久久久久户外露出| 精品在线一区二区三区| 久久尤物电影视频在线观看| 裸体歌舞表演一区二区| 日韩精品一区二区三区swag| 午夜精品福利一区二区三区蜜桃| 欧美三级电影一区| 日韩1区2区日韩1区2区| 国产日本欧美一区二区| 欧美性三三影院| 亚洲欧美另类综合偷拍| 成人免费av网站| 亚洲另类在线视频| 亚洲第一成人在线| 99久久久久久| 3d动漫精品啪啪一区二区竹菊 | 亚洲免费观看高清完整版在线观看| 久久er精品视频| 日韩欧美在线123| 久久电影网站中文字幕| 欧美大片在线观看一区二区| 奇米在线7777在线精品| 日韩欧美123| 国产一区二区在线观看免费| 久久久精品国产免费观看同学| 韩国欧美国产1区| 久久久久99精品国产片| 成人深夜在线观看| 亚洲色欲色欲www| 欧美性三三影院| 青青国产91久久久久久| 欧美精品一区二区蜜臀亚洲| 国产v日产∨综合v精品视频| 国产精品久久久久久福利一牛影视| 成人精品视频一区二区三区尤物| 中文字幕 久热精品 视频在线 | 亚洲日韩欧美一区二区在线| 91亚洲大成网污www| 一区二区三区不卡视频在线观看| www.亚洲在线| 亚洲自拍偷拍九九九| 欧美一区二视频| 国产真实精品久久二三区| 国产精品伦一区| 欧美亚洲一区三区| 青草av.久久免费一区| 久久久美女毛片| 99久久精品国产精品久久| 亚洲狠狠爱一区二区三区| 欧美一级免费观看| 国产精品1区2区| 亚洲欧美视频一区| 91精品福利在线一区二区三区| 久久99精品国产麻豆不卡| 日本一区二区成人| 欧美视频一区二区三区| 国产一区二区三区在线观看免费| 国产三级三级三级精品8ⅰ区| 成人在线综合网| 亚洲国产精品欧美一二99| 精品国产99国产精品| 99久久精品情趣| 美女视频免费一区| 国产精品九色蝌蚪自拍| 欧美精品日日鲁夜夜添| 国产一区二区不卡老阿姨| 亚洲精品伦理在线| 2020国产精品| 欧美在线免费观看亚洲| 精品一区二区三区视频| 一区二区三区丝袜| 久久久噜噜噜久久人人看 | 亚洲色图制服丝袜| 日韩三区在线观看| 99国产麻豆精品| 久久不见久久见免费视频7 | 成人手机电影网| 看国产成人h片视频| 亚洲综合视频在线| 久久久精品免费免费| 8x福利精品第一导航| av一本久道久久综合久久鬼色| 日韩精品亚洲专区| 一区精品在线播放| 2020国产精品自拍| 69堂国产成人免费视频| 91丨九色丨蝌蚪丨老版| 精品一区二区国语对白| 亚洲一级电影视频| 国产精品免费网站在线观看| 日韩视频免费观看高清完整版| 99久久er热在这里只有精品15| 裸体歌舞表演一区二区| 爽爽淫人综合网网站| ...xxx性欧美| 日本一区二区三区四区在线视频| 欧美日本韩国一区| 91久久一区二区| 97久久超碰精品国产| 国产不卡在线播放| 精品一区二区影视| 青草av.久久免费一区| 亚洲6080在线| 亚洲综合色视频| 国产成人综合自拍| 免费在线成人网| 日韩av一区二区在线影视| 樱桃国产成人精品视频| 中文字幕一区在线观看视频| 久久久精品黄色| 久久精品人人做人人爽97| 日韩免费观看2025年上映的电影| 在线一区二区三区四区| 色哟哟一区二区在线观看| 北条麻妃国产九九精品视频| 国产成人精品亚洲777人妖| 久久综合综合久久综合| 免费在线观看不卡| 蜜臀av性久久久久蜜臀aⅴ| 天天操天天综合网| 日本sm残虐另类| 免费成人结看片| 奇米影视一区二区三区| 天天综合天天综合色| 天天综合天天做天天综合| 三级精品在线观看| 日韩电影在线免费观看| 日韩高清不卡一区二区三区| 天堂精品中文字幕在线| 日韩高清电影一区| 激情综合色播激情啊| 国产综合色在线视频区| 国产一区欧美一区| 国产麻豆精品95视频| 高清视频一区二区| 不卡的av中国片| 91浏览器在线视频| 欧美日韩精品一区二区在线播放 | 亚洲欧美日韩久久精品| 亚洲精品国产品国语在线app| 中文字幕一区二区在线播放| 亚洲视频一二三|