Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 5a42886 in mainline


Ignore:
Timestamp:
2014-12-16T17:59:07Z (7 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master
Children:
f892ed3b
Parents:
6d7d4f1
Message:

ppc32: be extra careful about the memory coherency

Location:
kernel/arch/ppc32
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ppc32/include/arch/asm.h

    r6d7d4f1 r5a42886  
    5858        asm volatile (
    5959                "mtmsr %[msr]\n"
     60                "isync\n"
    6061                :: [msr] "r" (msr)
    6162        );
     
    6667        asm volatile (
    6768                "mtsrin %[value], %[sr]\n"
     69                "sync\n"
     70                "isync\n"
    6871                :: [value] "r" ((flags << 16) + (asid << 4) + sr),
    6972                   [sr] "r" (sr << 28)
  • kernel/arch/ppc32/src/asm.S

    r6d7d4f1 r5a42886  
    5555        rlwinm r31, r31, 0, 17, 15
    5656        mtmsr r31
     57        isync
    5758       
    5859        /* Set entry point */
     
    8586        rlwinm r31, r31, 0, 17, 15
    8687        mtmsr r31
     88        isync
    8789       
    8890        lwz r0, ISTATE_OFFSET_R0(sp)
     
    152154        rlwinm r31, r31, 0, 17, 15
    153155        mtmsr r31
     156        isync
    154157       
    155158        lwz r0, ISTATE_OFFSET_R0(sp)
  • kernel/arch/ppc32/src/fpu_context.S

    r6d7d4f1 r5a42886  
    119119fpu_context_restore:
    120120        lfd fr0, FPU_CONTEXT_OFFSET_FPSCR(r3)
    121         mtfsf 7, fr0
    122 
     121        mtfsf 0xff, fr0
     122       
    123123        FPU_CONTEXT_LOAD r3
    124124       
     
    128128        mfmsr r0
    129129        ori r0, r0, MSR_FP
    130 
     130       
    131131        # Disable FPU exceptions
    132132        li r3, MSR_FE0 | MSR_FE1
    133133        andc r0, r0, r3
    134 
     134       
    135135        mtmsr r0
     136        isync
     137       
    136138        blr
    137139
     
    140142        ori r0, r0, MSR_FP
    141143        mtmsr r0
     144        isync
    142145        blr
    143146
     
    147150        andc r0, r0, r3
    148151        mtmsr r0
     152        isync
    149153        blr
    150 
Note: See TracChangeset for help on using the changeset viewer.