Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Typedefs | Functions
page.h File Reference
#include <linux/const.h>
#include <hv/hypervisor.h>
#include <arch/chip.h>
#include <linux/types.h>
#include <linux/string.h>
#include <asm-generic/memory_model.h>

Go to the source code of this file.

Macros

#define PAGE_SHIFT   HV_LOG2_DEFAULT_PAGE_SIZE_SMALL
 
#define CTX_PAGE_FLAG   0
 
#define HPAGE_SHIFT   HV_LOG2_DEFAULT_PAGE_SIZE_LARGE
 
#define PAGE_SIZE   (_AC(1, UL) << PAGE_SHIFT)
 
#define HPAGE_SIZE   (_AC(1, UL) << HPAGE_SHIFT)
 
#define PAGE_MASK   (~(PAGE_SIZE - 1))
 
#define HPAGE_MASK   (~(HPAGE_SIZE - 1))
 
#define CONFIG_FORCE_MAX_ZONEORDER   (HPAGE_SHIFT - PAGE_SHIFT + 1)
 
#define __pgprot(val)   hv_pte(val)
 
#define __pte(x)   hv_pte(x)
 
#define __pgd(x)   hv_pte(x)
 
#define HUGETLB_PAGE_ORDER   (HPAGE_SHIFT - PAGE_SHIFT)
 
#define HUGE_MAX_HSTATE   6
 
#define NR_PA_HIGHBIT_SHIFT   (CHIP_PA_WIDTH() - CHIP_LOG_NUM_MSHIMS())
 
#define NR_PA_HIGHBIT_VALUES   (1 << CHIP_LOG_NUM_MSHIMS())
 
#define __pa_to_highbits(pa)   ((phys_addr_t)(pa) >> NR_PA_HIGHBIT_SHIFT)
 
#define __pfn_to_highbits(pfn)   ((pfn) >> (NR_PA_HIGHBIT_SHIFT - PAGE_SHIFT))
 
#define MEM_USER_INTRPT   _AC(0xfc000000, UL)
 
#define MEM_GUEST_INTRPT   _AC(0xfd000000, UL)
 
#define MEM_SV_INTRPT   _AC(0xfe000000, UL)
 
#define MEM_HV_INTRPT   _AC(0xff000000, UL)
 
#define INTRPT_SIZE   0x4000
 
#define KERNEL_HIGH_VADDR   MEM_USER_INTRPT
 
#define FIXADDR_TOP   (KERNEL_HIGH_VADDR - PAGE_SIZE)
 
#define PAGE_OFFSET   _AC(CONFIG_PAGE_OFFSET, UL)
 
#define MEM_MODULE_START   VMALLOC_START
 
#define MEM_MODULE_END   VMALLOC_END
 
#define virt_addr_valid(kaddr)   pfn_valid(kaddr_to_pfn(kaddr))
 
#define __pa(kaddr)   virt_to_phys((void *)(unsigned long)(kaddr))
 
#define __va(paddr)   phys_to_virt((phys_addr_t)(paddr))
 
#define page_to_pa(page)   ((phys_addr_t)(page_to_pfn(page)) << PAGE_SHIFT)
 
#define virt_to_page(kaddr)   pfn_to_page(kaddr_to_pfn((void *)(kaddr)))
 
#define page_to_virt(page)   pfn_to_kaddr(page_to_pfn(page))
 
#define VM_DATA_DEFAULT_FLAGS   (VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
 

Typedefs

typedef HV_PTE pte_t
 
typedef HV_PTE pgd_t
 
typedef HV_PTE pgprot_t
 
typedef struct pagepgtable_t
 

Functions

int devmem_is_allowed (unsigned long pagenr)
 
pte_tvirt_to_pte (struct mm_struct *mm, unsigned long addr)
 

Macro Definition Documentation

#define __pa (   kaddr)    virt_to_phys((void *)(unsigned long)(kaddr))

Definition at line 316 of file page.h.

#define __pa_to_highbits (   pa)    ((phys_addr_t)(pa) >> NR_PA_HIGHBIT_SHIFT)

Definition at line 148 of file page.h.

#define __pfn_to_highbits (   pfn)    ((pfn) >> (NR_PA_HIGHBIT_SHIFT - PAGE_SHIFT))

Definition at line 149 of file page.h.

#define __pgd (   x)    hv_pte(x)

