OSDN Git Service

[SPARC64]: Fix UltraSPARC-III fallout from membar changes.
authorDavid S. Miller <davem@davemloft.net>
Wed, 6 Jul 2005 02:45:24 +0000 (19:45 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 6 Jul 2005 02:45:24 +0000 (19:45 -0700)
The membar changes made the size of __cheetah_flush_tlb_pending
grow by one instruction, but the boot-time code patching was
not updated to match.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/mm/ultra.S

index 7a2431d..3637708 100644 (file)
@@ -72,6 +72,7 @@ __flush_tlb_pending:
        flush           %g6
        retl
         wrpr           %g7, 0x0, %pstate
+       nop
 
        .align          32
        .globl          __flush_tlb_kernel_range
@@ -249,7 +250,7 @@ __cheetah_flush_tlb_mm: /* 15 insns */
        retl
         wrpr           %g7, 0x0, %pstate
 
-__cheetah_flush_tlb_pending:   /* 22 insns */
+__cheetah_flush_tlb_pending:   /* 23 insns */
        /* %o0 = context, %o1 = nr, %o2 = vaddrs[] */
        rdpr            %pstate, %g7
        sllx            %o1, 3, %o1
@@ -317,7 +318,7 @@ cheetah_patch_cachetlbops:
        sethi           %hi(__cheetah_flush_tlb_pending), %o1
        or              %o1, %lo(__cheetah_flush_tlb_pending), %o1
        call            cheetah_patch_one
-        mov            22, %o2
+        mov            23, %o2
 
 #ifdef DCACHE_ALIASING_POSSIBLE
        sethi           %hi(__flush_dcache_page), %o0