From 95f13176f56de2d56ebb014bf8b5d39de209c08a Mon Sep 17 00:00:00 2001 From: zbb Date: Wed, 16 Sep 2015 23:34:51 +0000 Subject: Add domain support to PCI bus allocation When the system has more than a single PCI domain, the bus numbers are not unique, thus they cannot be used for "pci" device numbering. Change bus numbers to -1 (i.e. to-be-determined automatically) wherever the code did not care about domains. Reviewed by: jhb Obtained from: Semihalf Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3406 --- sys/arm/versatile/versatile_pci.c | 2 +- sys/arm/xscale/i80321/i80321_pci.c | 2 +- sys/arm/xscale/i8134x/i81342_pci.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'sys/arm') diff --git a/sys/arm/versatile/versatile_pci.c b/sys/arm/versatile/versatile_pci.c index 10f3119..f5ef6e9 100644 --- a/sys/arm/versatile/versatile_pci.c +++ b/sys/arm/versatile/versatile_pci.c @@ -266,7 +266,7 @@ versatile_pci_attach(device_t dev) versatile_pci_conf_write_4((slot << 11) + PCIR_COMMAND, val); } - device_add_child(dev, "pci", 0); + device_add_child(dev, "pci", -1); return (bus_generic_attach(dev)); } diff --git a/sys/arm/xscale/i80321/i80321_pci.c b/sys/arm/xscale/i80321/i80321_pci.c index 4e28148..5f78577 100644 --- a/sys/arm/xscale/i80321/i80321_pci.c +++ b/sys/arm/xscale/i80321/i80321_pci.c @@ -117,7 +117,7 @@ i80321_pci_attach(device_t dev) if (rman_init(&sc->sc_irq_rman) != 0 || rman_manage_region(&sc->sc_irq_rman, 26, 32) != 0) panic("i80321_pci_probe: failed to set up IRQ rman"); - device_add_child(dev, "pci",busno); + device_add_child(dev, "pci", -1); return (bus_generic_attach(dev)); } diff --git a/sys/arm/xscale/i8134x/i81342_pci.c b/sys/arm/xscale/i8134x/i81342_pci.c index 68d2fbf..d9d978c 100644 --- a/sys/arm/xscale/i8134x/i81342_pci.c +++ b/sys/arm/xscale/i8134x/i81342_pci.c @@ -209,7 +209,7 @@ i81342_pci_attach(device_t dev) } bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_ISR, bus_space_read_4(sc->sc_st, sc->sc_atu_sh, ATU_ISR) & ATUX_ISR_ERRMSK); - device_add_child(dev, "pci", busno); + device_add_child(dev, "pci", -1); return (bus_generic_attach(dev)); } -- cgit v1.1