Ignore:
File:
1 edited

Legend:

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

    r74dcc07 r9d58539  
    3737#include <arch/mm/asid.h>
    3838#include <arch/asm.h>
    39 #include <arch/cp15.h>
    4039#include <typedefs.h>
    4140#include <arch/mm/page.h>
     
    4746void tlb_invalidate_all(void)
    4847{
    49         TLBIALL_write(0);
     48        asm volatile (
     49                "eor r1, r1\n"
     50                "mcr p15, 0, r1, c8, c7, 0\n"
     51                ::: "r1"
     52        );
    5053}
    5154
     
    5760{
    5861        tlb_invalidate_all();
    59         // TODO: why not TLBIASID_write(asid) ?
    6062}
    6163
     
    6365 *
    6466 * @param page Virtual adress of the page
    65  */
     67 */ 
    6668static inline void invalidate_page(uintptr_t page)
    6769{
    68         TLBIMVA_write(page);
    69         //TODO: What about TLBIMVAA?
     70        asm volatile (
     71                "mcr p15, 0, %[page], c8, c7, 1\n"
     72                :: [page] "r" (page)
     73        );
    7074}
    7175
Note: See TracChangeset for help on using the changeset viewer.