summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2007-03-21 05:26:38 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2007-03-21 05:26:38 +0000
commit87fecc3af24a298eaa93ca41a7ea4df73a49212f (patch)
tree665db34d4ebd6feb8b7aca70a75ec69428c6ff1d /sys/arch
parentf42207bfe896cbb30b311d9135a6751e28dd1487 (diff)
Mips_IOSyncDCache last argument is in the 0..2 range, not -1..1, so let
C and asm code agree on this; this causes no functional change on r10k and fewer wt invalidates on r5k. ok kettenis@
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/mips64/mips64/busdma.c8
-rw-r--r--sys/arch/mips64/mips64/cache_r10k.S4
-rw-r--r--sys/arch/mips64/mips64/cache_r5k.S4
3 files changed, 8 insertions, 8 deletions
diff --git a/sys/arch/mips64/mips64/busdma.c b/sys/arch/mips64/mips64/busdma.c
index b808b1fa748..06efa131e61 100644
--- a/sys/arch/mips64/mips64/busdma.c
+++ b/sys/arch/mips64/mips64/busdma.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: busdma.c,v 1.11 2006/09/01 20:07:56 miod Exp $ */
+/* $OpenBSD: busdma.c,v 1.12 2007/03/21 05:26:37 miod Exp $ */
/*
* Copyright (c) 2003-2004 Opsycon AB (www.opsycon.se / www.opsycon.com)
@@ -342,9 +342,9 @@ _dmamap_sync(t, map, addr, size, op)
bus_size_t size;
int op;
{
-#define SYNC_R 0
-#define SYNC_W 1
-#define SYNC_X 2
+#define SYNC_R 0 /* WB invalidate, WT invalidate */
+#define SYNC_W 1 /* WB writeback + invalidate, WT unaffected */
+#define SYNC_X 2 /* WB writeback + invalidate, WT invalidate */
int nsegs;
int curseg;
diff --git a/sys/arch/mips64/mips64/cache_r10k.S b/sys/arch/mips64/mips64/cache_r10k.S
index 4a402b68286..d0a2f793f95 100644
--- a/sys/arch/mips64/mips64/cache_r10k.S
+++ b/sys/arch/mips64/mips64/cache_r10k.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: cache_r10k.S,v 1.2 2005/07/20 21:36:32 miod Exp $ */
+/* $OpenBSD: cache_r10k.S,v 1.3 2007/03/21 05:26:37 miod Exp $ */
/*
* Copyright (c) 2004 Opsycon AB (www.opsycon.se)
@@ -572,7 +572,7 @@ NON_LEAF(Mips10k_IOSyncDCache, FRAMESZ(CF_SZ+2*REGSZ), ra)
REG_S a0, CF_ARGSZ(sp) # save args
beqz a2, SyncRD # Sync PREREAD
REG_S a1, CF_ARGSZ+REGSZ(sp)
- addiu a2, 1
+ addiu a2, -1
bnez a2, SyncRDWB # Sync PREWRITE+PREREAD
nop
diff --git a/sys/arch/mips64/mips64/cache_r5k.S b/sys/arch/mips64/mips64/cache_r5k.S
index 87d38aef58a..da421bfcc97 100644
--- a/sys/arch/mips64/mips64/cache_r5k.S
+++ b/sys/arch/mips64/mips64/cache_r5k.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: cache_r5k.S,v 1.16 2005/07/20 21:36:32 miod Exp $ */
+/* $OpenBSD: cache_r5k.S,v 1.17 2007/03/21 05:26:37 miod Exp $ */
/*
* Copyright (c) 1998-2004 Opsycon AB (www.opsycon.se)
@@ -942,7 +942,7 @@ NON_LEAF(Mips5k_IOSyncDCache, FRAMESZ(CF_SZ+2*REGSZ), ra)
REG_S a0, CF_ARGSZ(sp) # save args
beqz a2, SyncRD # Sync PREREAD
REG_S a1, CF_ARGSZ+REGSZ(sp)
- addiu a2, 1
+ addiu a2, -1
bnez a2, SyncRDWB # Sync PREWRITE+PREREAD
nop