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