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

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

?? spitz.c

?? QEMU 0.91 source code, supports ARM processor including S3C24xx series
?? C
?? 第 1 頁 / 共 3 頁
字號:
    s->pre_map[0x09 | SHIFT	] = 0x24 | FN;		/* asterisk */    s->pre_map[0x2b		] = 0x25 | FN;		/* backslash */    s->pre_map[0x2b | SHIFT	] = 0x26 | FN;		/* bar */    s->pre_map[0x0c | SHIFT	] = 0x30 | FN;		/* underscore */    s->pre_map[0x33 | SHIFT	] = 0x33 | FN;		/* less */    s->pre_map[0x35		] = 0x33 | SHIFT;	/* slash */    s->pre_map[0x34 | SHIFT	] = 0x34 | FN;		/* greater */    s->pre_map[0x35 | SHIFT	] = 0x34 | SHIFT;	/* question */    s->pre_map[0x49		] = 0x48 | FN;		/* Page_Up */    s->pre_map[0x51		] = 0x50 | FN;		/* Page_Down */    s->modifiers = 0;    s->imodifiers = 0;    s->fifopos = 0;    s->fifolen = 0;    s->kbdtimer = qemu_new_timer(vm_clock, spitz_keyboard_tick, s);    spitz_keyboard_tick(s);}#undef SHIFT#undef CTRL#undef FNstatic void spitz_keyboard_save(QEMUFile *f, void *opaque){    struct spitz_keyboard_s *s = (struct spitz_keyboard_s *) opaque;    int i;    qemu_put_be16s(f, &s->sense_state);    qemu_put_be16s(f, &s->strobe_state);    for (i = 0; i < 5; i ++)        qemu_put_byte(f, spitz_gpio_invert[i]);}static int spitz_keyboard_load(QEMUFile *f, void *opaque, int version_id){    struct spitz_keyboard_s *s = (struct spitz_keyboard_s *) opaque;    int i;    qemu_get_be16s(f, &s->sense_state);    qemu_get_be16s(f, &s->strobe_state);    for (i = 0; i < 5; i ++)        spitz_gpio_invert[i] = qemu_get_byte(f);    /* Release all pressed keys */    memset(s->keyrow, 0, sizeof(s->keyrow));    spitz_keyboard_sense_update(s);    s->modifiers = 0;    s->imodifiers = 0;    s->fifopos = 0;    s->fifolen = 0;    return 0;}static void spitz_keyboard_register(struct pxa2xx_state_s *cpu){    int i, j;    struct spitz_keyboard_s *s;    s = (struct spitz_keyboard_s *)            qemu_mallocz(sizeof(struct spitz_keyboard_s));    memset(s, 0, sizeof(struct spitz_keyboard_s));    for (i = 0; i < 0x80; i ++)        s->keymap[i] = -1;    for (i = 0; i < SPITZ_KEY_SENSE_NUM + 1; i ++)        for (j = 0; j < SPITZ_KEY_STROBE_NUM; j ++)            if (spitz_keymap[i][j] != -1)                s->keymap[spitz_keymap[i][j]] = (i << 4) | j;    for (i = 0; i < SPITZ_KEY_SENSE_NUM; i ++)        s->sense[i] = pxa2xx_gpio_in_get(cpu->gpio)[spitz_gpio_key_sense[i]];    for (i = 0; i < 5; i ++)        s->gpiomap[i] = pxa2xx_gpio_in_get(cpu->gpio)[spitz_gpiomap[i]];    s->strobe = qemu_allocate_irqs(spitz_keyboard_strobe, s,                    SPITZ_KEY_STROBE_NUM);    for (i = 0; i < SPITZ_KEY_STROBE_NUM; i ++)        pxa2xx_gpio_out_set(cpu->gpio, spitz_gpio_key_strobe[i], s->strobe[i]);    spitz_keyboard_pre_map(s);    qemu_add_kbd_event_handler((QEMUPutKBDEvent *) spitz_keyboard_handler, s);    register_savevm("spitz_keyboard", 0, 0,                    spitz_keyboard_save, spitz_keyboard_load, s);}/* SCOOP devices */struct scoop_info_s {    target_phys_addr_t target_base;    qemu_irq handler[16];    qemu_irq *in;    uint16_t status;    uint16_t power;    uint32_t gpio_level;    uint32_t gpio_dir;    uint32_t prev_level;    uint16_t mcr;    uint16_t cdr;    uint16_t ccr;    uint16_t irr;    uint16_t imr;    uint16_t isr;    uint16_t gprr;};#define SCOOP_MCR	0x00#define SCOOP_CDR	0x04#define SCOOP_CSR	0x08#define SCOOP_CPR	0x0c#define SCOOP_CCR	0x10#define SCOOP_IRR_IRM	0x14#define SCOOP_IMR	0x18#define SCOOP_ISR	0x1c#define SCOOP_GPCR	0x20#define SCOOP_GPWR	0x24#define SCOOP_GPRR	0x28static inline void scoop_gpio_handler_update(struct scoop_info_s *s) {    uint32_t level, diff;    int bit;    level = s->gpio_level & s->gpio_dir;    for (diff = s->prev_level ^ level; diff; diff ^= 1 << bit) {        bit = ffs(diff) - 1;        qemu_set_irq(s->handler[bit], (level >> bit) & 1);    }    s->prev_level = level;}static uint32_t scoop_readb(void *opaque, target_phys_addr_t addr){    struct scoop_info_s *s = (struct scoop_info_s *) opaque;    addr -= s->target_base;    switch (addr) {    case SCOOP_MCR:        return s->mcr;    case SCOOP_CDR:        return s->cdr;    case SCOOP_CSR:        return s->status;    case SCOOP_CPR:        return s->power;    case SCOOP_CCR:        return s->ccr;    case SCOOP_IRR_IRM:        return s->irr;    case SCOOP_IMR:        return s->imr;    case SCOOP_ISR:        return s->isr;    case SCOOP_GPCR:        return s->gpio_dir;    case SCOOP_GPWR:        return s->gpio_level;    case SCOOP_GPRR:        return s->gprr;    default:        spitz_printf("Bad register offset " REG_FMT "\n", addr);    }    return 0;}static void scoop_writeb(void *opaque, target_phys_addr_t addr, uint32_t value){    struct scoop_info_s *s = (struct scoop_info_s *) opaque;    addr -= s->target_base;    value &= 0xffff;    switch (addr) {    case SCOOP_MCR:        s->mcr = value;        break;    case SCOOP_CDR:        s->cdr = value;        break;    case SCOOP_CPR:        s->power = value;        if (value & 0x80)            s->power |= 0x8040;        break;    case SCOOP_CCR:        s->ccr = value;        break;    case SCOOP_IRR_IRM:        s->irr = value;        break;    case SCOOP_IMR:        s->imr = value;        break;    case SCOOP_ISR:        s->isr = value;        break;    case SCOOP_GPCR:        s->gpio_dir = value;        scoop_gpio_handler_update(s);        break;    case SCOOP_GPWR:        s->gpio_level = value & s->gpio_dir;        scoop_gpio_handler_update(s);        break;    case SCOOP_GPRR:        s->gprr = value;        break;    default:        spitz_printf("Bad register offset " REG_FMT "\n", addr);    }}CPUReadMemoryFunc *scoop_readfn[] = {    scoop_readb,    scoop_readb,    scoop_readb,};CPUWriteMemoryFunc *scoop_writefn[] = {    scoop_writeb,    scoop_writeb,    scoop_writeb,};static void scoop_gpio_set(void *opaque, int line, int level){    struct scoop_info_s *s = (struct scoop_info_s *) s;    if (level)        s->gpio_level |= (1 << line);    else        s->gpio_level &= ~(1 << line);}static inline qemu_irq *scoop_gpio_in_get(struct scoop_info_s *s){    return s->in;}static inline void scoop_gpio_out_set(struct scoop_info_s *s, int line,                qemu_irq handler) {    if (line >= 16) {        spitz_printf("No GPIO pin %i\n", line);        return;    }    s->handler[line] = handler;}static void scoop_save(QEMUFile *f, void *opaque){    struct scoop_info_s *s = (struct scoop_info_s *) opaque;    qemu_put_be16s(f, &s->status);    qemu_put_be16s(f, &s->power);    qemu_put_be32s(f, &s->gpio_level);    qemu_put_be32s(f, &s->gpio_dir);    qemu_put_be32s(f, &s->prev_level);    qemu_put_be16s(f, &s->mcr);    qemu_put_be16s(f, &s->cdr);    qemu_put_be16s(f, &s->ccr);    qemu_put_be16s(f, &s->irr);    qemu_put_be16s(f, &s->imr);    qemu_put_be16s(f, &s->isr);    qemu_put_be16s(f, &s->gprr);}static int scoop_load(QEMUFile *f, void *opaque, int version_id){    struct scoop_info_s *s = (struct scoop_info_s *) opaque;    qemu_get_be16s(f, &s->status);    qemu_get_be16s(f, &s->power);    qemu_get_be32s(f, &s->gpio_level);    qemu_get_be32s(f, &s->gpio_dir);    qemu_get_be32s(f, &s->prev_level);    qemu_get_be16s(f, &s->mcr);    qemu_get_be16s(f, &s->cdr);    qemu_get_be16s(f, &s->ccr);    qemu_get_be16s(f, &s->irr);    qemu_get_be16s(f, &s->imr);    qemu_get_be16s(f, &s->isr);    qemu_get_be16s(f, &s->gprr);    return 0;}static struct scoop_info_s *spitz_scoop_init(struct pxa2xx_state_s *cpu,                int count) {    int iomemtype;    struct scoop_info_s *s;    s = (struct scoop_info_s *)            qemu_mallocz(sizeof(struct scoop_info_s) * 2);    memset(s, 0, sizeof(struct scoop_info_s) * count);    s[0].target_base = 0x10800000;    s[1].target_base = 0x08800040;    /* Ready */    s[0].status = 0x02;    s[1].status = 0x02;    s[0].in = qemu_allocate_irqs(scoop_gpio_set, &s[0], 16);    iomemtype = cpu_register_io_memory(0, scoop_readfn,                    scoop_writefn, &s[0]);    cpu_register_physical_memory(s[0].target_base, 0x1000, iomemtype);    register_savevm("scoop", 0, 0, scoop_save, scoop_load, &s[0]);    if (count < 2)        return s;    s[1].in = qemu_allocate_irqs(scoop_gpio_set, &s[1], 16);    iomemtype = cpu_register_io_memory(0, scoop_readfn,                    scoop_writefn, &s[1]);    cpu_register_physical_memory(s[1].target_base, 0x1000, iomemtype);    register_savevm("scoop", 1, 0, scoop_save, scoop_load, &s[1]);    return s;}/* LCD backlight controller */#define LCDTG_RESCTL	0x00#define LCDTG_PHACTRL	0x01#define LCDTG_DUTYCTRL	0x02#define LCDTG_POWERREG0	0x03#define LCDTG_POWERREG1	0x04#define LCDTG_GPOR3	0x05#define LCDTG_PICTRL	0x06#define LCDTG_POLCTRL	0x07static int bl_intensity, bl_power;static void spitz_bl_update(struct pxa2xx_state_s *s){    if (bl_power && bl_intensity)        spitz_printf("LCD Backlight now at %i/63\n", bl_intensity);    else        spitz_printf("LCD Backlight now off\n");}static inline void spitz_bl_bit5(void *opaque, int line, int level){    int prev = bl_intensity;    if (level)        bl_intensity &= ~0x20;    else        bl_intensity |= 0x20;    if (bl_power && prev != bl_intensity)        spitz_bl_update((struct pxa2xx_state_s *) opaque);}static inline void spitz_bl_power(void *opaque, int line, int level){    bl_power = !!level;    spitz_bl_update((struct pxa2xx_state_s *) opaque);}static void spitz_lcdtg_dac_put(void *opaque, uint8_t cmd){    int addr, value;    addr = cmd >> 5;    value = cmd & 0x1f;    switch (addr) {    case LCDTG_RESCTL:        if (value)            spitz_printf("LCD in QVGA mode\n");        else            spitz_printf("LCD in VGA mode\n");        break;    case LCDTG_DUTYCTRL:        bl_intensity &= ~0x1f;        bl_intensity |= value;        if (bl_power)            spitz_bl_update((struct pxa2xx_state_s *) opaque);        break;    case LCDTG_POWERREG0:        /* Set common voltage to M62332FP */        break;    }}/* SSP devices */#define CORGI_SSP_PORT		2#define SPITZ_GPIO_LCDCON_CS	53#define SPITZ_GPIO_ADS7846_CS	14#define SPITZ_GPIO_MAX1111_CS	20#define SPITZ_GPIO_TP_INT	11static int lcd_en, ads_en, max_en;static struct max111x_s *max1111;static struct ads7846_state_s *ads7846;/* "Demux" the signal based on current chipselect */static uint32_t corgi_ssp_read(void *opaque){    if (lcd_en)        return 0;    if (ads_en)        return ads7846_read(ads7846);    if (max_en)        return max111x_read(max1111);    return 0;}static void corgi_ssp_write(void *opaque, uint32_t value){    if (lcd_en)        spitz_lcdtg_dac_put(opaque, value);    if (ads_en)        ads7846_write(ads7846, value);    if (max_en)        max111x_write(max1111, value);}static void corgi_ssp_gpio_cs(void *opaque, int line, int level){    switch (line) {    case 0:        lcd_en = !level;        break;    case 1:        ads_en = !level;        break;    case 2:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
