Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2.6.20 95 lines 2.7 kB view raw
1#ifndef _ASM_M32R_PAGE_H 2#define _ASM_M32R_PAGE_H 3 4 5/* PAGE_SHIFT determines the page size */ 6#define PAGE_SHIFT 12 7#define PAGE_SIZE (1UL << PAGE_SHIFT) 8#define PAGE_MASK (~(PAGE_SIZE-1)) 9 10#ifdef __KERNEL__ 11#ifndef __ASSEMBLY__ 12 13extern void clear_page(void *to); 14extern void copy_page(void *to, void *from); 15 16#define clear_user_page(page, vaddr, pg) clear_page(page) 17#define copy_user_page(to, from, vaddr, pg) copy_page(to, from) 18 19#define alloc_zeroed_user_highpage(vma, vaddr) alloc_page_vma(GFP_HIGHUSER | __GFP_ZERO, vma, vaddr) 20#define __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE 21 22/* 23 * These are used to make use of C type-checking.. 24 */ 25typedef struct { unsigned long pte; } pte_t; 26typedef struct { unsigned long pmd; } pmd_t; 27typedef struct { unsigned long pgd; } pgd_t; 28#define pte_val(x) ((x).pte) 29#define PTE_MASK PAGE_MASK 30 31typedef struct { unsigned long pgprot; } pgprot_t; 32 33#define pmd_val(x) ((x).pmd) 34#define pgd_val(x) ((x).pgd) 35#define pgprot_val(x) ((x).pgprot) 36 37#define __pte(x) ((pte_t) { (x) } ) 38#define __pmd(x) ((pmd_t) { (x) } ) 39#define __pgd(x) ((pgd_t) { (x) } ) 40#define __pgprot(x) ((pgprot_t) { (x) } ) 41 42#endif /* !__ASSEMBLY__ */ 43 44/* to align the pointer to the (next) page boundary */ 45#define PAGE_ALIGN(addr) (((addr) + PAGE_SIZE - 1) & PAGE_MASK) 46 47/* 48 * This handles the memory map.. We could make this a config 49 * option, but too many people screw it up, and too few need 50 * it. 51 * 52 * A __PAGE_OFFSET of 0xC0000000 means that the kernel has 53 * a virtual address space of one gigabyte, which limits the 54 * amount of physical memory you can use to about 950MB. 55 * 56 * If you want more physical memory than this then see the CONFIG_HIGHMEM4G 57 * and CONFIG_HIGHMEM64G options in the kernel configuration. 58 */ 59 60 61/* This handles the memory map.. */ 62 63#define __MEMORY_START CONFIG_MEMORY_START 64#define __MEMORY_SIZE CONFIG_MEMORY_SIZE 65 66#ifdef CONFIG_MMU 67#define __PAGE_OFFSET (0x80000000) 68#else 69#define __PAGE_OFFSET (0x00000000) 70#endif 71 72#define PAGE_OFFSET ((unsigned long)__PAGE_OFFSET) 73#define __pa(x) ((unsigned long)(x) - PAGE_OFFSET) 74#define __va(x) ((void *)((unsigned long)(x) + PAGE_OFFSET)) 75 76#ifndef CONFIG_DISCONTIGMEM 77#define PFN_BASE (CONFIG_MEMORY_START >> PAGE_SHIFT) 78#define ARCH_PFN_OFFSET PFN_BASE 79#define pfn_valid(pfn) (((pfn) - PFN_BASE) < max_mapnr) 80#endif /* !CONFIG_DISCONTIGMEM */ 81 82#define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) 83#define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) 84 85#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ 86 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC ) 87 88#define devmem_is_allowed(x) 1 89 90#include <asm-generic/memory_model.h> 91#include <asm-generic/page.h> 92 93#endif /* __KERNEL__ */ 94#endif /* _ASM_M32R_PAGE_H */ 95