Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
pte-hash64-64k.h File Reference

Go to the source code of this file.

Macros

#define _PAGE_SPECIAL   0x00000400 /* software: special page */
 
#define _PAGE_HPTE_SUB   0x0ffff000 /* combo only: sub pages HPTE bits */
 
#define _PAGE_HPTE_SUB0   0x08000000 /* combo only: first sub page */
 
#define _PAGE_COMBO   0x10000000 /* this is a combo 4k page */
 
#define _PAGE_4K_PFN   0x20000000 /* PFN is for a single 4k page */
 
#define _PAGE_HASHPTE   _PAGE_HPTE_SUB
 
#define _PAGE_F_SECOND   0x00008000 /* full page: hidx bits */
 
#define _PAGE_F_GIX   0x00007000 /* full page: hidx bits */
 
#define _PAGE_HPTEFLAGS   (_PAGE_BUSY | _PAGE_HASHPTE | _PAGE_COMBO)
 
#define PTE_RPN_SHIFT   (30)
 
#define __real_pte(e, p)
 
#define __rpte_to_hidx(r, index)
 
#define __rpte_to_pte(r)   ((r).pte)
 
#define __rpte_sub_valid(rpte, index)   (pte_val(rpte.pte) & (_PAGE_HPTE_SUB0 >> (index)))
 
#define pte_iterate_hashed_subpages(rpte, psize, vpn, index, shift)
 
#define pte_iterate_hashed_end()   } while(0); } } while(0)
 
#define pte_pagesize_index(mm, addr, pte)   (((pte) & _PAGE_COMBO)? MMU_PAGE_4K: MMU_PAGE_64K)
 
#define remap_4k_pfn(vma, addr, pfn, prot)
 

Macro Definition Documentation

#define __real_pte (   e,
  p 
)
Value:
((real_pte_t) { \
(e), ((e) & _PAGE_COMBO) ? \
(pte_val(*((p) + PTRS_PER_PTE))) : 0 })

Definition at line 49 of file pte-hash64-64k.h.

#define __rpte_sub_valid (   rpte,
  index 
)    (pte_val(rpte.pte) & (_PAGE_HPTE_SUB0 >> (index)))

Definition at line 55 of file pte-hash64-64k.h.

#define __rpte_to_hidx (   r,
  index 
)
Value:
((pte_val((r).pte) & _PAGE_COMBO) ? \
(((r).hidx >> ((index)<<2)) & 0xf) : ((pte_val((r).pte) >> 12) & 0xf))

Definition at line 52 of file pte-hash64-64k.h.

#define __rpte_to_pte (   r)    ((r).pte)

Definition at line 54 of file pte-hash64-64k.h.

#define _PAGE_4K_PFN   0x20000000 /* PFN is for a single 4k page */

Definition at line 8 of file pte-hash64-64k.h.

#define _PAGE_COMBO   0x10000000 /* this is a combo 4k page */

Definition at line 7 of file pte-hash64-64k.h.

#define _PAGE_F_GIX   0x00007000 /* full page: hidx bits */

Definition at line 29 of file pte-hash64-64k.h.

#define _PAGE_F_SECOND   0x00008000 /* full page: hidx bits */

Definition at line 28 of file pte-hash64-64k.h.

#define _PAGE_HASHPTE   _PAGE_HPTE_SUB

Definition at line 22 of file pte-hash64-64k.h.

#define _PAGE_HPTE_SUB   0x0ffff000 /* combo only: sub pages HPTE bits */

Definition at line 5 of file pte-hash64-64k.h.

#define _PAGE_HPTE_SUB0   0x08000000 /* combo only: first sub page */

Definition at line 6 of file pte-hash64-64k.h.

#define _PAGE_HPTEFLAGS   (_PAGE_BUSY | _PAGE_HASHPTE | _PAGE_COMBO)

Definition at line 32 of file pte-hash64-64k.h.

#define _PAGE_SPECIAL   0x00000400 /* software: special page */

Definition at line 4 of file pte-hash64-64k.h.

#define pte_iterate_hashed_end ( )    } while(0); } } while(0)

Definition at line 72 of file pte-hash64-64k.h.

#define pte_iterate_hashed_subpages (   rpte,
  psize,
  vpn,
  index,
  shift 
)
Value:
do { \
unsigned long __end = vpn + (1UL << (PAGE_SHIFT - VPN_SHIFT)); \
unsigned __split = (psize == MMU_PAGE_4K || \
psize == MMU_PAGE_64K_AP); \
shift = mmu_psize_defs[psize].shift; \
for (index = 0; vpn < __end; index++, \
vpn += (1L << (shift - VPN_SHIFT))) { \
if (!__split || __rpte_sub_valid(rpte, index)) \
do {

Definition at line 61 of file pte-hash64-64k.h.

#define pte_pagesize_index (   mm,
  addr,
  pte 
)    (((pte) & _PAGE_COMBO)? MMU_PAGE_4K: MMU_PAGE_64K)

Definition at line 74 of file pte-hash64-64k.h.

#define PTE_RPN_SHIFT   (30)

Definition at line 39 of file pte-hash64-64k.h.

#define remap_4k_pfn (   vma,
  addr,
  pfn,
  prot 
)
Value:

Definition at line 77 of file pte-hash64-64k.h.