Skip to content

Commit

Permalink
sh: Use correct mask when comparing PMB DATA array values
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Matt Fleming committed Apr 25, 2010
1 parent c7b03fa commit 035ca59
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion arch/sh/kernel/head_32.S
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ ENTRY(_stext)
* r8 = scratch register
* r9 = scratch register
* r10 = number of PMB entries we've setup
* r11 = scratch register
*/

mov.l .LMMUCR, r1 /* Flush the TLB */
Expand Down Expand Up @@ -167,8 +168,9 @@ ENTRY(_stext)

.Lvalidate_existing_mappings:

mov.l .LPMB_DATA_MASK, r11
mov.l @r7, r8
and r0, r8
and r11, r8
cmp/eq r0, r8 /* Check for valid __MEMORY_START mappings */
bt .Lpmb_done

Expand Down Expand Up @@ -341,6 +343,7 @@ ENTRY(stack_start)
#ifdef CONFIG_PMB
.LPMB_ADDR: .long PMB_ADDR
.LPMB_DATA: .long PMB_DATA
.LPMB_DATA_MASK: .long PMB_PFN_MASK | PMB_V
.LFIRST_ADDR_ENTRY: .long PAGE_OFFSET | PMB_V
.LFIRST_DATA_ENTRY: .long __MEMORY_START | PMB_V
.LMMUCR: .long MMUCR
Expand Down

0 comments on commit 035ca59

Please sign in to comment.