1 /* 2 * arch/arm/include/asm/page-nommu.h 3 * 4 * Copyright (C) 2004 Hyok S. Choi 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 */ 10 11 #ifndef _ASMARM_PAGE_NOMMU_H 12 #define _ASMARM_PAGE_NOMMU_H 13 14 #if !defined(CONFIG_SMALL_TASKS) && PAGE_SHIFT < 13 15 #define KTHREAD_SIZE (8192) 16 #else 17 #define KTHREAD_SIZE PAGE_SIZE 18 #endif 19 20 #define get_user_page(vaddr) __get_free_page(GFP_KERNEL) 21 #define free_user_page(page, addr) free_page(addr) 22 23 #define clear_page(page) memset((page), 0, PAGE_SIZE) 24 #define copy_page(to,from) memcpy((to), (from), PAGE_SIZE) 25 26 #define clear_user_page(page, vaddr, pg) clear_page(page) 27 #define copy_user_page(to, from, vaddr, pg) copy_page(to, from) 28 29 /* 30 * These are used to make use of C type-checking.. 31 */ 32 typedef unsigned long pte_t; 33 typedef unsigned long pmd_t; 34 typedef unsigned long pgd_t[2]; 35 typedef unsigned long pgprot_t; 36 37 #define pte_val(x) (x) 38 #define pmd_val(x) (x) 39 #define pgd_val(x) ((x)[0]) 40 #define pgprot_val(x) (x) 41 42 #define __pte(x) (x) 43 #define __pmd(x) (x) 44 #define __pgprot(x) (x) 45 46 extern unsigned long memory_start; 47 extern unsigned long memory_end; 48 49 #endif 50