svn commit: r287882 - in head/sys: arm/versatile arm/xscale/i80321 arm/xscale/i8134x dev/acpica dev/pci dev/xen/pcifront mips/adm5120 mips/atheros mips/cavium mips/idt mips/malta mips/nlm mips/rmi ...

Zbigniew Bodek zbb at FreeBSD.org
Wed Sep 16 23:34:58 UTC 2015


Author: zbb
Date: Wed Sep 16 23:34:51 2015
New Revision: 287882
URL: https://svnweb.freebsd.org/changeset/base/287882

Log:
  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

Modified:
  head/sys/arm/versatile/versatile_pci.c
  head/sys/arm/xscale/i80321/i80321_pci.c
  head/sys/arm/xscale/i8134x/i81342_pci.c
  head/sys/dev/acpica/acpi_pcib.c
  head/sys/dev/pci/pci_pci.c
  head/sys/dev/xen/pcifront/pcifront.c
  head/sys/mips/adm5120/admpci.c
  head/sys/mips/atheros/ar71xx_pci.c
  head/sys/mips/atheros/ar724x_pci.c
  head/sys/mips/atheros/qca955x_pci.c
  head/sys/mips/cavium/octopci.c
  head/sys/mips/idt/idtpci.c
  head/sys/mips/malta/gt_pci.c
  head/sys/mips/nlm/xlp_pci.c
  head/sys/mips/rmi/xlr_pci.c
  head/sys/powerpc/ofw/ofw_pci.c
  head/sys/x86/pci/pci_bus.c
  head/sys/x86/pci/qpi.c
  head/sys/x86/x86/mptable_pci.c

Modified: head/sys/arm/versatile/versatile_pci.c
==============================================================================
--- head/sys/arm/versatile/versatile_pci.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/arm/versatile/versatile_pci.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -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));
 }
 

Modified: head/sys/arm/xscale/i80321/i80321_pci.c
==============================================================================
--- head/sys/arm/xscale/i80321/i80321_pci.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/arm/xscale/i80321/i80321_pci.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -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));
 }
 

Modified: head/sys/arm/xscale/i8134x/i81342_pci.c
==============================================================================
--- head/sys/arm/xscale/i8134x/i81342_pci.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/arm/xscale/i8134x/i81342_pci.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -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));
 }
 

Modified: head/sys/dev/acpica/acpi_pcib.c
==============================================================================
--- head/sys/dev/acpica/acpi_pcib.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/dev/acpica/acpi_pcib.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -150,7 +150,7 @@ acpi_pcib_attach(device_t dev, ACPI_BUFF
     /*
      * Attach the PCI bus proper.
      */
-    if (device_add_child(dev, "pci", busno) == NULL) {
+    if (device_add_child(dev, "pci", -1) == NULL) {
 	device_printf(device_get_parent(dev), "couldn't attach pci bus\n");
 	return_VALUE(ENXIO);
     }

Modified: head/sys/dev/pci/pci_pci.c
==============================================================================
--- head/sys/dev/pci/pci_pci.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/dev/pci/pci_pci.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -1082,7 +1082,7 @@ pcib_attach(device_t dev)
     pcib_attach_common(dev);
     sc = device_get_softc(dev);
     if (sc->bus.sec != 0) {
-	child = device_add_child(dev, "pci", sc->bus.sec);
+	child = device_add_child(dev, "pci", -1);
 	if (child != NULL)
 	    return(bus_generic_attach(dev));
     }

Modified: head/sys/dev/xen/pcifront/pcifront.c
==============================================================================
--- head/sys/dev/xen/pcifront/pcifront.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/dev/xen/pcifront/pcifront.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -559,7 +559,7 @@ xpcib_attach(device_t dev) 
 
 	DPRINTF("xpcib attach (bus=%d)\n", sc->bus);
 
-	device_add_child(dev, "pci", sc->bus);
+	device_add_child(dev, "pci", -1);
 	return bus_generic_attach(dev);
 }
 

Modified: head/sys/mips/adm5120/admpci.c
==============================================================================
--- head/sys/mips/adm5120/admpci.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/mips/adm5120/admpci.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -181,7 +181,7 @@ admpci_attach(device_t dev)
 		panic("bus_space_map failed");
 	}
 
-	device_add_child(dev, "pci", busno);
+	device_add_child(dev, "pci", -1);
 	return (bus_generic_attach(dev));
 }
 

Modified: head/sys/mips/atheros/ar71xx_pci.c
==============================================================================
--- head/sys/mips/atheros/ar71xx_pci.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/mips/atheros/ar71xx_pci.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -462,7 +462,7 @@ ar71xx_pci_attach(device_t dev)
 	ar71xx_pci_slot_fixup(dev, 0, 18, 0);
 #endif	/* AR71XX_ATH_EEPROM */
 
-	device_add_child(dev, "pci", busno);
+	device_add_child(dev, "pci", -1);
 	return (bus_generic_attach(dev));
 }
 

Modified: head/sys/mips/atheros/ar724x_pci.c
==============================================================================
--- head/sys/mips/atheros/ar724x_pci.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/mips/atheros/ar724x_pci.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -429,7 +429,7 @@ ar724x_pci_attach(device_t dev)
 	    | PCIM_CMD_SERRESPEN | PCIM_CMD_BACKTOBACK
 	    | PCIM_CMD_PERRESPEN | PCIM_CMD_MWRICEN, 2);
 
