summaryrefslogtreecommitdiff
path: root/sys/dev/pci/ncr.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/pci/ncr.c')
-rw-r--r--sys/dev/pci/ncr.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/sys/dev/pci/ncr.c b/sys/dev/pci/ncr.c
index 4dfdd8e276e..6e3f35ce8c6 100644
--- a/sys/dev/pci/ncr.c
+++ b/sys/dev/pci/ncr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ncr.c,v 1.37 1998/03/22 17:27:44 pefo Exp $ */
+/* $OpenBSD: ncr.c,v 1.38 1998/05/23 03:14:24 millert Exp $ */
/* $NetBSD: ncr.c,v 1.63 1997/09/23 02:39:15 perry Exp $ */
/**************************************************************************
@@ -183,7 +183,11 @@
** MUST NOT be greater than (MAX_SCATTER-1) * PAGE_SIZE.
*/
+#ifdef __OpenBSD__
+#define MAX_SIZE ((MAX_SCATTER-1) * (long) NBPG)
+#else
#define MAX_SIZE ((MAX_SCATTER-1) * (long) PAGE_SIZE)
+#endif
/*
** other
@@ -245,15 +249,8 @@
#include <scsi/scsiconf.h>
-#ifdef __OpenBSD__ /* XXX */
-#define __BROKEN_INDIRECT_CONFIG
-#undef PAGE_SIZE
-#undef PAGE_MASK
-#define PAGE_SIZE NBPG
-#define PAGE_MASK (NBPG-1)
-#endif
-
#ifdef __OpenBSD__
+#define __BROKEN_INDIRECT_CONFIG
#ifdef NCR_VERBOSE
#define bootverbose NCR_VERBOSE
#else
@@ -1468,7 +1465,7 @@ static void ncr_attach (pcici_t tag, int unit);
#if 0
static char ident[] =
- "\n$OpenBSD: ncr.c,v 1.37 1998/03/22 17:27:44 pefo Exp $\n";
+ "\n$OpenBSD: ncr.c,v 1.38 1998/05/23 03:14:24 millert Exp $\n";
#endif
static const u_long ncr_version = NCR_VERSION * 11
@@ -7446,7 +7443,11 @@ static int ncr_scatter
free = MAX_SCATTER - 1;
+#ifdef __OpenBSD__
+ if (vaddr & (NBPG-1)) free -= datalen / NBPG;
+#else
if (vaddr & PAGE_MASK) free -= datalen / PAGE_SIZE;
+#endif
if (free>1)
while ((chunk * free >= 2 * datalen) && (chunk>=1024))
@@ -7475,7 +7476,11 @@ static int ncr_scatter
/*
** continue this segment
*/
+#ifdef __OpenBSD__
+ pnext = (paddr & (~(NBPG - 1))) + NBPG;
+#else
pnext = (paddr & (~PAGE_MASK)) + PAGE_SIZE;
+#endif
/*
** Compute max size