Definition at line 100 of file page.h.

#define __pgprot (   val)    hv_pte(val)

Definition at line 96 of file page.h.

#define __pte (   x)    hv_pte(x)

Definition at line 99 of file page.h.

#define __va (   paddr)    phys_to_virt((phys_addr_t)(paddr))

Definition at line 317 of file page.h.

#define CONFIG_FORCE_MAX_ZONEORDER   (HPAGE_SHIFT - PAGE_SHIFT + 1)

Definition at line 47 of file page.h.

#define CTX_PAGE_FLAG   0

Definition at line 31 of file page.h.

#define FIXADDR_TOP   (KERNEL_HIGH_VADDR - PAGE_SIZE)

Definition at line 239 of file page.h.

#define HPAGE_MASK   (~(HPAGE_SIZE - 1))

Definition at line 39 of file page.h.

#define HPAGE_SHIFT   HV_LOG2_DEFAULT_PAGE_SIZE_LARGE

Definition at line 33 of file page.h.

#define HPAGE_SIZE   (_AC(1, UL) << HPAGE_SHIFT)

Definition at line 36 of file page.h.

#define HUGE_MAX_HSTATE   6

Definition at line 139 of file page.h.

#define HUGETLB_PAGE_ORDER   (HPAGE_SHIFT - PAGE_SHIFT)

Definition at line 137 of file page.h.

#define INTRPT_SIZE   0x4000

Definition at line 230 of file page.h.

#define KERNEL_HIGH_VADDR   MEM_USER_INTRPT

Definition at line 238 of file page.h.

#define MEM_GUEST_INTRPT   _AC(0xfd000000, UL)

Definition at line 225 of file page.h.

#define MEM_HV_INTRPT   _AC(0xff000000, UL)

Definition at line 227 of file page.h.

#define MEM_MODULE_END   VMALLOC_END

Definition at line 245 of file page.h.

#define MEM_MODULE_START   VMALLOC_START

Definition at line 244 of file page.h.

#define MEM_SV_INTRPT   _AC(0xfe000000, UL)

Definition at line 226 of file page.h.

#define MEM_USER_INTRPT   _AC(0xfc000000, UL)

Definition at line 220 of file page.h.

#define NR_PA_HIGHBIT_SHIFT   (CHIP_PA_WIDTH() - CHIP_LOG_NUM_MSHIMS())

Definition at line 146 of file page.h.

#define NR_PA_HIGHBIT_VALUES   (1 << CHIP_LOG_NUM_MSHIMS())

Definition at line 147 of file page.h.

#define PAGE_MASK   (~(PAGE_SIZE - 1))

Definition at line 38 of file page.h.

#define PAGE_OFFSET   _AC(CONFIG_PAGE_OFFSET, UL)

Definition at line 241 of file page.h.

#define PAGE_SHIFT   HV_LOG2_DEFAULT_PAGE_SIZE_SMALL

Definition at line 30 of file page.h.

#define PAGE_SIZE   (_AC(1, UL) << PAGE_SHIFT)

Definition at line 35 of file page.h.

#define page_to_pa (   page)    ((phys_addr_t)(page_to_pfn(page)) << PAGE_SHIFT)

Definition at line 329 of file page.h.

#define page_to_virt (   page)    pfn_to_kaddr(page_to_pfn(page))

Definition at line 331 of file page.h.

#define virt_addr_valid (   kaddr)    pfn_valid(kaddr_to_pfn(kaddr))

Definition at line 311 of file page.h.

#define virt_to_page (   kaddr)    pfn_to_page(kaddr_to_pfn((void *)(kaddr)))

Definition at line 330 of file page.h.

#define VM_DATA_DEFAULT_FLAGS   (VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)

Definition at line 338 of file page.h.

Typedef Documentation

typedef HV_PTE pgd_t

Definition at line 84 of file page.h.

typedef HV_PTE pgprot_t

Definition at line 85 of file page.h.

typedef struct page* pgtable_t

Definition at line 93 of file page.h.

typedef HV_PTE pte_t

Definition at line 83 of file page.h.

Function Documentation

int devmem_is_allowed ( unsigned long  pagenr)

Definition at line 663 of file init.c.

pte_t* virt_to_pte ( struct mm_struct mm,
unsigned long  addr 
)

Definition at line 377 of file pgtable.c.