Revision c3affe56 hw/apic.c

b/hw/apic.c
151 151

  
152 152
    switch ((lvt >> 8) & 7) {
153 153
    case APIC_DM_SMI:
154
        cpu_interrupt(&s->cpu->env, CPU_INTERRUPT_SMI);
154
        cpu_interrupt(CPU(s->cpu), CPU_INTERRUPT_SMI);
155 155
        break;
156 156

  
157 157
    case APIC_DM_NMI:
158
        cpu_interrupt(&s->cpu->env, CPU_INTERRUPT_NMI);
158
        cpu_interrupt(CPU(s->cpu), CPU_INTERRUPT_NMI);
159 159
        break;
160 160

  
161 161
    case APIC_DM_EXTINT:
162
        cpu_interrupt(&s->cpu->env, CPU_INTERRUPT_HARD);
162
        cpu_interrupt(CPU(s->cpu), CPU_INTERRUPT_HARD);
163 163
        break;
164 164

  
165 165
    case APIC_DM_FIXED:
......
248 248

  
249 249
        case APIC_DM_SMI:
250 250
            foreach_apic(apic_iter, deliver_bitmask,
251
                cpu_interrupt(&apic_iter->cpu->env, CPU_INTERRUPT_SMI)
251
                cpu_interrupt(CPU(apic_iter->cpu), CPU_INTERRUPT_SMI)
252 252
            );
253 253
            return;
254 254

  
255 255
        case APIC_DM_NMI:
256 256
            foreach_apic(apic_iter, deliver_bitmask,
257
                cpu_interrupt(&apic_iter->cpu->env, CPU_INTERRUPT_NMI)
257
                cpu_interrupt(CPU(apic_iter->cpu), CPU_INTERRUPT_NMI)
258 258
            );
259 259
            return;
260 260

  
261 261
        case APIC_DM_INIT:
262 262
            /* normal INIT IPI sent to processors */
263 263
            foreach_apic(apic_iter, deliver_bitmask,
264
                         cpu_interrupt(&apic_iter->cpu->env,
264
                         cpu_interrupt(CPU(apic_iter->cpu),
265 265
                                       CPU_INTERRUPT_INIT)
266 266
            );
267 267
            return;
......
363 363
/* signal the CPU if an irq is pending */
364 364
static void apic_update_irq(APICCommonState *s)
365 365
{
366
    CPUState *cpu = CPU(s->cpu);
366
    CPUState *cpu;
367 367

  
368 368
    if (!(s->spurious_vec & APIC_SV_ENABLE)) {
369 369
        return;
370 370
    }
371
    cpu = CPU(s->cpu);
371 372
    if (!qemu_cpu_is_self(cpu)) {
372
        cpu_interrupt(&s->cpu->env, CPU_INTERRUPT_POLL);
373
        cpu_interrupt(cpu, CPU_INTERRUPT_POLL);
373 374
    } else if (apic_irq_pending(s) > 0) {
374
        cpu_interrupt(&s->cpu->env, CPU_INTERRUPT_HARD);
375
        cpu_interrupt(cpu, CPU_INTERRUPT_HARD);
375 376
    }
376 377
}
377 378

  
......
478 479
static void apic_startup(APICCommonState *s, int vector_num)
479 480
{
480 481
    s->sipi_vector = vector_num;
481
    cpu_interrupt(&s->cpu->env, CPU_INTERRUPT_SIPI);
482
    cpu_interrupt(CPU(s->cpu), CPU_INTERRUPT_SIPI);
482 483
}
483 484

  
484 485
void apic_sipi(DeviceState *d)

Also available in: Unified diff