1
2 #ifndef _PPC_BOOT_PAGE_H
3 #define _PPC_BOOT_PAGE_H
4
5
6
7
8 #ifdef __ASSEMBLY__
9 #define ASM_CONST(x) x
10 #else
11 #define __ASM_CONST(x) x##UL
12 #define ASM_CONST(x) __ASM_CONST(x)
13 #endif
14
15
16 #define PAGE_SHIFT 12
17 #define PAGE_SIZE (ASM_CONST(1) << PAGE_SHIFT)
18 #define PAGE_MASK (~(PAGE_SIZE-1))
19
20
21 #define _ALIGN_UP(addr, size) (((addr)+((size)-1))&(~((typeof(addr))(size)-1)))
22 #define _ALIGN_DOWN(addr, size) ((addr)&(~((typeof(addr))(size)-1)))
23
24
25 #define _ALIGN(addr,size) _ALIGN_UP(addr,size)
26
27
28 #define PAGE_ALIGN(addr) _ALIGN(addr, PAGE_SIZE)
29
30 #endif