2011-9-14 21:31:07

来源:互联网 发布:淘宝全球购官网直购 编辑:程序博客网 时间:2024/05/16 17:12
 


2011-9-14 21:31:07

struct goldfish_int_state {
    struct goldfish_device dev;
    uint32_t level;
    uint32_t pending_count;
    uint32_t irq_enabled;
    uint32_t fiq_enabled;
    qemu_irq parent_irq;
    qemu_irq parent_fiq;
};

goldfish里中断是作为一个设备来处理的

static void goldfish_int_save(QEMUFile*  f, void*  opaque)
{
    struct goldfish_int_state*  s = opaque;

    qemu_put_struct(f, goldfish_int_fields, s);
}

就一序列化吧

static int  goldfish_int_load(QEMUFile*  f, void*  opaque, int  version_id)
{
    struct goldfish_int_state*  s = opaque;

    if (version_id != GOLDFISH_INT_SAVE_VERSION)
        return -1;

    return qemu_get_struct(f, goldfish_int_fields, s);
}

反序列化

struct IRQState {
    qemu_irq_handler handler;
    void *opaque;
    int n;
};

irq的状态

这个挺简单

void qemu_set_irq(qemu_irq irq, int level)
{
    if (!irq)
        return;

    irq->handler(irq->opaque, irq->n, level);
}

设置irq 只是调用了一下处理函数而已

现在就将图标换一下

现在就是绑定了一个服务 

前台只是用来和后台进行通信

当前获取连接的状态的改变?

原先的是控制是否允许进行连接?

原创粉丝点击