root/arch/sparc/mm/srmmuinv.c

/* [previous][next][first][last][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. hyper_invalidate
  2. hyper_invalidate_mp
  3. cypress_invalidate
  4. cypress_invalidate_mp
  5. cypress_invalidate_asibad
  6. cypress_invalidate_asibad_mp
  7. swift_invalidate
  8. swift_invalidate_poke_kernel_pageperms
  9. swift_invalidate_poke_kernel_pte_cbits
  10. swift_invalidate_poke_everything
  11. tsunami_invalidate
  12. viking_invalidate
  13. viking_invalidate_mp

   1 /* srmmuinv.c:  Invalidate routines for the various different
   2  *              SRMMU implementations.
   3  *
   4  * Copyright (C) 1995 David S. Miller
   5  */
   6 
   7 /* HyperSparc */
   8 hyper_invalidate(void)
     /* [previous][next][first][last][top][bottom][index][help] */
   9 {
  10         volatile unsigned int sfsr_clear;
  11 
  12         /* Flush TLB */
  13         srmmu_flush_whole_tlb();
  14 
  15         /* Flush Virtual Address Cache */
  16 
  17         /* Flush ICACHE */
  18         flush_whole_icache();
  19         sfsr_clear = srmmu_get_fstatus();
  20         return;
  21 }
  22 
  23 hyper_invalidate_mp(void)
     /* [previous][next][first][last][top][bottom][index][help] */
  24 {
  25         volatile unsigned int sfsr_clear;
  26 
  27         /* Flush TLB */
  28         srmmu_flush_whole_tlb();
  29 
  30         /* Flush Virtual Address Cache */
  31 
  32         /* Flush ICACHE */
  33         flush_whole_icache();
  34 
  35         sfsr_clear = srmmu_get_fstatus();
  36 
  37         /* Tell other CPUS to each call the Uniprocessor
  38          * invalidate routine.
  39          */
  40 
  41         return;
  42 }
  43 
  44 /* Cypress */
  45 void
  46 cypress_invalidate(void)
     /* [previous][next][first][last][top][bottom][index][help] */
  47 {
  48         /* Flush TLB */
  49         srmmu_flush_whole_tlb();
  50 
  51         /* Flush Virtual Address Cache */
  52 
  53         return;
  54 }
  55 
  56 void
  57 cypress_invalidate_mp(void)
     /* [previous][next][first][last][top][bottom][index][help] */
  58 {
  59         /* Flush TLB */
  60         srmmu_flush_whole_tlb();
  61 
  62         /* Flush Virtual Address Cache */
  63 
  64         /* Tell other CPUS to call the UP version */
  65 
  66         return;
  67 }
  68 
  69 void
  70 cypress_invalidate_asibad(void)
     /* [previous][next][first][last][top][bottom][index][help] */
  71 {
  72         /* Flush TLB */
  73         srmmu_flush_whole_tlb();
  74 
  75         /* Flush Virtual Address Cache w/o using ASIs */
  76 
  77         return;
  78 }
  79 
  80 void
  81 cypress_invalidate_asibad_mp(void)
     /* [previous][next][first][last][top][bottom][index][help] */
  82 {
  83         /* Flush TLB */
  84         srmmu_flush_whole_tlb();
  85 
  86         /* Flush Virtual Address Cache w/o using ASIs */
  87 
  88         /* Tell other CPUS to call the UP version */
  89 
  90         return;
  91 }
  92 
  93 /* Swift */
  94 void
  95 swift_invalidate(void)
     /* [previous][next][first][last][top][bottom][index][help] */
  96 {
  97         /* Flush TLB */
  98         srmmu_flush_whole_tlb();
  99 
 100         /* Flush Virtual Address Cache */
 101 
 102         return;
 103 }
 104 
 105 void
 106 swift_invalidate_poke_kernel_pageperms(void)
     /* [previous][next][first][last][top][bottom][index][help] */
 107 {
 108         /* Flush TLB */
 109         srmmu_flush_whole_tlb();
 110 
 111         /* Flush Virtual Address Cache */
 112 
 113         return;
 114 }
 115 
 116 void
 117 swift_invalidate_poke_kernel_pte_cbits(void)
     /* [previous][next][first][last][top][bottom][index][help] */
 118 {
 119         /* Flush TLB */
 120         srmmu_flush_whole_tlb();
 121 
 122         /* Flush Virtual Address Cache */
 123 
 124         return;
 125 }
 126 
 127 void
 128 swift_invalidate_poke_everything(void)
     /* [previous][next][first][last][top][bottom][index][help] */
 129 {
 130         /* Flush TLB */
 131         srmmu_flush_whole_tlb();
 132 
 133         /* Flush Virtual Address Cache */
 134 
 135         return;
 136 }
 137 
 138 /* Tsunami */
 139 tsunami_invalidate()
     /* [previous][next][first][last][top][bottom][index][help] */
 140 {
 141         /* Flush TLB */
 142         srmmu_flush_whole_tlb();
 143 
 144         /* Flush Virtual Address Cache */
 145 
 146         return;
 147 }
 148 
 149 /* Viking */
 150 viking_invalidate()
     /* [previous][next][first][last][top][bottom][index][help] */
 151 {
 152         /* Flush TLB */
 153         srmmu_flush_whole_tlb();
 154 
 155         return;
 156 }
 157 
 158 viking_invalidate_mp()
     /* [previous][next][first][last][top][bottom][index][help] */
 159 {
 160         /* Flush TLB */
 161         srmmu_flush_whole_tlb();
 162 
 163         /* Make other CPUS call UP routine. */
 164 
 165         return;
 166 }
 167 
 168 /* That should be it */

/* [previous][next][first][last][top][bottom][index][help] */