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

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