diff options
author | David Howells <dhowells@redhat.com> | 2011-03-18 12:54:30 -0400 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2011-03-18 12:54:30 -0400 |
commit | 7f386ac3272e057fbf51e5b5712fad1a80e77125 (patch) | |
tree | 2ddf1aff83c2b92f2aef82d4db069a1a355b47c0 /arch/mn10300/mm/cache-inv-by-reg.S | |
parent | 792576b1c5a4da16700f1003b1c3fc1e22cd9e07 (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.S | 9 |
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 |
123 | 1: | 123 | 1: |
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 |