qemu/include/hw/pci-host
Bernhard Beschow faa2150a52 hw/pci-host/designware: Prevent device attachment on internal PCIe root bus
On the real device, the PCIe root bus is only connected to a PCIe bridge and
does not allow for direct attachment of devices. Doing so in QEMU results in no
PCI devices being detected by Linux. Instead, PCI devices should plug into the
secondary PCIe bus spawned by the internal PCIe bridge.

Unfortunately, QEMU defaults to plugging devices into the PCIe root bus. To work
around this, every PCI device created on the command line needs an extra
`bus=dw-pcie` option which is error prone. Fix that by marking the PCIe root bus
as full which makes QEMU decend into the child PCIe bus.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-id: 20250223114708.1780-3-shentey@gmail.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2025-02-25 15:32:58 +00:00
..
articia.h hw/pci-host: Add emulation of Mai Logic Articia S 2023-11-07 12:59:29 -03:00
astro.h hw/pci-host/astro: Add LMMIO range support 2025-02-04 22:57:34 +01:00
bonito.h hw/pci-host/bonito: Declare TYPE_BONITO_PCI_HOST_BRIDGE in header 2023-01-13 16:22:57 +01:00
designware.h hw/pci-host/designware: Prevent device attachment on internal PCIe root bus 2025-02-25 15:32:58 +00:00
dino.h include/: spelling fixes 2023-09-08 13:08:52 +03:00
gpex.h hw/pci-host/gpex: Allow more than 4 legacy IRQs 2024-12-30 20:04:50 +01:00
grackle.h hw/ppc/mac.h: Move grackle-pcihost type declaration out to a header 2022-10-31 18:48:23 +00:00
i440fx.h hw/pci-host/i440fx: Resolve i440fx_init() 2023-07-10 16:29:17 -04:00
ls7a.h hw/loongarch: virt: support up to 4 serial ports 2024-09-12 20:57:50 +08:00
mv64361.h hw/pci-host: Add emulation of Marvell MV64361 PPC system controller 2021-05-04 11:41:25 +10:00
pam.h hw/pci-host/pam: Make init_pam() usage more readable 2023-05-19 10:30:46 -04:00
pnv_phb3.h hw/ppc: Avoid using Monitor in pnv_phb3_msi_pic_print_info() 2024-06-19 12:40:49 +02:00
pnv_phb3_regs.h ppc: Define SETFIELD for the ppc target 2022-07-06 10:22:38 -03:00
pnv_phb4.h hw/ppc: Avoid using Monitor in pnv_phb4_pic_print_info() 2024-06-19 12:40:49 +02:00
pnv_phb4_regs.h hw/pci-host: Update PHB5 XSCOM registers 2023-11-07 15:49:41 -03:00
ppc4xx.h hw/ppc/ppc4xx_pci: Extract PCI host definitions to hw/pci-host/ppc4xx.h 2024-02-22 12:47:40 +01:00
ppce500.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
q35.h q35: Remove unused mch_mcfg_base 2024-10-03 17:26:05 +03:00
remote.h Clean up header guards that don't match their file name 2022-05-11 16:49:06 +02:00
sabre.h include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
spapr.h ppc/spapr: remove deprecated machine pseries-2.7 2024-11-04 09:10:27 +10:00
uninorth.h uninorth: use qdev gpios for PCI IRQs 2020-10-18 16:21:42 +01:00
xilinx-pcie.h include/hw/pci: Break inclusion loop pci_bridge.h and cxl.h 2023-01-08 01:54:22 -05:00