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 */ 32typedef unsigned long pte_t; 33typedef unsigned long pmd_t; 34typedef unsigned long pgd_t[2]; 35typedef 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#endif 47