summaryrefslogtreecommitdiffstats
path: root/sys/arm
diff options
context:
space:
mode:
authorzbb <zbb@FreeBSD.org>2015-09-16 23:34:51 +0000
committerzbb <zbb@FreeBSD.org>2015-09-16 23:34:51 +0000
commit95f13176f56de2d56ebb014bf8b5d39de209c08a (patch)
tree2bf6705f8c0a23d33a95bffbd3241b047662100a /sys/arm
parent76309d54d25ceab92ba6484b52eb4a0fd488cfc0 (diff)
downloadFreeBSD-src-95f13176f56de2d56ebb014bf8b5d39de209c08a.zip
FreeBSD-src-95f13176f56de2d56ebb014bf8b5d39de209c08a.tar.gz
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
Diffstat (limited to 'sys/arm')
-rw-r--r--sys/arm/versatile/versatile_pci.c2
-rw-r--r--sys/arm/xscale/i80321/i80321_pci.c2
-rw-r--r--sys/arm/xscale/i8134x/i81342_pci.c2
3 files changed, 3 insertions, 3 deletions
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));
}
OpenPOWER on IntegriCloud