On 5/17/21 4:49 AM, Bin Meng wrote: > On Sun, May 16, 2021 at 1:52 AM Philippe Mathieu-Daudé > <phi...@redhat.com> wrote: >> >> From: Philippe Mathieu-Daudé <f4...@amsat.org> >> >> Looking at the MV64340 model source, there is a dependency on the >> 8259 interrupt controller: >> >> 523 case MV64340_PCI_1_INTERRUPT_ACKNOWLEDGE_VIRTUAL_REG: >> 524 /* FIXME: Should this be sent via the PCI bus somehow? */ >> 525 if (s->gpp_int_level && (s->gpp_value & BIT(31))) { >> 526 ret = pic_read_irq(isa_pic); >> 527 } >> 528 break; >> >> Add it to Kconfig to avoid the following build failure: >> >> /usr/bin/ld: libcommon.fa.p/hw_pci-host_mv64361.c.o: in function >> `mv64361_read': >> hw/pci-host/mv64361.c:526: undefined reference to `isa_pic' >> /usr/bin/ld: hw/pci-host/mv64361.c:526: undefined reference to >> `pic_read_irq' >> >> Fixes: dcdf98a9015 ("hw/pci-host: Add emulation of Marvell MV64361 PPC >> system controller") >> Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> >> --- >> hw/pci-host/Kconfig | 1 + >> 1 file changed, 1 insertion(+) >> > > Reviewed-by: Bin Meng <bmeng...@gmail.com>
Thank you :) > There are some more codes that contain isa_pic. Maybe worth an additional > check. > > ./hw/i386/x86.c:573: intno = pic_read_irq(isa_pic); > ./hw/intc/i8259.c:58:DeviceState *isa_pic; > ./hw/intc/i8259.c:429: isa_pic = dev; > ./hw/intc/apic.c:387: } else if (!apic_accept_pic_intr(dev) || > !pic_get_output(isa_pic)) { > ./hw/intc/apic.c:562: if (!apic_accept_pic_intr(dev) || > !pic_get_output(isa_pic)) { > ./hw/intc/apic.c:615: return isa_pic != NULL; > ./hw/intc/ioapic.c:78: info->vector = pic_read_irq(isa_pic); > ./hw/hppa/pci.c:67: return pic_read_irq(isa_pic); > ./hw/mips/gt64xxx_pci.c:777: val = pic_read_irq(isa_pic); > ./hw/alpha/pci.c:70: return pic_read_irq(isa_pic); > ./hw/pci-host/mv64361.c:526: ret = pic_read_irq(isa_pic); > ./hw/pci-host/prep.c:121: return pic_read_irq(isa_pic); > ./include/hw/intc/i8259.h:6:extern DeviceState *isa_pic; I'll have a look, by my secret plan is to remove the global isa_pic :)