-	device_add_child(dev, "pci", busno);
+	device_add_child(dev, "pci", -1);
 	return (bus_generic_attach(dev));
 }
 

Modified: head/sys/mips/atheros/qca955x_pci.c
==============================================================================
--- head/sys/mips/atheros/qca955x_pci.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/mips/atheros/qca955x_pci.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -362,7 +362,7 @@ qca955x_pci_attach(device_t dev)
 	    | PCIM_CMD_SERRESPEN | PCIM_CMD_BACKTOBACK
 	    | PCIM_CMD_PERRESPEN | PCIM_CMD_MWRICEN, 2);
 
-	device_add_child(dev, "pci", busno);
+	device_add_child(dev, "pci", -1);
 	return (bus_generic_attach(dev));
 }
 

Modified: head/sys/mips/cavium/octopci.c
==============================================================================
--- head/sys/mips/cavium/octopci.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/mips/cavium/octopci.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -205,7 +205,7 @@ octopci_attach(device_t dev)
 	subbus = octopci_init_bus(dev, sc->sc_bus);
 	octopci_write_config(dev, sc->sc_bus, 0, 0, PCIR_SUBBUS_1, subbus, 1);
 
-	device_add_child(dev, "pci", device_get_unit(dev));
+	device_add_child(dev, "pci", -1);
 
 	return (bus_generic_attach(dev));
 }

Modified: head/sys/mips/idt/idtpci.c
==============================================================================
--- head/sys/mips/idt/idtpci.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/mips/idt/idtpci.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -275,7 +275,7 @@ idtpci_attach(device_t dev)
 	        PCI_IRQ_END) != 0)
 		panic("idtpci_attach: failed to set up IRQ rman");
 
-	device_add_child(dev, "pci", busno);
+	device_add_child(dev, "pci", -1);
 	return (bus_generic_attach(dev));
 }
 

Modified: head/sys/mips/malta/gt_pci.c
==============================================================================
--- head/sys/mips/malta/gt_pci.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/mips/malta/gt_pci.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -415,7 +415,7 @@ gt_pci_attach(device_t dev)
 	}
 
 	/* Initialize memory and i/o rmans. */
-	device_add_child(dev, "pci", busno);
+	device_add_child(dev, "pci", -1);
 	return (bus_generic_attach(dev));
 }
 

Modified: head/sys/mips/nlm/xlp_pci.c
==============================================================================
--- head/sys/mips/nlm/xlp_pci.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/mips/nlm/xlp_pci.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -314,7 +314,7 @@ xlp_pcib_attach(device_t dev)
 		for (link = 0; link < 4; link++)
 			xlp_pcib_hardware_swap_enable(node, link);
 
-	device_add_child(dev, "pci", 0);
+	device_add_child(dev, "pci", -1);
 	bus_generic_attach(dev);
 	return (0);
 }

Modified: head/sys/mips/rmi/xlr_pci.c
==============================================================================
--- head/sys/mips/rmi/xlr_pci.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/mips/rmi/xlr_pci.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -306,7 +306,7 @@ xlr_pcib_attach(device_t dev)
 		    0xff, 0x7fffffff, 0, NULL, NULL, &sc->sc_pci_dmat) != 0)
 			panic("%s: bus_dma_tag_create failed", __func__);
 	}
-	device_add_child(dev, "pci", 0);
+	device_add_child(dev, "pci", -1);
 	bus_generic_attach(dev);
 	return (0);
 }

Modified: head/sys/powerpc/ofw/ofw_pci.c
==============================================================================
--- head/sys/powerpc/ofw/ofw_pci.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/powerpc/ofw/ofw_pci.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -240,7 +240,7 @@ ofw_pci_attach(device_t dev)
 			return (error);
 	}
 
-	device_add_child(dev, "pci", device_get_unit(dev));
+	device_add_child(dev, "pci", -1);
 	return (bus_generic_attach(dev));
 }
 

Modified: head/sys/x86/pci/pci_bus.c
==============================================================================
--- head/sys/x86/pci/pci_bus.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/x86/pci/pci_bus.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -524,7 +524,7 @@ legacy_pcib_attach(device_t dev)
 			device_probe_and_attach(pir);
 	}
 #endif
-	device_add_child(dev, "pci", bus);
+	device_add_child(dev, "pci", -1);
 	return bus_generic_attach(dev);
 }
 

Modified: head/sys/x86/pci/qpi.c
==============================================================================
--- head/sys/x86/pci/qpi.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/x86/pci/qpi.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -218,7 +218,7 @@ static int
 qpi_pcib_attach(device_t dev)
 {
 
-	device_add_child(dev, "pci", pcib_get_bus(dev));      
+	device_add_child(dev, "pci", -1);
         return (bus_generic_attach(dev));
 }
 

Modified: head/sys/x86/x86/mptable_pci.c
==============================================================================
--- head/sys/x86/x86/mptable_pci.c	Wed Sep 16 23:33:12 2015	(r287881)
+++ head/sys/x86/x86/mptable_pci.c	Wed Sep 16 23:34:51 2015	(r287882)
@@ -69,7 +69,7 @@ mptable_hostb_attach(device_t dev)
 #ifdef NEW_PCIB
 	mptable_pci_host_res_init(dev);
 #endif
-	device_add_child(dev, "pci", pcib_get_bus(dev));
+	device_add_child(dev, "pci", -1);
 	return (bus_generic_attach(dev));
 }
 


More information about the svn-src-all mailing list