Changeset 7c322bd in mainline


Ignore:
Timestamp:
2006-03-12T13:13:12Z (19 years ago)
Author:
Jakub Vana <jakub.vana@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
bdab828
Parents:
e792fa7
Message:

Itanium tlb_invalidate_all

Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • arch/ia64/include/pal/pal.h

    re792fa7 r7c322bd  
    8989#define PAL_PMI_ENTRYPOINT      32
    9090
     91/*
     92        Ski PTCE data
     93*/
     94#define PAL_PTCE_INFO_BASE() (0x100000000LL)
     95#define PAL_PTCE_INFO_COUNT1() (2)
     96#define PAL_PTCE_INFO_COUNT2() (3)
     97#define PAL_PTCE_INFO_STRIDE1() (0x10000000)
     98#define PAL_PTCE_INFO_STRIDE2() (0x2000)
     99
     100
    91101#endif
  • arch/ia64/src/mm/tlb.c

    re792fa7 r7c322bd  
    3939#include <arch/barrier.h>
    4040#include <arch/interrupt.h>
     41#include <arch/pal/pal.h>
     42#include <arch/asm.h>
    4143#include <typedefs.h>
    4244#include <panic.h>
     
    4648void tlb_invalidate_all(void)
    4749{
    48         /* TODO */
     50                __address adr;
     51                __u32 count1,count2,stride1,stride2;
     52               
     53                int i,j;
     54               
     55                adr=PAL_PTCE_INFO_BASE();
     56                count1=PAL_PTCE_INFO_COUNT1();
     57                count2=PAL_PTCE_INFO_COUNT2();
     58                stride1=PAL_PTCE_INFO_STRIDE1();
     59                stride2=PAL_PTCE_INFO_STRIDE2();
     60               
     61                interrupts_disable();
     62
     63                for(i=0;i<count1;i++)
     64                {
     65                        for(j=0;j<count2;j++)
     66                        {
     67                                asm volatile
     68                                (
     69                                        "ptc.e %0;;"
     70                                        :
     71                                        :"r" (adr)
     72                                );
     73                                adr+=stride2;
     74                        }
     75                        adr+=stride1;
     76                }
     77
     78                interrupts_enable();
     79
     80                srlz_d();
     81                srlz_i();
    4982}
    5083
  • kernel.config

    re792fa7 r7c322bd  
    9090@ "mm/slab2" SLAB test2 - SMP CPU cache
    9191@ "fault/fault1" Write to NULL (maybe page fault)
     92@ "mm/purge1" Itanium TLB purge test
    9293@ [ARCH=mips32] "debug/mips1" Mips breakpoint-debug test
    9394! CONFIG_TEST (choice)
Note: See TracChangeset for help on using the changeset viewer.