summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2001-11-04 23:12:47 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2001-11-04 23:12:47 +0000
commita15c8a68408bc6d011c09538f6a9cf9d1c29b12c (patch)
tree90ce2b24f64fb772d6107f3828591ef51acf1010 /sys/arch
parentdc00ccd0367661ae7d07c34de16048cf688e6007 (diff)
Two new sysctls in the chipset tree.
CPU_CHIPSET_PORTS - address of the I/O ports. CPU_CHIPSET_HAE_MASK - mask for the HAE register.
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/alpha/include/cpu.h4
-rw-r--r--sys/arch/alpha/pci/apecs.c4
-rw-r--r--sys/arch/alpha/pci/cia.c5
-rw-r--r--sys/arch/alpha/pci/lca.c4
-rw-r--r--sys/arch/alpha/pci/pci_machdep.c8
-rw-r--r--sys/arch/alpha/pci/pci_machdep.h4
-rw-r--r--sys/arch/alpha/pci/tsc.c4
7 files changed, 26 insertions, 7 deletions
diff --git a/sys/arch/alpha/include/cpu.h b/sys/arch/alpha/include/cpu.h
index acb607304ec..ed68ef7aead 100644
--- a/sys/arch/alpha/include/cpu.h
+++ b/sys/arch/alpha/include/cpu.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: cpu.h,v 1.13 2001/06/26 21:13:43 art Exp $ */
+/* $OpenBSD: cpu.h,v 1.14 2001/11/04 23:12:46 art Exp $ */
/* $NetBSD: cpu.h,v 1.45 2000/08/21 02:03:12 thorpej Exp $ */
/*-
@@ -317,6 +317,8 @@ do { \
#define CPU_CHIPSET_BWX 2 /* PCI supports BWX */
#define CPU_CHIPSET_TYPE 3 /* PCI chipset name */
#define CPU_CHIPSET_DENSE 4 /* PCI chipset dense memory addr */
+#define CPU_CHIPSET_PORTS 5 /* PCI port address */
+#define CPU_CHIPSET_HAE_MASK 6 /* PCI chipset mask for HAE register */
#define CTL_MACHDEP_NAMES { \
{ 0, 0 }, \
diff --git a/sys/arch/alpha/pci/apecs.c b/sys/arch/alpha/pci/apecs.c
index 254fc3fea4b..e8561a3e486 100644
--- a/sys/arch/alpha/pci/apecs.c
+++ b/sys/arch/alpha/pci/apecs.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: apecs.c,v 1.13 2001/06/26 21:13:43 art Exp $ */
+/* $OpenBSD: apecs.c,v 1.14 2001/11/04 23:12:46 art Exp $ */
/* $NetBSD: apecs.c,v 1.16 1996/12/05 01:39:34 cgd Exp $ */
/*-
@@ -168,7 +168,9 @@ apecs_init(acp, mallocsafe)
alpha_pci_chipset->pc_name = "apecs";
alpha_pci_chipset->pc_mem = APECS_PCI_SPARSE;
alpha_pci_chipset->pc_dense = APECS_PCI_DENSE;
+ alpha_pci_chipset->pc_ports = APECS_PCI_SIO;
alpha_pci_chipset->pc_bwx = 0;
+ alpha_pci_chipset->pc_hae_mask = EPIC_HAXR1_EADDR;
acp->ac_initted = 1;
}
diff --git a/sys/arch/alpha/pci/cia.c b/sys/arch/alpha/pci/cia.c
index c382144d8f9..d4401094a2b 100644
--- a/sys/arch/alpha/pci/cia.c
+++ b/sys/arch/alpha/pci/cia.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cia.c,v 1.14 2001/06/26 21:13:43 art Exp $ */
+/* $OpenBSD: cia.c,v 1.15 2001/11/04 23:12:46 art Exp $ */
/* $NetBSD: cia.c,v 1.56 2000/06/29 08:58:45 mrg Exp $ */
/*-
@@ -249,11 +249,14 @@ cia_init(ccp, mallocsafe)
alpha_pci_chipset = &ccp->cc_pc;
alpha_pci_chipset->pc_name = "cia";
alpha_pci_chipset->pc_dense = CIA_PCI_DENSE;
+ alpha_pci_chipset->pc_hae_mask = 7L << 29;
if (ccp->cc_flags & CCF_BUS_USE_BWX) {
alpha_pci_chipset->pc_mem = CIA_EV56_BWMEM;
+ alpha_pci_chipset->pc_ports = CIA_EV56_BWIO;
alpha_pci_chipset->pc_bwx = 1;
} else {
alpha_pci_chipset->pc_mem = CIA_PCI_SMEM1;
+ alpha_pci_chipset->pc_ports = CIA_PCI_SIO1;
alpha_pci_chipset->pc_bwx = 0;
}
diff --git a/sys/arch/alpha/pci/lca.c b/sys/arch/alpha/pci/lca.c
index 12bd63be79f..eef15f545ec 100644
--- a/sys/arch/alpha/pci/lca.c
+++ b/sys/arch/alpha/pci/lca.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: lca.c,v 1.12 2001/06/26 21:13:43 art Exp $ */
+/* $OpenBSD: lca.c,v 1.13 2001/11/04 23:12:46 art Exp $ */
/* $NetBSD: lca.c,v 1.14 1996/12/05 01:39:35 cgd Exp $ */
/*-
@@ -169,6 +169,8 @@ lca_init(lcp, mallocsafe)
alpha_pci_chipset = &lcp->lc_pc;
alpha_pci_chipset->pc_name = "lca";
alpha_pci_chipset->pc_mem = LCA_PCI_SPARSE;
+ alpha_pci_chipset->pc_ports = LCA_PCI_SIO;
+ alpha_pci_chipset->pc_hae_mask = IOC_HAE_ADDREXT;
alpha_pci_chipset->pc_dense = LCA_PCI_DENSE;
alpha_pci_chipset->pc_bwx = 0;
diff --git a/sys/arch/alpha/pci/pci_machdep.c b/sys/arch/alpha/pci/pci_machdep.c
index 5cffeb6d42f..a6d7d932a69 100644
--- a/sys/arch/alpha/pci/pci_machdep.c
+++ b/sys/arch/alpha/pci/pci_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_machdep.c,v 1.13 2001/08/08 15:21:29 millert Exp $ */
+/* $OpenBSD: pci_machdep.c,v 1.14 2001/11/04 23:12:46 art Exp $ */
/* $NetBSD: pci_machdep.c,v 1.7 1996/11/19 04:57:32 cgd Exp $ */
/*
@@ -128,6 +128,12 @@ alpha_sysctl_chipset(int *name, u_int namelen, char *where, size_t *sizep)
case CPU_CHIPSET_DENSE:
return (sysctl_rdquad(where, sizep, NULL,
alpha_pci_chipset->pc_dense));
+ case CPU_CHIPSET_PORTS:
+ return (sysctl_rdquad(where, sizep, NULL,
+ alpha_pci_chipset->pc_ports));
+ case CPU_CHIPSET_HAE_MASK:
+ return (sysctl_rdquad(where, sizep, NULL,
+ alpha_pci_chipset->pc_hae_mask));
default:
return (EOPNOTSUPP);
}
diff --git a/sys/arch/alpha/pci/pci_machdep.h b/sys/arch/alpha/pci/pci_machdep.h
index d221276a2bc..d5462235c0e 100644
--- a/sys/arch/alpha/pci/pci_machdep.h
+++ b/sys/arch/alpha/pci/pci_machdep.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_machdep.h,v 1.16 2001/08/25 10:13:28 art Exp $ */
+/* $OpenBSD: pci_machdep.h,v 1.17 2001/11/04 23:12:46 art Exp $ */
/* $NetBSD: pci_machdep.h,v 1.6 1996/11/19 04:49:21 cgd Exp $ */
/*
@@ -77,6 +77,8 @@ struct alpha_pci_chipset {
char *pc_name; /* PCI chipset name */
vaddr_t pc_mem; /* PCI memory address */
vaddr_t pc_dense; /* PCI dense memory address */
+ vaddr_t pc_ports; /* PCI port address */
+ long pc_hae_mask; /* PCI chipset mask for HAE register */
int pc_bwx; /* chipset supports BWX */
};
diff --git a/sys/arch/alpha/pci/tsc.c b/sys/arch/alpha/pci/tsc.c
index 2a151f3b2c2..8467aa1349f 100644
--- a/sys/arch/alpha/pci/tsc.c
+++ b/sys/arch/alpha/pci/tsc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tsc.c,v 1.4 2001/06/26 21:13:44 art Exp $ */
+/* $OpenBSD: tsc.c,v 1.5 2001/11/04 23:12:46 art Exp $ */
/* $NetBSD: tsc.c,v 1.3 2000/06/25 19:17:40 thorpej Exp $ */
/*-
@@ -234,6 +234,8 @@ tsp_init(mallocsafe, n)
alpha_pci_chipset = &pcp->pc_pc;
alpha_pci_chipset->pc_name = "tsunami";
alpha_pci_chipset->pc_mem = TS_P0(0);
+ alpha_pci_chipset->pc_ports = P_PCI_IO;
+ alpha_pci_chipset->pc_hae_mask = 0;
alpha_pci_chipset->pc_dense = TS_P0(0);
alpha_pci_chipset->pc_bwx = 1;
pcp->pc_initted = 1;