The changeset of 2c8d9340203c7f19265fd4cb2341f568217a3af6 prevents isa_irq_handler() from NULL refering of IsaIrqState::ioapic. However it would be better to initialize the member before reference.
Signed-off-by: Isaku Yamahata <yamah...@valinux.co.jp> --- hw/pc.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/pc.c b/hw/pc.c index 8c1b7ea..3958874 100644 --- a/hw/pc.c +++ b/hw/pc.c @@ -1101,6 +1101,9 @@ static void pc_init1(ram_addr_t ram_size, i8259 = i8259_init(cpu_irq[0]); isa_irq_state = qemu_mallocz(sizeof(*isa_irq_state)); isa_irq_state->i8259 = i8259; + if (pci_enabled) { + isa_irq_state->ioapic = ioapic_init(); + } isa_irq = qemu_allocate_irqs(isa_irq_handler, isa_irq_state, 24); if (pci_enabled) { @@ -1144,9 +1147,6 @@ static void pc_init1(ram_addr_t ram_size, register_ioport_read(0x92, 1, 1, ioport92_read, NULL); register_ioport_write(0x92, 1, 1, ioport92_write, NULL); - if (pci_enabled) { - isa_irq_state->ioapic = ioapic_init(); - } pit = pit_init(0x40, isa_reserve_irq(0)); pcspk_init(pit); if (!no_hpet) { -- 1.6.5.4