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

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

?? vl.c

?? QEMU 0.91 source code, supports ARM processor including S3C24xx series
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* * QEMU System Emulator * * Copyright (c) 2003-2008 Fabrice Bellard * * 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/hw.h"#include "hw/boards.h"#include "hw/usb.h"#include "hw/pcmcia.h"#include "hw/pc.h"#include "hw/fdc.h"#include "hw/audiodev.h"#include "hw/isa.h"#include "net.h"#include "console.h"#include "sysemu.h"#include "gdbstub.h"#include "qemu-timer.h"#include "qemu-char.h"#include "block.h"#include "audio/audio.h"#include <unistd.h>#include <fcntl.h>#include <signal.h>#include <time.h>#include <errno.h>#include <sys/time.h>#include <zlib.h>#ifndef _WIN32#include <sys/times.h>#include <sys/wait.h>#include <termios.h>#include <sys/poll.h>#include <sys/mman.h>#include <sys/ioctl.h>#include <sys/socket.h>#include <netinet/in.h>#include <dirent.h>#include <netdb.h>#include <sys/select.h>#include <arpa/inet.h>#ifdef _BSD#include <sys/stat.h>#ifndef __APPLE__#include <libutil.h>#endif#elif defined (__GLIBC__) && defined (__FreeBSD_kernel__)#include <freebsd/stdlib.h>#else#ifndef __sun__#include <linux/if.h>#include <linux/if_tun.h>#include <pty.h>#include <malloc.h>#include <linux/rtc.h>/* For the benefit of older linux systems which don't supply it,   we use a local copy of hpet.h. *//* #include <linux/hpet.h> */#include "hpet.h"#include <linux/ppdev.h>#include <linux/parport.h>#else#include <sys/stat.h>#include <sys/ethernet.h>#include <sys/sockio.h>#include <netinet/arp.h>#include <netinet/in.h>#include <netinet/in_systm.h>#include <netinet/ip.h>#include <netinet/ip_icmp.h> // must come after ip.h#include <netinet/udp.h>#include <netinet/tcp.h>#include <net/if.h>#include <syslog.h>#include <stropts.h>#endif#endif#else#include <winsock2.h>int inet_aton(const char *cp, struct in_addr *ia);#endif#if defined(CONFIG_SLIRP)#include "libslirp.h"#endif#ifdef _WIN32#include <malloc.h>#include <sys/timeb.h>#include <mmsystem.h>#define getopt_long_only getopt_long#define memalign(align, size) malloc(size)#endif#include "qemu_socket.h"#ifdef CONFIG_SDL#ifdef __APPLE__#include <SDL/SDL.h>#endif#endif /* CONFIG_SDL */#ifdef CONFIG_COCOA#undef main#define main qemu_main#endif /* CONFIG_COCOA */#include "disas.h"#include "exec-all.h"#define DEFAULT_NETWORK_SCRIPT "/etc/qemu-ifup"#define DEFAULT_NETWORK_DOWN_SCRIPT "/etc/qemu-ifdown"#ifdef __sun__#define SMBD_COMMAND "/usr/sfw/sbin/smbd"#else#define SMBD_COMMAND "/usr/sbin/smbd"#endif//#define DEBUG_UNUSED_IOPORT//#define DEBUG_IOPORT#define PHYS_RAM_MAX_SIZE (2047 * 1024 * 1024)#ifdef TARGET_PPC#define DEFAULT_RAM_SIZE 144#else#define DEFAULT_RAM_SIZE 128#endif/* in ms */#define GUI_REFRESH_INTERVAL 30/* Max number of USB devices that can be specified on the commandline.  */#define MAX_USB_CMDLINE 8/* XXX: use a two level table to limit memory usage */#define MAX_IOPORTS 65536const char *bios_dir = CONFIG_QEMU_SHAREDIR;const char *bios_name = NULL;void *ioport_opaque[MAX_IOPORTS];IOPortReadFunc *ioport_read_table[3][MAX_IOPORTS];IOPortWriteFunc *ioport_write_table[3][MAX_IOPORTS];/* Note: drives_table[MAX_DRIVES] is a dummy block driver if none available   to store the VM snapshots */DriveInfo drives_table[MAX_DRIVES+1];int nb_drives;/* point to the block driver where the snapshots are managed */BlockDriverState *bs_snapshots;int vga_ram_size;static DisplayState display_state;int nographic;const char* keyboard_layout = NULL;int64_t ticks_per_sec;int ram_size;int pit_min_timer_count = 0;int nb_nics;NICInfo nd_table[MAX_NICS];int vm_running;int rtc_utc = 1;int rtc_start_date = -1; /* -1 means now */int cirrus_vga_enabled = 1;int vmsvga_enabled = 0;#ifdef TARGET_SPARCint graphic_width = 1024;int graphic_height = 768;int graphic_depth = 8;#elseint graphic_width = 800;int graphic_height = 600;int graphic_depth = 15;#endifint full_screen = 0;int no_frame = 0;int no_quit = 0;CharDriverState *serial_hds[MAX_SERIAL_PORTS];CharDriverState *parallel_hds[MAX_PARALLEL_PORTS];#ifdef TARGET_I386int win2k_install_hack = 0;#endifint usb_enabled = 0;static VLANState *first_vlan;int smp_cpus = 1;const char *vnc_display;#if defined(TARGET_SPARC)#define MAX_CPUS 16#elif defined(TARGET_I386)#define MAX_CPUS 255#else#define MAX_CPUS 1#endifint acpi_enabled = 1;int fd_bootchk = 1;int no_reboot = 0;int cursor_hide = 1;int graphic_rotate = 0;int daemonize = 0;const char *option_rom[MAX_OPTION_ROMS];int nb_option_roms;int semihosting_enabled = 0;int autostart = 1;#ifdef TARGET_ARMint old_param = 0;#endifconst char *qemu_name;int alt_grab = 0;#ifdef TARGET_SPARCunsigned int nb_prom_envs = 0;const char *prom_envs[MAX_PROM_ENVS];#endifint nb_drives_opt;char drives_opt[MAX_DRIVES][1024];static CPUState *cur_cpu;static CPUState *next_cpu;static int event_pending = 1;#define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)/***********************************************************//* x86 ISA bus support */target_phys_addr_t isa_mem_base = 0;PicState2 *isa_pic;static uint32_t default_ioport_readb(void *opaque, uint32_t address){#ifdef DEBUG_UNUSED_IOPORT    fprintf(stderr, "unused inb: port=0x%04x\n", address);#endif    return 0xff;}static void default_ioport_writeb(void *opaque, uint32_t address, uint32_t data){#ifdef DEBUG_UNUSED_IOPORT    fprintf(stderr, "unused outb: port=0x%04x data=0x%02x\n", address, data);#endif}/* default is to make two byte accesses */static uint32_t default_ioport_readw(void *opaque, uint32_t address){    uint32_t data;    data = ioport_read_table[0][address](ioport_opaque[address], address);    address = (address + 1) & (MAX_IOPORTS - 1);    data |= ioport_read_table[0][address](ioport_opaque[address], address) << 8;    return data;}static void default_ioport_writew(void *opaque, uint32_t address, uint32_t data){    ioport_write_table[0][address](ioport_opaque[address], address, data & 0xff);    address = (address + 1) & (MAX_IOPORTS - 1);    ioport_write_table[0][address](ioport_opaque[address], address, (data >> 8) & 0xff);}static uint32_t default_ioport_readl(void *opaque, uint32_t address){#ifdef DEBUG_UNUSED_IOPORT    fprintf(stderr, "unused inl: port=0x%04x\n", address);#endif    return 0xffffffff;}static void default_ioport_writel(void *opaque, uint32_t address, uint32_t data){#ifdef DEBUG_UNUSED_IOPORT    fprintf(stderr, "unused outl: port=0x%04x data=0x%02x\n", address, data);#endif}static void init_ioports(void){    int i;    for(i = 0; i < MAX_IOPORTS; i++) {        ioport_read_table[0][i] = default_ioport_readb;        ioport_write_table[0][i] = default_ioport_writeb;        ioport_read_table[1][i] = default_ioport_readw;        ioport_write_table[1][i] = default_ioport_writew;        ioport_read_table[2][i] = default_ioport_readl;        ioport_write_table[2][i] = default_ioport_writel;    }}/* size is the word size in byte */int register_ioport_read(int start, int length, int size,                         IOPortReadFunc *func, void *opaque){    int i, bsize;    if (size == 1) {        bsize = 0;    } else if (size == 2) {        bsize = 1;    } else if (size == 4) {        bsize = 2;    } else {        hw_error("register_ioport_read: invalid size");        return -1;    }    for(i = start; i < start + length; i += size) {        ioport_read_table[bsize][i] = func;        if (ioport_opaque[i] != NULL && ioport_opaque[i] != opaque)            hw_error("register_ioport_read: invalid opaque");        ioport_opaque[i] = opaque;    }    return 0;}/* size is the word size in byte */int register_ioport_write(int start, int length, int size,                          IOPortWriteFunc *func, void *opaque){    int i, bsize;    if (size == 1) {        bsize = 0;    } else if (size == 2) {        bsize = 1;    } else if (size == 4) {        bsize = 2;    } else {        hw_error("register_ioport_write: invalid size");        return -1;    }    for(i = start; i < start + length; i += size) {        ioport_write_table[bsize][i] = func;        if (ioport_opaque[i] != NULL && ioport_opaque[i] != opaque)            hw_error("register_ioport_write: invalid opaque");        ioport_opaque[i] = opaque;    }    return 0;}void isa_unassign_ioport(int start, int length){    int i;    for(i = start; i < start + length; i++) {        ioport_read_table[0][i] = default_ioport_readb;        ioport_read_table[1][i] = default_ioport_readw;        ioport_read_table[2][i] = default_ioport_readl;        ioport_write_table[0][i] = default_ioport_writeb;        ioport_write_table[1][i] = default_ioport_writew;        ioport_write_table[2][i] = default_ioport_writel;    }}/***********************************************************/void cpu_outb(CPUState *env, int addr, int val){#ifdef DEBUG_IOPORT    if (loglevel & CPU_LOG_IOPORT)        fprintf(logfile, "outb: %04x %02x\n", addr, val);#endif    ioport_write_table[0][addr](ioport_opaque[addr], addr, val);#ifdef USE_KQEMU    if (env)        env->last_io_time = cpu_get_time_fast();#endif}void cpu_outw(CPUState *env, int addr, int val){#ifdef DEBUG_IOPORT    if (loglevel & CPU_LOG_IOPORT)        fprintf(logfile, "outw: %04x %04x\n", addr, val);#endif    ioport_write_table[1][addr](ioport_opaque[addr], addr, val);#ifdef USE_KQEMU    if (env)        env->last_io_time = cpu_get_time_fast();#endif}void cpu_outl(CPUState *env, int addr, int val){#ifdef DEBUG_IOPORT    if (loglevel & CPU_LOG_IOPORT)        fprintf(logfile, "outl: %04x %08x\n", addr, val);#endif    ioport_write_table[2][addr](ioport_opaque[addr], addr, val);#ifdef USE_KQEMU    if (env)        env->last_io_time = cpu_get_time_fast();#endif}int cpu_inb(CPUState *env, int addr){    int val;    val = ioport_read_table[0][addr](ioport_opaque[addr], addr);#ifdef DEBUG_IOPORT    if (loglevel & CPU_LOG_IOPORT)        fprintf(logfile, "inb : %04x %02x\n", addr, val);#endif#ifdef USE_KQEMU    if (env)        env->last_io_time = cpu_get_time_fast();#endif    return val;}int cpu_inw(CPUState *env, int addr){    int val;    val = ioport_read_table[1][addr](ioport_opaque[addr], addr);#ifdef DEBUG_IOPORT    if (loglevel & CPU_LOG_IOPORT)        fprintf(logfile, "inw : %04x %04x\n", addr, val);#endif#ifdef USE_KQEMU    if (env)        env->last_io_time = cpu_get_time_fast();#endif    return val;}int cpu_inl(CPUState *env, int addr){    int val;    val = ioport_read_table[2][addr](ioport_opaque[addr], addr);#ifdef DEBUG_IOPORT    if (loglevel & CPU_LOG_IOPORT)        fprintf(logfile, "inl : %04x %08x\n", addr, val);#endif#ifdef USE_KQEMU    if (env)        env->last_io_time = cpu_get_time_fast();#endif    return val;}/***********************************************************/void hw_error(const char *fmt, ...){    va_list ap;    CPUState *env;    va_start(ap, fmt);    fprintf(stderr, "qemu: hardware error: ");    vfprintf(stderr, fmt, ap);    fprintf(stderr, "\n");    for(env = first_cpu; env != NULL; env = env->next_cpu) {        fprintf(stderr, "CPU #%d:\n", env->cpu_index);#ifdef TARGET_I386        cpu_dump_state(env, stderr, fprintf, X86_DUMP_FPU);#else        cpu_dump_state(env, stderr, fprintf, 0);#endif    }    va_end(ap);    abort();}/***********************************************************//* keyboard/mouse */static QEMUPutKBDEvent *qemu_put_kbd_event;static void *qemu_put_kbd_event_opaque;static QEMUPutMouseEntry *qemu_put_mouse_event_head;static QEMUPutMouseEntry *qemu_put_mouse_event_current;void qemu_add_kbd_event_handler(QEMUPutKBDEvent *func, void *opaque){    qemu_put_kbd_event_opaque = opaque;    qemu_put_kbd_event = func;}QEMUPutMouseEntry *qemu_add_mouse_event_handler(QEMUPutMouseEvent *func,                                                void *opaque, int absolute,                                                const char *name){    QEMUPutMouseEntry *s, *cursor;    s = qemu_mallocz(sizeof(QEMUPutMouseEntry));    if (!s)        return NULL;    s->qemu_put_mouse_event = func;    s->qemu_put_mouse_event_opaque = opaque;    s->qemu_put_mouse_event_absolute = absolute;    s->qemu_put_mouse_event_name = qemu_strdup(name);    s->next = NULL;    if (!qemu_put_mouse_event_head) {        qemu_put_mouse_event_head = qemu_put_mouse_event_current = s;        return s;    }    cursor = qemu_put_mouse_event_head;    while (cursor->next != NULL)        cursor = cursor->next;    cursor->next = s;    qemu_put_mouse_event_current = s;    return s;}void qemu_remove_mouse_event_handler(QEMUPutMouseEntry *entry){    QEMUPutMouseEntry *prev = NULL, *cursor;    if (!qemu_put_mouse_event_head || entry == NULL)        return;    cursor = qemu_put_mouse_event_head;    while (cursor != NULL && cursor != entry) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
粉嫩欧美一区二区三区高清影视| 中文字幕在线不卡一区二区三区 | 久久精品久久精品| 欧美一级黄色录像| 激情综合色播五月| 久久一区二区三区国产精品| 国产精品91xxx| 国产精品免费丝袜| 欧美亚洲精品一区| 狠狠色狠狠色综合| 国产精品福利一区| 国产精品欧美一区二区三区| 色猫猫国产区一区二在线视频| 尤物视频一区二区| 精品少妇一区二区三区| 成人听书哪个软件好| 亚洲精品老司机| 日韩欧美在线综合网| 丁香婷婷综合色啪| 亚洲国产日韩一级| 精品国产123| 99re这里都是精品| 美女网站一区二区| 成人欧美一区二区三区视频网页 | 麻豆成人在线观看| 欧美国产精品v| 欧美日韩一二区| 国产成人免费视频网站高清观看视频 | 亚洲精品日日夜夜| 欧美一区二区大片| 91在线云播放| 国产在线视频不卡二| 亚洲宅男天堂在线观看无病毒| 欧美一区二区三区播放老司机| 成人一区二区视频| 日韩精品亚洲一区| 亚洲乱码国产乱码精品精的特点| 日韩欧美一区中文| 一本色道久久综合狠狠躁的推荐| 韩国女主播成人在线观看| 亚洲免费观看高清完整版在线观看熊| 日韩一区二区三区四区| 色综合久久久久综合体桃花网| 国产主播一区二区三区| 亚洲一二三四久久| 亚洲素人一区二区| 国产喷白浆一区二区三区| 91精品免费观看| 91成人在线观看喷潮| 福利电影一区二区三区| 理论电影国产精品| 日韩精品欧美成人高清一区二区| 中文字幕亚洲综合久久菠萝蜜| 欧美变态tickle挠乳网站| 国产精品久久久久影院色老大| 日韩午夜电影在线观看| 欧美日韩久久久一区| 97精品国产97久久久久久久久久久久| 极品尤物av久久免费看| 五月激情综合网| 亚洲成av人在线观看| 亚洲蜜桃精久久久久久久| 亚洲欧洲韩国日本视频| 久久久777精品电影网影网| 日韩精品中文字幕在线不卡尤物 | 波多野结衣亚洲| 国产精品系列在线播放| 精品一区二区三区免费观看 | 麻豆极品一区二区三区| 婷婷国产在线综合| 亚洲va韩国va欧美va| 亚洲自拍与偷拍| 亚洲精品成人天堂一二三| 亚洲狼人国产精品| 亚洲一线二线三线视频| 亚洲精品高清在线观看| 亚洲免费观看高清完整版在线| 亚洲美女屁股眼交3| 亚洲免费观看高清| 亚洲高清免费在线| 手机精品视频在线观看| 人妖欧美一区二区| 国产一区二区三区免费在线观看 | 国产精品久久久久久久第一福利| 国产午夜精品一区二区三区嫩草| 久久综合丝袜日本网| 久久免费的精品国产v∧| 久久久国产一区二区三区四区小说| 久久精品视频一区| 国产精品久久久久aaaa| 一区二区在线免费观看| 亚洲动漫第一页| 强制捆绑调教一区二区| 国产激情视频一区二区在线观看 | 色婷婷激情综合| 欧美性极品少妇| 欧美一区二区三区免费| 精品91自产拍在线观看一区| 欧美精彩视频一区二区三区| 亚洲日本在线看| 亚洲成人av一区二区三区| 另类人妖一区二区av| 福利一区二区在线观看| 欧美亚男人的天堂| 亚洲精品在线免费观看视频| 国产精品久久久久久久久图文区 | 91在线观看污| 欧美日韩国产美| 精品国产污污免费网站入口| 国产精品美女久久久久高潮| 亚洲成年人网站在线观看| 国产一区二三区| 91看片淫黄大片一级在线观看| 欧美久久久久久久久久| 欧美国产一区在线| 午夜精品成人在线| 成人夜色视频网站在线观看| 欧美在线不卡一区| 国产欧美日韩不卡| 亚洲成年人影院| 成人免费视频caoporn| 欧美日韩国产免费| 亚洲欧美自拍偷拍| 久久国产精品99久久久久久老狼| 色偷偷久久人人79超碰人人澡| 正在播放亚洲一区| 亚洲精品日韩一| 国产精品456| 日韩欧美一区二区久久婷婷| 亚洲人123区| 国产麻豆精品一区二区| 欧美日韩美少妇| 亚洲美女视频在线| 粉嫩av亚洲一区二区图片| 91精品中文字幕一区二区三区| 国产精品激情偷乱一区二区∴| 免费观看日韩电影| 欧美影片第一页| 国产精品福利电影一区二区三区四区| 日本不卡高清视频| 欧美日韩日日摸| 最新国产精品久久精品| 国产精品99久| 精品国产百合女同互慰| 日本大胆欧美人术艺术动态| 日本高清成人免费播放| 国产精品久久久99| 国产高清不卡二三区| 日韩一卡二卡三卡四卡| 视频一区中文字幕国产| 在线免费视频一区二区| 亚洲欧美区自拍先锋| av电影天堂一区二区在线| 久久久久久久久久电影| 久久国产精品72免费观看| 日韩一区二区三区观看| 天堂va蜜桃一区二区三区 | 亚洲18色成人| 在线欧美日韩国产| 亚洲与欧洲av电影| 在线观看日韩一区| 一区二区三区四区不卡在线 | 婷婷中文字幕综合| 欧美日韩电影在线| 日本亚洲三级在线| 91精品国产综合久久久久久漫画 | 国产激情精品久久久第一区二区 | 亚洲视频一区二区免费在线观看| 国产91对白在线观看九色| 国产欧美日韩不卡免费| 成人精品国产一区二区4080| 国产日韩欧美精品综合| 丰满亚洲少妇av| 国产精品白丝在线| 一本色道a无线码一区v| 亚洲国产裸拍裸体视频在线观看乱了| 色噜噜狠狠成人中文综合| 亚洲国产日韩在线一区模特| 3atv一区二区三区| 久久成人羞羞网站| 国产午夜亚洲精品羞羞网站| 99久久综合狠狠综合久久| 亚洲精品欧美激情| 欧美日本精品一区二区三区| 日本中文字幕不卡| 久久久综合精品| 99久久er热在这里只有精品66| 亚洲靠逼com| 欧美一级片在线观看| 国产一区二区三区黄视频 | 美女性感视频久久| 中文字幕欧美三区| 91在线视频免费91| 婷婷久久综合九色综合绿巨人| 日韩欧美中文字幕一区| 岛国一区二区三区| 午夜精品久久久久久久| 精品国产成人系列| 色婷婷亚洲一区二区三区| 日韩电影在线一区二区三区|