summaryrefslogtreecommitdiffstats
path: root/sys/ia64/pci
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2001-10-03 08:25:58 +0000
committerdfr <dfr@FreeBSD.org>2001-10-03 08:25:58 +0000
commit17f2c62587368cb471c8518b5dcc7651892ccac7 (patch)
tree1daddf4bb840b6cfc16d060380e287b2be55a587 /sys/ia64/pci
parentf181b807ce68c59949a24e47fa6ee68671df6b47 (diff)
downloadFreeBSD-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.c2
-rw-r--r--sys/ia64/pci/pci_cfgreg.c5
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)
{
OpenPOWER on IntegriCloud