Changeset c711efe in mainline


Ignore:
Timestamp:
2008-06-15T08:21:17Z (16 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
1eb154f
Parents:
0af4f9e
Message:

On sparc64, when the operand to the FLUSH instruction doesn't matter, the
instruction's semantics is to flush the pipeline.

Location:
kernel/arch/sparc64/include
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/include/barrier.h

    r0af4f9e rc711efe  
    6161        asm volatile ("flush %0\n" :: "r" ((a)) : "memory")
    6262
    63 /** Flush Instruction Memory instruction. */
    64 static inline void flush_blind(void)
     63/** Flush Instruction pipeline. */
     64static inline void flush_pipeline(void)
    6565{
    6666        /*
  • kernel/arch/sparc64/include/mm/tlb.h

    r0af4f9e rc711efe  
    161161{
    162162        asi_u64_write(ASI_DMMU, VA_PRIMARY_CONTEXT_REG, v);
    163         flush_blind();
     163        flush_pipeline();
    164164}
    165165
     
    180180{
    181181        asi_u64_write(ASI_DMMU, VA_SECONDARY_CONTEXT_REG, v);
    182         flush_blind();
     182        flush_pipeline();
    183183}
    184184
     
    210210        reg.tlb_entry = entry;
    211211        asi_u64_write(ASI_ITLB_DATA_ACCESS_REG, reg.value, value);
    212         flush_blind();
     212        flush_pipeline();
    213213}
    214214
     
    280280{
    281281        asi_u64_write(ASI_IMMU, VA_IMMU_TAG_ACCESS, v);
    282         flush_blind();
     282        flush_pipeline();
    283283}
    284284
     
    319319{
    320320        asi_u64_write(ASI_ITLB_DATA_IN_REG, 0, v);
    321         flush_blind();
     321        flush_pipeline();
    322322}
    323323
     
    348348{
    349349        asi_u64_write(ASI_IMMU, VA_IMMU_SFSR, v);
    350         flush_blind();
     350        flush_pipeline();
    351351}
    352352
     
    401401                                                         * address within the
    402402                                                         * ASI */
    403         flush_blind();
     403        flush_pipeline();
    404404}
    405405
Note: See TracChangeset for help on using the changeset viewer.