1fd33143eSAndrew Jones #ifndef _ASMARM_PAGE_H_ 2fd33143eSAndrew Jones #define _ASMARM_PAGE_H_ 3fd33143eSAndrew Jones /* 4fd33143eSAndrew Jones * Copyright (C) 2014, Red Hat Inc, Andrew Jones <drjones@redhat.com> 5fd33143eSAndrew Jones * 6fd33143eSAndrew Jones * This work is licensed under the terms of the GNU LGPL, version 2. 7fd33143eSAndrew Jones */ 8fd33143eSAndrew Jones 9*09121d03SAndrew Jones #include "const.h" 10*09121d03SAndrew Jones 11fd33143eSAndrew Jones #define PAGE_SHIFT 12 12*09121d03SAndrew Jones #define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT) 13fd33143eSAndrew Jones #define PAGE_MASK (~(PAGE_SIZE-1)) 14fd33143eSAndrew Jones 15fd33143eSAndrew Jones #ifndef __ASSEMBLY__ 16*09121d03SAndrew Jones 17*09121d03SAndrew Jones #define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE) 18*09121d03SAndrew Jones 19fd33143eSAndrew Jones #include <asm/setup.h> 20fd33143eSAndrew Jones 21fd33143eSAndrew Jones #ifndef __virt_to_phys 22fd33143eSAndrew Jones #define __phys_to_virt(x) ((unsigned long) (x)) 23fd33143eSAndrew Jones #define __virt_to_phys(x) (x) 24fd33143eSAndrew Jones #endif 25fd33143eSAndrew Jones 26fd33143eSAndrew Jones #define __va(x) ((void *)__phys_to_virt((phys_addr_t)(x))) 27fd33143eSAndrew Jones #define __pa(x) __virt_to_phys((unsigned long)(x)) 28fd33143eSAndrew Jones 29fd33143eSAndrew Jones #define virt_to_pfn(kaddr) (__pa(kaddr) >> PAGE_SHIFT) 30fd33143eSAndrew Jones #define pfn_to_virt(pfn) __va((pfn) << PAGE_SHIFT) 31fd33143eSAndrew Jones 32*09121d03SAndrew Jones #endif /* __ASSEMBLY__ */ 33*09121d03SAndrew Jones 34*09121d03SAndrew Jones #endif /* _ASMARM_PAGE_H_ */ 35