diff options
author | dfr <dfr@FreeBSD.org> | 2001-10-03 08:25:58 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2001-10-03 08:25:58 +0000 |
commit | 17f2c62587368cb471c8518b5dcc7651892ccac7 (patch) | |
tree | 1daddf4bb840b6cfc16d060380e287b2be55a587 /sys/ia64/pci | |
parent | f181b807ce68c59949a24e47fa6ee68671df6b47 (diff) | |
download | FreeBSD-src-17f2c62587368cb471c8518b5dcc7651892ccac7.zip FreeBSD-src-17f2c62587368cb471c8518b5dcc7651892ccac7.tar.gz |
The encoding for the bus being passed to SAL was completely wrong.
Diffstat (limited to 'sys/ia64/pci')
-rw-r--r-- | sys/ia64/pci/nexus_pcib.c | 2 | ||||
-rw-r--r-- | sys/ia64/pci/pci_cfgreg.c | 5 |
2 files changed, 3 insertions, 4 deletions
diff --git a/sys/ia64/pci/nexus_pcib.c b/sys/ia64/pci/nexus_pcib.c index fa47654..3569682 100644 --- a/sys/ia64/pci/nexus_pcib.c +++ b/sys/ia64/pci/nexus_pcib.c @@ -51,7 +51,7 @@ nexus_pcib_maxslots(device_t dev) /* read configuration space register */ #define SAL_PCI_ADDRESS(bus, slot, func, reg) \ - (((bus) << 23) | ((slot) << 11) | ((func) << 8) | (reg)) + (((bus) << 16) | ((slot) << 11) | ((func) << 8) | (reg)) static u_int32_t nexus_pcib_read_config(device_t dev, int bus, int slot, int func, diff --git a/sys/ia64/pci/pci_cfgreg.c b/sys/ia64/pci/pci_cfgreg.c index 649b7a9..cef743b 100644 --- a/sys/ia64/pci/pci_cfgreg.c +++ b/sys/ia64/pci/pci_cfgreg.c @@ -31,7 +31,7 @@ #include <machine/sal.h> #define SAL_PCI_ADDRESS(bus, slot, func, reg) \ - (((bus) << 23) | ((slot) << 11) | ((func) << 8) | (reg)) + (((bus) << 16) | ((slot) << 11) | ((func) << 8) | (reg)) int pci_cfgregopen(void) @@ -51,9 +51,8 @@ pci_cfgregread(int bus, int slot, int func, int reg, int bytes) return (~0); else return (res.sal_result[0]); - - } + void pci_cfgregwrite(int bus, int slot, int func, int reg, u_int32_t data, int bytes) { |