Changeset b3e8c90 in mainline for kernel/arch/sparc64/include/mm/tlb.h


Ignore:
Timestamp:
2006-08-01T11:24:27Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e386cbf
Parents:
c049309
Message:

sparc64 work.

  1. Formatting fixes.
  2. When writing to DMMU ASI's, simple membar() can be used in place of flush().
  3. Substantial changes in the way the TLB is taken over.
  4. Remove unneeded functions.

This is the first revision that also runs on a real world Ultra 5 with UltraSPARC IIi
processor.

Note that 3. needs further work as the current implementation depends on the fact
that the compiler will use registers for local variables in take_over_tlb_and_tt().
Rewrite of that function into assembly is to follow.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/include/mm/tlb.h

    rc049309 rb3e8c90  
    2727 */
    2828
    29  /** @addtogroup sparc64mm     
     29/** @addtogroup sparc64mm       
    3030 * @{
    3131 */
     
    228228        reg.tlb_entry = entry;
    229229        asi_u64_write(ASI_DTLB_DATA_ACCESS_REG, reg.value, value);
    230         flush();
     230        membar();
    231231}
    232232
     
    287287{
    288288        asi_u64_write(ASI_DMMU, VA_DMMU_TAG_ACCESS, v);
    289         flush();
     289        membar();
    290290}
    291291
     
    317317{
    318318        asi_u64_write(ASI_DTLB_DATA_IN_REG, 0, v);
    319         flush();
     319        membar();
    320320}
    321321
     
    355355{
    356356        asi_u64_write(ASI_DMMU, VA_DMMU_SFSR, v);
    357         flush();
     357        membar();
    358358}
    359359
     
    408408       
    409409        asi_u64_write(ASI_DMMU_DEMAP, da.value, 0);
    410         flush();
     410        membar();
    411411}
    412412
     
    419419#endif
    420420
    421  /** @}
    422  */
    423 
     421/** @}
     422 */
Note: See TracChangeset for help on using the changeset viewer.