aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/head_32.S
diff options
context:
space:
mode:
authorMatt Fleming <matt@console-pimps.org>2010-04-25 15:18:41 -0400
committerMatt Fleming <matt@console-pimps.org>2010-04-25 15:44:23 -0400
commit035ca59fe8399a67b56511bd5b28130f0c4874a0 (patch)
treec405a38cdb406847ea2fb38e580b9ceba615e39f /arch/sh/kernel/head_32.S
parentc7b03fa0bdc04e00bfbdc4cc69da144b11108f37 (diff)
sh: Use correct mask when comparing PMB DATA array values
Previously we were masking the PMB DATA array values with the value of __MEMORY_START | PMB_V, which misses some PFN bits off the mask. Signed-off-by: Matt Fleming <matt@console-pimps.org>
Diffstat (limited to 'arch/sh/kernel/head_32.S')
-rw-r--r--arch/sh/kernel/head_32.S5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/sh/kernel/head_32.S b/arch/sh/kernel/head_32.S
index 8c1fc9a9fab2..6e35f012cc03 100644
--- a/arch/sh/kernel/head_32.S
+++ b/arch/sh/kernel/head_32.S
@@ -131,6 +131,7 @@ ENTRY(_stext)
131 * r8 = scratch register 131 * r8 = scratch register
132 * r9 = scratch register 132 * r9 = scratch register
133 * r10 = number of PMB entries we've setup 133 * r10 = number of PMB entries we've setup
134 * r11 = scratch register
134 */ 135 */
135 136
136 mov.l .LMMUCR, r1 /* Flush the TLB */ 137 mov.l .LMMUCR, r1 /* Flush the TLB */
@@ -167,8 +168,9 @@ ENTRY(_stext)
167 168
168.Lvalidate_existing_mappings: 169.Lvalidate_existing_mappings:
169 170
171 mov.l .LPMB_DATA_MASK, r11
170 mov.l @r7, r8 172 mov.l @r7, r8
171 and r0, r8 173 and r11, r8
172 cmp/eq r0, r8 /* Check for valid __MEMORY_START mappings */ 174 cmp/eq r0, r8 /* Check for valid __MEMORY_START mappings */
173 bt .Lpmb_done 175 bt .Lpmb_done
174 176
@@ -341,6 +343,7 @@ ENTRY(stack_start)
341#ifdef CONFIG_PMB 343#ifdef CONFIG_PMB
342.LPMB_ADDR: .long PMB_ADDR 344.LPMB_ADDR: .long PMB_ADDR
343.LPMB_DATA: .long PMB_DATA 345.LPMB_DATA: .long PMB_DATA
346.LPMB_DATA_MASK: .long PMB_PFN_MASK | PMB_V
344.LFIRST_ADDR_ENTRY: .long PAGE_OFFSET | PMB_V 347.LFIRST_ADDR_ENTRY: .long PAGE_OFFSET | PMB_V
345.LFIRST_DATA_ENTRY: .long __MEMORY_START | PMB_V 348.LFIRST_DATA_ENTRY: .long __MEMORY_START | PMB_V
346.LMMUCR: .long MMUCR 349.LMMUCR: .long MMUCR