xemu/hw/pci-host
Philippe Mathieu-Daudé 50a2429194 hw/pci-host/gt64120: Set PCI base address register write mask
When booting Linux we see:

  PCI host bridge to bus 0000:00
  pci_bus 0000:00: root bus resource [mem 0x10000000-0x17ffffff]
  pci_bus 0000:00: root bus resource [io  0x1000-0x1fffff]
  pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
  pci 0000:00:00.0: [11ab:4620] type 00 class 0x060000
  pci 0000:00:00.0: [Firmware Bug]: reg 0x14: invalid BAR (can't size)
  pci 0000:00:00.0: [Firmware Bug]: reg 0x18: invalid BAR (can't size)
  pci 0000:00:00.0: [Firmware Bug]: reg 0x1c: invalid BAR (can't size)
  pci 0000:00:00.0: [Firmware Bug]: reg 0x20: invalid BAR (can't size)
  pci 0000:00:00.0: [Firmware Bug]: reg 0x24: invalid BAR (can't size)

This is due to missing base address register write mask.
Add it to get:

  PCI host bridge to bus 0000:00
  pci_bus 0000:00: root bus resource [mem 0x10000000-0x17ffffff]
  pci_bus 0000:00: root bus resource [io  0x1000-0x1fffff]
  pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
  pci 0000:00:00.0: [11ab:4620] type 00 class 0x060000
  pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff pref]
  pci 0000:00:00.0: reg 0x14: [mem 0x01000000-0x01000fff pref]
  pci 0000:00:00.0: reg 0x18: [mem 0x1c000000-0x1c000fff]
  pci 0000:00:00.0: reg 0x1c: [mem 0x1f000000-0x1f000fff]
  pci 0000:00:00.0: reg 0x20: [mem 0x1be00000-0x1be00fff]
  pci 0000:00:00.0: reg 0x24: [io  0x14000000-0x14000fff]

Since this device is only used by MIPS machines which aren't
versioned, we don't need to update migration compat machinery.

Mention the datasheet referenced. Remove the "Malta assumptions
ahead" comment since the reset values from the datasheet are used.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-Id: <20240802213122.86852-2-philmd@linaro.org>
2024-08-06 16:24:14 +02:00
..
articia.c hw/pci-host: Add emulation of Mai Logic Articia S 2023-11-07 12:59:29 -03:00
astro.c hw/pci-host/astro: Implement Hard Fail and Soft Fail mode 2024-02-11 13:20:23 +01:00
bonito.c hw, target: Add ResetType argument to hold and exit phase methods 2024-04-25 10:21:06 +01:00
designware.c pci-host: designware: Limit value range of iATU viewport register 2024-02-02 13:51:58 +00:00
dino.c hw/pci-host: Constify VMState 2023-12-30 07:38:06 +11:00
gpex-acpi.c acpi/gpex: Create PCI link devices outside PCI root bridge 2024-07-22 20:15:42 -04:00
gpex.c hw/pci-host/gpex: Define properties for MMIO ranges 2024-01-10 18:47:47 +10:00
grackle.c hw/pci-host: Use register definitions from PCI standard 2023-01-27 11:47:02 -05:00
gt64120.c hw/pci-host/gt64120: Set PCI base address register write mask 2024-08-06 16:24:14 +02:00
i440fx.c hw/pci-host: Constify VMState 2023-12-30 07:38:06 +11:00
Kconfig hw/ppc/ppc440_pcix: Move ppc440_pcix.c to hw/pci-host/ 2024-02-22 12:47:40 +01:00
meson.build hw/ppc/ppc440_pcix: Move ppc440_pcix.c to hw/pci-host/ 2024-02-22 12:47:40 +01:00
mv643xx.h mv64361: Add dummy gigabit ethernet PHY access registers 2023-07-07 04:18:26 -03:00
mv64361.c mv64361: Add dummy gigabit ethernet PHY access registers 2023-07-07 04:18:26 -03:00
pam.c hw/pci-host/pam: Make init_pam() usage more readable 2023-05-19 10:30:46 -04:00
pnv_phb.c hw, target: Add ResetType argument to hold and exit phase methods 2024-04-25 10:21:06 +01:00
pnv_phb.h include/hw/ppc include/hw/pci-host: Drop extra typedefs 2023-01-20 07:25:22 +01:00
pnv_phb3.c hw/pci: modify pci_setup_iommu() to set PCIIOMMUOps 2023-11-03 09:20:31 +01:00
pnv_phb3_msi.c hw/ppc: Avoid using Monitor in pnv_phb3_msi_pic_print_info() 2024-06-19 12:40:49 +02:00
pnv_phb3_pbcq.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
pnv_phb4.c hw/ppc: Avoid using Monitor in pnv_phb4_pic_print_info() 2024-06-19 12:40:49 +02:00
pnv_phb4_pec.c hw/pci-host: Update PHB5 XSCOM registers 2023-11-07 15:49:41 -03:00
ppc4xx_pci.c hw/ppc/ppc4xx_pci: Move ppc4xx_pci.c to hw/pci-host/ 2024-02-22 12:47:40 +01:00
ppc440_pcix.c hw/pci-host/ppc440_pcix: Do not expose a bridge device on PCI bus 2024-04-15 13:07:15 +02:00
ppce500.c hw/ppc/ppc4xx_pci: Move ppc4xx_pci.c to hw/pci-host/ 2024-02-22 12:47:40 +01:00
q35.c q35: Introduce smm_ranges property for q35-pci-host 2024-04-23 17:35:25 +02:00
raven.c hw/pci-host/raven.c: Mark raven_io_ops as implementing unaligned accesses 2024-02-15 11:30:45 +00:00
remote.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
sabre.c hw/pci: modify pci_setup_iommu() to set PCIIOMMUOps 2023-11-03 09:20:31 +01:00
sh_pci.c hw/pci-host/sh_pcic: Replace magic value by proper definition 2023-10-19 23:13:28 +02:00
trace-events hw/ppc/ppc440_pcix: Move ppc440_pcix.c to hw/pci-host/ 2024-02-22 12:47:40 +01:00
trace.h
uninorth.c hw/pci-host: Use register definitions from PCI standard 2023-01-27 11:47:02 -05:00
versatile.c hw/pci-host: Constify VMState 2023-12-30 07:38:06 +11:00
xen_igd_pt.c
xilinx-pcie.c pci: drop redundant PCIDeviceClass::is_bridge field 2022-12-21 07:32:24 -05:00