Revision 96051119 hw/pc_piix.c

b/hw/pc_piix.c
33 33
#include "ide.h"
34 34
#include "kvm.h"
35 35
#include "sysemu.h"
36
#include "sysbus.h"
36 37

  
37 38
#define MAX_IDE_BUS 2
38 39

  
......
40 41
static const int ide_iobase2[MAX_IDE_BUS] = { 0x3f6, 0x376 };
41 42
static const int ide_irq[MAX_IDE_BUS] = { 14, 15 };
42 43

  
44
static void ioapic_init(IsaIrqState *isa_irq_state)
45
{
46
    DeviceState *dev;
47
    SysBusDevice *d;
48
    unsigned int i;
49

  
50
    dev = qdev_create(NULL, "ioapic");
51
    qdev_init_nofail(dev);
52
    d = sysbus_from_qdev(dev);
53
    sysbus_mmio_map(d, 0, 0xfec00000);
54

  
55
    for (i = 0; i < IOAPIC_NUM_PINS; i++) {
56
        isa_irq_state->ioapic[i] = qdev_get_gpio_in(dev, i);
57
    }
58
}
59

  
43 60
/* PC hardware initialisation */
44 61
static void pc_init1(ram_addr_t ram_size,
45 62
                     const char *boot_device,
......
77 94
    isa_irq_state = qemu_mallocz(sizeof(*isa_irq_state));
78 95
    isa_irq_state->i8259 = i8259;
79 96
    if (pci_enabled) {
80
        isa_irq_state->ioapic = ioapic_init();
97
        ioapic_init(isa_irq_state);
81 98
    }
82 99
    isa_irq = qemu_allocate_irqs(isa_irq_handler, isa_irq_state, 24);
83 100

  

Also available in: Unified diff