caoporm超碰国产精品| 99精品桃花视频在线观看| 青青草原综合久久大伊人精品 | 国产精品国产三级国产三级人妇| 久久久久久久久久久久久久久99 | 国产精品影视在线观看| 国产盗摄一区二区| 成人精品视频一区二区三区| 99在线热播精品免费| 欧美视频一区在线观看| 这里是久久伊人| 久久久久国产精品麻豆| 亚洲在线视频网站| 蜜桃av一区二区| 成人午夜av在线| 6080午夜不卡| 综合久久久久久| 日韩成人一区二区| 不卡免费追剧大全电视剧网站| 色屁屁一区二区| 久久久午夜电影| 亚洲精品国产成人久久av盗摄 | 奇米综合一区二区三区精品视频| 国产一区二区三区综合 | 久久久久国产精品免费免费搜索| 亚洲精品高清在线观看| 国产69精品久久久久毛片 | 欧美日韩国产中文| 中国色在线观看另类| 蜜臀av性久久久久蜜臀av麻豆| 国产亚洲人成网站| 国产精品久久久久9999吃药| 亚洲综合男人的天堂| 成人短视频下载| 久久精品免视看| 精品一区二区久久久| 欧美一区二区福利视频| 亚洲国产视频网站| 日本韩国欧美一区二区三区| 久久精品一区二区三区不卡 | 国产不卡在线一区| 日韩视频在线你懂得| 亚洲va天堂va国产va久| 在线看不卡av| 亚洲综合精品久久| 欧美一a一片一级一片| 亚洲一级二级三级在线免费观看| 91婷婷韩国欧美一区二区| 亚洲视频免费在线| 欧美专区在线观看一区| 亚洲成人免费视| 91精品国模一区二区三区| 午夜视频一区二区三区| 日韩一区二区电影网| 国模娜娜一区二区三区| 日韩免费看的电影| 成人深夜在线观看| 中文字幕一区二区三区四区| 91豆麻精品91久久久久久| 亚洲五码中文字幕| 精品欧美一区二区三区精品久久| 精品亚洲成a人| 国产精品久久久久久久久晋中| 91麻豆免费看| 免费在线观看一区二区三区| 久久精品一级爱片| 欧美性一级生活| 国产自产2019最新不卡| 亚洲欧美电影一区二区| 在线播放欧美女士性生活| 国产精品99久久久久久久女警| 亚洲欧洲精品一区二区三区| 欧美精品vⅰdeose4hd| 国产大陆亚洲精品国产| 亚洲电影视频在线| 久久久三级国产网站| 欧美男男青年gay1069videost | 91精品国产综合久久久久久久久久| 男人的天堂亚洲一区| 亚洲欧美日韩国产另类专区| 欧美一级黄色片| 欧美在线观看一区二区| 国产成人av一区二区| 日本不卡视频在线| 亚洲v精品v日韩v欧美v专区 | 欧美综合一区二区三区| 国产精品12区| 国内精品视频一区二区三区八戒 | 国产一区欧美一区| 日本最新不卡在线| 亚洲va欧美va人人爽午夜| 中文字幕在线免费不卡| 久久精品欧美一区二区三区麻豆| 在线不卡欧美精品一区二区三区| 欧美中文字幕一区| 国产乱妇无码大片在线观看| 欧美精品一区二区久久婷婷| 91美女片黄在线观看91美女| yourporn久久国产精品| 成人国产亚洲欧美成人综合网| 久久国产生活片100| 秋霞午夜av一区二区三区| 午夜精品视频一区| 亚洲国产欧美日韩另类综合| 亚洲综合清纯丝袜自拍| 亚洲一区二区欧美日韩| 亚洲国产精品久久人人爱蜜臀| 亚洲欧美aⅴ...| 一级日本不卡的影视| 亚洲一区电影777| 日本成人在线视频网站| 日本不卡一区二区三区高清视频| 亚洲成人第一页| 精品一区二区三区蜜桃| 国产精品综合一区二区三区| 国产suv精品一区二区883| 99在线精品免费| 欧美浪妇xxxx高跟鞋交| 欧美一区二区美女| 国产精品久久久久久久裸模| 亚洲黄色片在线观看| 日本亚洲最大的色成网站www| 男女男精品网站| 亚洲三级在线观看| 亚洲国产精品一区二区www在线| 肉色丝袜一区二区| 成av人片一区二区| 欧美肥大bbwbbw高潮| 国产欧美日韩综合精品一区二区 | 亚洲激情校园春色| 久久成人18免费观看| 色综合色综合色综合色综合色综合| 欧美日韩精品一区二区天天拍小说| 欧美一区二区三区在线观看| 亚洲国产精品t66y| 日本一不卡视频| 欧美日韩另类一区| 最新国产の精品合集bt伙计| 久久9热精品视频| 欧美精品一二三区| 亚洲一区二区视频| 成人黄色av电影| 久久久美女艺术照精彩视频福利播放| 自拍偷拍亚洲激情| 高清视频一区二区| 日韩美女视频一区二区| 亚州成人在线电影| www.欧美精品一二区| 久久综合给合久久狠狠狠97色69| 午夜精品视频一区| 欧美精品一级二级| 亚瑟在线精品视频| 在线电影国产精品| 亚洲成人一区二区在线观看| 欧美体内she精高潮| 亚洲午夜免费视频| 在线精品视频一区二区| 亚洲一区在线观看免费| 在线观看中文字幕不卡| 一区二区三区不卡视频在线观看| 成人激情小说网站| ...xxx性欧美| 欧美吻胸吃奶大尺度电影| 亚洲福利视频一区二区| 911国产精品| 国模娜娜一区二区三区| 中文字幕一区三区| 色av成人天堂桃色av| 日韩av电影免费观看高清完整版| 日韩精品一区二区三区四区视频| 日韩国产一区二| 欧美亚洲高清一区| 日本麻豆一区二区三区视频| 亚洲精品在线观看网站| 成人中文字幕电影| 亚洲国产成人av| 国产欧美一区二区精品秋霞影院| 国产91综合网| 亚洲国产精品一区二区尤物区| 日韩欧美在线影院| 99久久久免费精品国产一区二区 | 日韩福利电影在线| 91丝袜国产在线播放| 中文字幕一区二区三区在线不卡| 成人av网址在线| 青椒成人免费视频| 亚洲视频在线观看一区| 日韩一区二区电影| 色先锋资源久久综合| 精品一区二区三区视频| 亚洲综合一区二区精品导航| 久久亚洲欧美国产精品乐播| 色屁屁一区二区| 91免费看`日韩一区二区| 亚洲精品亚洲人成人网| 在线观看视频91| 欧美在线短视频| 国产一区欧美二区| 丝袜美腿亚洲一区二区图片| 亚洲精品日产精品乱码不卡|