Changeset f834cc32 in mainline for kernel/arch/arm32/src/mm/tlb.c


Ignore:
Timestamp:
2015-09-23T19:59:06Z (10 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8ca6f08
Parents:
a1d636e
Message:

More generic detection of TLB type.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/arm32/src/mm/tlb.c

    ra1d636e rf834cc32  
    7979static inline void invalidate_page(uintptr_t page)
    8080{
    81 #if defined(PROCESSOR_arm920t)
     81#if defined(PROCESSOR_ARCH_armv6) || defined(PROCESSOR_ARCH_armv7_a)
     82        if (TLBTR_read() & TLBTR_SEP_FLAG) {
     83                ITLBIMVA_write(page);
     84                DTLBIMVA_write(page);
     85        } else {
     86                TLBIMVA_write(page);
     87        }
     88#elif defined(PROCESSOR_arm920t)
    8289        ITLBIMVA_write(page);
    8390        DTLBIMVA_write(page);
     91#elif defined(PROCESSOR_arm926ej_s)
     92        TLBIMVA_write(page);
    8493#else
    85         //TODO: What about TLBIMVAA?
    86         TLBIMVA_write(page);
     94#error Unknown TLB type
    8795#endif
     96
    8897        /*
    8998         * "A TLB maintenance operation is only guaranteed to be complete after
Note: See TracChangeset for help on using the changeset viewer.