aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mn10300/mm/cache-inv-by-reg.S
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2011-03-18 12:54:30 -0400
committerDavid Howells <dhowells@redhat.com>2011-03-18 12:54:30 -0400
commit7f386ac3272e057fbf51e5b5712fad1a80e77125 (patch)
tree2ddf1aff83c2b92f2aef82d4db069a1a355b47c0 /arch/mn10300/mm/cache-inv-by-reg.S
parent792576b1c5a4da16700f1003b1c3fc1e22cd9e07 (diff)
MN10300: Create general kernel debugger cache flushing
Create general kernel debugger cache flushing for MN10300 and get rid of the old stuff that gdbstub was using. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'arch/mn10300/mm/cache-inv-by-reg.S')
-rw-r--r--arch/mn10300/mm/cache-inv-by-reg.S9
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/mn10300/mm/cache-inv-by-reg.S b/arch/mn10300/mm/cache-inv-by-reg.S
index d1f363a8d36b..a60825b91e77 100644
--- a/arch/mn10300/mm/cache-inv-by-reg.S
+++ b/arch/mn10300/mm/cache-inv-by-reg.S
@@ -116,9 +116,9 @@ mn10300_local_dcache_inv_range:
116 # and if they're not cacheline-aligned, we must flush any bits outside 116 # and if they're not cacheline-aligned, we must flush any bits outside
117 # the range that share cachelines with stuff inside the range 117 # the range that share cachelines with stuff inside the range
118#ifdef CONFIG_MN10300_CACHE_WBACK 118#ifdef CONFIG_MN10300_CACHE_WBACK
119 btst ~(L1_CACHE_BYTES-1),d0 119 btst ~L1_CACHE_TAG_MASK,d0
120 bne 1f 120 bne 1f
121 btst ~(L1_CACHE_BYTES-1),d1 121 btst ~L1_CACHE_TAG_MASK,d1
122 beq 2f 122 beq 2f
1231: 1231:
124 bra mn10300_local_dcache_flush_inv_range 124 bra mn10300_local_dcache_flush_inv_range
@@ -136,12 +136,11 @@ mn10300_local_dcache_inv_range:
136 # writeback mode, in which case we would be in flush and invalidate by 136 # writeback mode, in which case we would be in flush and invalidate by
137 # now 137 # now
138#ifndef CONFIG_MN10300_CACHE_WBACK 138#ifndef CONFIG_MN10300_CACHE_WBACK
139 and L1_CACHE_TAG_ADDRESS|L1_CACHE_TAG_ENTRY,d0 # round start 139 and L1_CACHE_TAG_MASK,d0 # round start addr down
140 # addr down
141 140
142 mov L1_CACHE_BYTES-1,d2 141 mov L1_CACHE_BYTES-1,d2
143 add d2,d1 142 add d2,d1
144 and L1_CACHE_TAG_ADDRESS|L1_CACHE_TAG_ENTRY,d1 # round end addr up 143 and L1_CACHE_TAG_MASK,d1 # round end addr up
145#endif /* !CONFIG_MN10300_CACHE_WBACK */ 144#endif /* !CONFIG_MN10300_CACHE_WBACK */
146 145
147 sub d0,d1,d2 # calculate the total size 146 sub d0,d1,d2 # calculate the total size