Revision cf6d64bf hw/pc.c

b/hw/pc.c
145 145
{
146 146
    int intno;
147 147

  
148
    intno = apic_get_interrupt(env);
148
    intno = apic_get_interrupt(env->apic_state);
149 149
    if (intno >= 0) {
150 150
        /* set irq request if a PIC irq is still pending */
151 151
        /* XXX: improve that */
......
153 153
        return intno;
154 154
    }
155 155
    /* read the irq from the PIC */
156
    if (!apic_accept_pic_intr(env))
156
    if (!apic_accept_pic_intr(env->apic_state)) {
157 157
        return -1;
158
    }
158 159

  
159 160
    intno = pic_read_irq(isa_pic);
160 161
    return intno;
......
167 168
    DPRINTF("pic_irqs: %s irq %d\n", level? "raise" : "lower", irq);
168 169
    if (env->apic_state) {
169 170
        while (env) {
170
            if (apic_accept_pic_intr(env))
171
                apic_deliver_pic_intr(env, level);
171
            if (apic_accept_pic_intr(env->apic_state)) {
172
                apic_deliver_pic_intr(env->apic_state, level);
173
            }
172 174
            env = env->next_cpu;
173 175
        }
174 176
    } else {

Also available in: Unified diff