Message ID | 20200205232016.588202-3-lvivier@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ppc/pnv: fix build dependencies | expand |
On 06/02/2020 00.20, Laurent Vivier wrote: > When PHB4 bridge has been added, the dependencies to PCIE_PORT has been > added to XIVE_SPAPR and indirectly to PSERIES. > The build of the PowerNV machine is fine while we also build the PSERIES > machine. > If we disable the PSERIES machine, the PowerNV build fails because the > PCI Express files are not built: > > /usr/bin/ld: hw/ppc/pnv.o: in function `pnv_chip_power8_pic_print_info': > .../hw/ppc/pnv.c:623: undefined reference to `pnv_phb3_msi_pic_print_info' > /usr/bin/ld: hw/ppc/pnv.o: in function `pnv_chip_power9_pic_print_info': > .../hw/ppc/pnv.c:639: undefined reference to `pnv_phb4_pic_print_info' > /usr/bin/ld: ../hw/usb/hcd-ehci-pci.o: in function `usb_ehci_pci_write_config': > .../hw/usb/hcd-ehci-pci.c:129: undefined reference to `pci_default_write_config' > /usr/bin/ld: ../hw/usb/hcd-ehci-pci.o: in function `usb_ehci_pci_realize': > .../hw/usb/hcd-ehci-pci.c:68: undefined reference to `pci_allocate_irq' > /usr/bin/ld: .../hw/usb/hcd-ehci-pci.c:72: undefined reference to `pci_register_bar' > /usr/bin/ld: ../hw/usb/hcd-ehci-pci.o:(.data.rel+0x50): undefined reference to `vmstate_pci_device' > > This patch fixes the problem by adding needed dependencies to POWERNV. > > Fixes: 4f9924c4d4cf ("ppc/pnv: Add models for POWER9 PHB4 PCIe Host bridge") > Signed-off-by: Laurent Vivier <lvivier@redhat.com> > --- > > Notes: > v2: remove PCI already selected by PCI_EXPRESS > remove PCIE_PORT, set by default to yes with PCI_DEVICES > > hw/ppc/Kconfig | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig > index 354828bf132f..dd86e664d215 100644 > --- a/hw/ppc/Kconfig > +++ b/hw/ppc/Kconfig > @@ -29,6 +29,8 @@ config POWERNV > select XICS > select XIVE > select FDT_PPC > + select PCI_EXPRESS > + select MSI_NONBROKEN When only using CONFIG_POWERNV=y in the default-config and using "configure --without-default-devices --target-list=ppc64-softmmu" I still get a linking error: LINK ppc64-softmmu/qemu-system-ppc64 hw/ppc/pnv.o: In function `pnv_init': hw/ppc/pnv.c:846: undefined reference to `serial_hds_isa_init' collect2: error: ld returned 1 exit status make[1]: *** [Makefile:206: qemu-system-ppc64] Error 1 Looks like there is still a "select SERIAL" or something similar missing here? Thomas
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig index 354828bf132f..dd86e664d215 100644 --- a/hw/ppc/Kconfig +++ b/hw/ppc/Kconfig @@ -29,6 +29,8 @@ config POWERNV select XICS select XIVE select FDT_PPC + select PCI_EXPRESS + select MSI_NONBROKEN config PPC405 bool @@ -135,8 +137,6 @@ config XIVE_SPAPR default y depends on PSERIES select XIVE - select PCI - select PCIE_PORT config XIVE_KVM bool
When PHB4 bridge has been added, the dependencies to PCIE_PORT has been added to XIVE_SPAPR and indirectly to PSERIES. The build of the PowerNV machine is fine while we also build the PSERIES machine. If we disable the PSERIES machine, the PowerNV build fails because the PCI Express files are not built: /usr/bin/ld: hw/ppc/pnv.o: in function `pnv_chip_power8_pic_print_info': .../hw/ppc/pnv.c:623: undefined reference to `pnv_phb3_msi_pic_print_info' /usr/bin/ld: hw/ppc/pnv.o: in function `pnv_chip_power9_pic_print_info': .../hw/ppc/pnv.c:639: undefined reference to `pnv_phb4_pic_print_info' /usr/bin/ld: ../hw/usb/hcd-ehci-pci.o: in function `usb_ehci_pci_write_config': .../hw/usb/hcd-ehci-pci.c:129: undefined reference to `pci_default_write_config' /usr/bin/ld: ../hw/usb/hcd-ehci-pci.o: in function `usb_ehci_pci_realize': .../hw/usb/hcd-ehci-pci.c:68: undefined reference to `pci_allocate_irq' /usr/bin/ld: .../hw/usb/hcd-ehci-pci.c:72: undefined reference to `pci_register_bar' /usr/bin/ld: ../hw/usb/hcd-ehci-pci.o:(.data.rel+0x50): undefined reference to `vmstate_pci_device' This patch fixes the problem by adding needed dependencies to POWERNV. Fixes: 4f9924c4d4cf ("ppc/pnv: Add models for POWER9 PHB4 PCIe Host bridge") Signed-off-by: Laurent Vivier <lvivier@redhat.com> --- Notes: v2: remove PCI already selected by PCI_EXPRESS remove PCIE_PORT, set by default to yes with PCI_DEVICES hw/ppc/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)