initial commit with v2.6.9
[linux-2.6.9-moxart.git] / include / asm-um / page.h
blobf69b0f1c270ede5f0ce3284983dfcfa299c6b506
1 /*
2 * Copyright (C) 2000 - 2003 Jeff Dike (jdike@addtoit.com)
3 * Licensed under the GPL
4 */
6 #ifndef __UM_PAGE_H
7 #define __UM_PAGE_H
9 struct page;
11 #include "asm/arch/page.h"
13 #undef __pa
14 #undef __va
15 #undef pfn_to_page
16 #undef page_to_pfn
17 #undef virt_to_page
18 #undef pfn_valid
19 #undef virt_addr_valid
20 #undef VALID_PAGE
21 #undef PAGE_OFFSET
22 #undef KERNELBASE
24 extern unsigned long uml_physmem;
26 #define PAGE_OFFSET (uml_physmem)
27 #define KERNELBASE PAGE_OFFSET
29 #define __va_space (8*1024*1024)
31 extern unsigned long to_phys(void *virt);
32 extern void *to_virt(unsigned long phys);
34 #define __pa(virt) to_phys((void *) virt)
35 #define __va(phys) to_virt((unsigned long) phys)
37 #define page_to_pfn(page) ((page) - mem_map)
38 #define pfn_to_page(pfn) (mem_map + (pfn))
40 #define phys_to_pfn(p) ((p) >> PAGE_SHIFT)
41 #define pfn_to_phys(pfn) ((pfn) << PAGE_SHIFT)
43 #define pfn_valid(pfn) ((pfn) < max_mapnr)
44 #define virt_addr_valid(v) pfn_valid(phys_to_pfn(__pa(v)))
46 extern struct page *arch_validate(struct page *page, int mask, int order);
47 #define HAVE_ARCH_VALIDATE
49 extern void arch_free_page(struct page *page, int order);
50 #define HAVE_ARCH_FREE_PAGE
52 #endif