root/include/asm-sparc/swift.h

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

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. swift_inv_insn_tag
  2. swift_inv_data_tag
  3. swift_flush_page
  4. swift_flush_segment
  5. swift_flush_region
  6. swift_flush_context

   1 /* swift.h: Specific definitions for the _broken_ Swift SRMMU
   2  *          MMU.
   3  *
   4  * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
   5  */
   6 
   7 #ifndef _SPARC_SWIFT_H
   8 #define _SPARC_SWIFT_H
   9 
  10 /* Swift is so brain damaged, here is the mmu control register. */
  11 #define SWIFT_ST       0x00800000   /* SW tablewalk enable */
  12 #define SWIFT_WP       0x00400000   /* Watchpoint enable   */
  13 
  14 /* Branch folding (buggy, disable on production systems!)  */
  15 #define SWIFT_BF       0x00200000
  16 #define SWIFT_PMC      0x00180000   /* Page mode control   */
  17 #define SWIFT_PE       0x00040000   /* Parity enable       */
  18 #define SWIFT_PC       0x00020000   /* Parity control      */
  19 #define SWIFT_AP       0x00010000   /* Graphics page mode control (TCX/SX) */
  20 #define SWIFT_AC       0x00008000   /* Alternate Cacheability (see viking.h) */
  21 #define SWIFT_BM       0x00004000   /* Boot mode */
  22 #define SWIFT_RC       0x00003c00   /* DRAM refresh control */
  23 #define SWIFT_IE       0x00000200   /* Instruction cache enable */
  24 #define SWIFT_DE       0x00000100   /* Data cache enable */
  25 #define SWIFT_SA       0x00000080   /* Store Allocate */
  26 #define SWIFT_NF       0x00000002   /* No fault mode */
  27 #define SWIFT_EN       0x00000001   /* MMU enable */
  28 
  29 extern inline void swift_inv_insn_tag(unsigned long addr)
     /* [previous][next][first][last][top][bottom][index][help] */
  30 {
  31         __asm__ __volatile__("sta %%g0, [%0] %1\n\t" : :
  32                              "r" (addr), "i" (ASI_M_TXTC_TAG));
  33 }
  34 
  35 extern inline void swift_inv_data_tag(unsigned long addr)
     /* [previous][next][first][last][top][bottom][index][help] */
  36 {
  37         __asm__ __volatile__("sta %%g0, [%0] %1\n\t" : :
  38                              "r" (addr), "i" (ASI_M_DATAC_TAG));
  39 }
  40 
  41 extern inline void swift_flush_page(unsigned long page)
     /* [previous][next][first][last][top][bottom][index][help] */
  42 {
  43         __asm__ __volatile__("sta %%g0, [%0] %1\n\t" : :
  44                              "r" (page), "i" (ASI_M_FLUSH_PAGE));
  45 }
  46 
  47 extern inline void swift_flush_segment(unsigned long addr)
     /* [previous][next][first][last][top][bottom][index][help] */
  48 {
  49         __asm__ __volatile__("sta %%g0, [%0] %1\n\t" : :
  50                              "r" (addr), "i" (ASI_M_FLUSH_SEG));
  51 }
  52 
  53 extern inline void swift_flush_region(unsigned long addr)
     /* [previous][next][first][last][top][bottom][index][help] */
  54 {
  55         __asm__ __volatile__("sta %%g0, [%0] %1\n\t" : :
  56                              "r" (addr), "i" (ASI_M_FLUSH_REGION));
  57 }
  58 
  59 extern inline void swift_flush_context(void)
     /* [previous][next][first][last][top][bottom][index][help] */
  60 {
  61         __asm__ __volatile__("sta %%g0, [%%g0] %0\n\t" : :
  62                              "i" (ASI_M_FLUSH_CTX));
  63 }
  64 
  65 #endif /* !(_SPARC_SWIFT_H) */

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