[BACK]Return to pmap.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / arch / powerpc / oea

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/arch/powerpc/oea/pmap.c between version 1.82.2.1 and 1.82.2.2

version 1.82.2.1, 2012/04/17 00:06:47 version 1.82.2.2, 2012/10/30 17:20:13
Line 91  __KERNEL_RCSID(0, "$NetBSD$");
Line 91  __KERNEL_RCSID(0, "$NetBSD$");
 #include <powerpc/oea/sr_601.h>  #include <powerpc/oea/sr_601.h>
   
 #ifdef ALTIVEC  #ifdef ALTIVEC
 int pmap_use_altivec;  extern int pmap_use_altivec;
 #endif  #endif
   
 volatile struct pteg *pmap_pteg_table;  
 unsigned int pmap_pteg_cnt;  
 unsigned int pmap_pteg_mask;  
 #ifdef PMAP_MEMLIMIT  #ifdef PMAP_MEMLIMIT
 static paddr_t pmap_memlimit = PMAP_MEMLIMIT;  static paddr_t pmap_memlimit = PMAP_MEMLIMIT;
 #else  #else
 static paddr_t pmap_memlimit = -PAGE_SIZE;              /* there is no limit */  static paddr_t pmap_memlimit = -PAGE_SIZE;              /* there is no limit */
 #endif  #endif
   
 struct pmap kernel_pmap_;  extern struct pmap kernel_pmap_;
 unsigned int pmap_pages_stolen;  static unsigned int pmap_pages_stolen;
 u_long pmap_pte_valid;  static u_long pmap_pte_valid;
 #if defined(DIAGNOSTIC) || defined(DEBUG) || defined(PMAPCHECK)  #if defined(DIAGNOSTIC) || defined(DEBUG) || defined(PMAPCHECK)
 u_long pmap_pvo_enter_depth;  static u_long pmap_pvo_enter_depth;
 u_long pmap_pvo_remove_depth;  static u_long pmap_pvo_remove_depth;
 #endif  #endif
   
 #ifndef MSGBUFADDR  #ifndef MSGBUFADDR
Line 171  static u_int mem_cnt, avail_cnt;
Line 168  static u_int mem_cnt, avail_cnt;
 #define pmap_pinit              PMAPNAME(pinit)  #define pmap_pinit              PMAPNAME(pinit)
 #define pmap_procwr             PMAPNAME(procwr)  #define pmap_procwr             PMAPNAME(procwr)
   
   #define pmap_pool               PMAPNAME(pool)
   #define pmap_upvo_pool          PMAPNAME(upvo_pool)
   #define pmap_mpvo_pool          PMAPNAME(mpvo_pool)
   #define pmap_pvo_table          PMAPNAME(pvo_table)
 #if defined(DEBUG) || defined(PMAPCHECK) || defined(DDB)  #if defined(DEBUG) || defined(PMAPCHECK) || defined(DDB)
 #define pmap_pte_print          PMAPNAME(pte_print)  #define pmap_pte_print          PMAPNAME(pte_print)
 #define pmap_pteg_check         PMAPNAME(pteg_check)  #define pmap_pteg_check         PMAPNAME(pteg_check)
Line 336  struct pvo_page {
Line 337  struct pvo_page {
 SIMPLEQ_HEAD(pvop_head, pvo_page);  SIMPLEQ_HEAD(pvop_head, pvo_page);
 static struct pvop_head pmap_upvop_head = SIMPLEQ_HEAD_INITIALIZER(pmap_upvop_head);  static struct pvop_head pmap_upvop_head = SIMPLEQ_HEAD_INITIALIZER(pmap_upvop_head);
 static struct pvop_head pmap_mpvop_head = SIMPLEQ_HEAD_INITIALIZER(pmap_mpvop_head);  static struct pvop_head pmap_mpvop_head = SIMPLEQ_HEAD_INITIALIZER(pmap_mpvop_head);
 u_long pmap_upvop_free;  static u_long pmap_upvop_free;
 u_long pmap_upvop_maxfree;  static u_long pmap_upvop_maxfree;
 u_long pmap_mpvop_free;  static u_long pmap_mpvop_free;
 u_long pmap_mpvop_maxfree;  static u_long pmap_mpvop_maxfree;
   
 static void *pmap_pool_ualloc(struct pool *, int);  static void *pmap_pool_ualloc(struct pool *, int);
 static void *pmap_pool_malloc(struct pool *, int);  static void *pmap_pool_malloc(struct pool *, int);
Line 489  extern struct evcnt pmap_evcnt_idlezeroe
Line 490  extern struct evcnt pmap_evcnt_idlezeroe
 /* XXXSL: this needs to be moved to assembler */  /* XXXSL: this needs to be moved to assembler */
 #define TLBIEL(va)      __asm __volatile("tlbie %0" :: "r"(va))  #define TLBIEL(va)      __asm __volatile("tlbie %0" :: "r"(va))
   
   #ifdef MD_TLBSYNC
   #define TLBSYNC()       MD_TLBSYNC()
   #else
 #define TLBSYNC()       __asm volatile("tlbsync")  #define TLBSYNC()       __asm volatile("tlbsync")
   #endif
 #define SYNC()          __asm volatile("sync")  #define SYNC()          __asm volatile("sync")
 #define EIEIO()         __asm volatile("eieio")  #define EIEIO()         __asm volatile("eieio")
 #define DCBST(va)       __asm __volatile("dcbst 0,%0" :: "r"(va))  #define DCBST(va)       __asm __volatile("dcbst 0,%0" :: "r"(va))
Line 1938  pmap_enter(pmap_t pm, vaddr_t va, paddr_
Line 1943  pmap_enter(pmap_t pm, vaddr_t va, paddr_
                                 break;                                  break;
                         }                          }
                 }                  }
   #ifdef MULTIPROCESSOR
                   if (((mfpvr() >> 16) & 0xffff) == MPC603e)
                           pte_lo = PTE_M;
   #endif
         } else {          } else {
                 pte_lo |= PTE_I;                  pte_lo |= PTE_I;
         }          }
Line 2031  pmap_kenter_pa(vaddr_t va, paddr_t pa, v
Line 2040  pmap_kenter_pa(vaddr_t va, paddr_t pa, v
                                 break;                                  break;
                         }                          }
                 }                  }
   #ifdef MULTIPROCESSOR
                   if (((mfpvr() >> 16) & 0xffff) == MPC603e)
                           pte_lo = PTE_M;
   #endif
         }          }
   
         if (prot & VM_PROT_WRITE)          if (prot & VM_PROT_WRITE)

Legend:
Removed from v.1.82.2.1  
changed lines
  Added in v.1.82.2.2

CVSweb <webmaster@jp.NetBSD.org>