summaryrefslogtreecommitdiff
path: root/sys/dev/tc
diff options
context:
space:
mode:
authormatt <matt@NetBSD.org>2008-02-19 18:30:33 +0000
committermatt <matt@NetBSD.org>2008-02-19 18:30:33 +0000
commite71c736cbb0d64513d402150dcf60e91f5e8fbef (patch)
tree116eb8d23eb8d710b008fa6730ee02c47d4e26ca /sys/dev/tc
parent68be78c4562493a6c2bf7a060e282f243e27104c (diff)
Fix TC on VAX. (missed committing these earlier)
Diffstat (limited to 'sys/dev/tc')
-rw-r--r--sys/dev/tc/asc_tcds.c6
-rw-r--r--sys/dev/tc/tc.c13
2 files changed, 12 insertions, 7 deletions
diff --git a/sys/dev/tc/asc_tcds.c b/sys/dev/tc/asc_tcds.c
index 74f70c7fe52..05e80ea817b 100644
--- a/sys/dev/tc/asc_tcds.c
+++ b/sys/dev/tc/asc_tcds.c
@@ -1,4 +1,4 @@
-/* $NetBSD: asc_tcds.c,v 1.20 2007/10/19 12:01:19 ad Exp $ */
+/* $NetBSD: asc_tcds.c,v 1.21 2008/02/19 18:30:33 matt Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -67,7 +67,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: asc_tcds.c,v 1.20 2007/10/19 12:01:19 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: asc_tcds.c,v 1.21 2008/02/19 18:30:33 matt Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -447,6 +447,8 @@ tcds_dma_intr(struct ncr53c9x_softc *sc)
addr = (u_int32_t *)ALPHA_PHYS_TO_K0SEG(pa);
#elif defined(__mips__)
addr = (u_int32_t *)MIPS_PHYS_TO_KSEG1(pa);
+#elif defined(__vax__)
+ addr = (u_int32_t *)(pa | 0x80000000);
#else
#error TURBOchannel only exists on DECs, folks...
#endif
diff --git a/sys/dev/tc/tc.c b/sys/dev/tc/tc.c
index 707ac9cd9fc..b26dc1c3694 100644
--- a/sys/dev/tc/tc.c
+++ b/sys/dev/tc/tc.c
@@ -1,4 +1,4 @@
-/* $NetBSD: tc.c,v 1.46 2007/04/12 21:35:08 matt Exp $ */
+/* $NetBSD: tc.c,v 1.47 2008/02/19 18:30:33 matt Exp $ */
/*
* Copyright (c) 1994, 1995 Carnegie-Mellon University.
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tc.c,v 1.46 2007/04/12 21:35:08 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tc.c,v 1.47 2008/02/19 18:30:33 matt Exp $");
#include "opt_tcverbose.h"
@@ -36,6 +36,8 @@ __KERNEL_RCSID(0, "$NetBSD: tc.c,v 1.46 2007/04/12 21:35:08 matt Exp $");
#include <sys/systm.h>
#include <sys/device.h>
+#include <machine/cpu.h> /* for badaddr */
+
#include <dev/tc/tcreg.h>
#include <dev/tc/tcvar.h>
#include <dev/tc/tcdevs.h>
@@ -195,10 +197,11 @@ tcprint(void *aux, const char *pnp)
}
-#define NTC_ROMOFFS 2
-static const tc_offset_t tc_slot_romoffs[NTC_ROMOFFS] = {
+static const tc_offset_t tc_slot_romoffs[] = {
TC_SLOT_ROM,
+#ifndef __vax__
TC_SLOT_PROTOROM,
+#endif
};
int
@@ -207,7 +210,7 @@ tc_checkslot(tc_addr_t slotbase, char *namep)
struct tc_rommap *romp;
int i, j;
- for (i = 0; i < NTC_ROMOFFS; i++) {
+ for (i = 0; i < __arraycount(tc_slot_romoffs); i++) {
romp = (struct tc_rommap *)
(slotbase + tc_slot_romoffs[i]);