]>
Commit | Line | Data |
---|---|---|
2874c5fd | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
decd300b OH |
2 | #ifndef _PPC_BOOT_PAGE_H |
3 | #define _PPC_BOOT_PAGE_H | |
4 | /* | |
5 | * Copyright (C) 2001 PPC64 Team, IBM Corp | |
decd300b OH |
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 | /* PAGE_SHIFT determines the page size */ | |
16 | #define PAGE_SHIFT 12 | |
17 | #define PAGE_SIZE (ASM_CONST(1) << PAGE_SHIFT) | |
18 | #define PAGE_MASK (~(PAGE_SIZE-1)) | |
19 | ||
20 | /* align addr on a size boundary - adjust address up/down if needed */ | |
f78f7ed7 AK |
21 | #define _ALIGN_UP(addr, size) (((addr)+((size)-1))&(~((typeof(addr))(size)-1))) |
22 | #define _ALIGN_DOWN(addr, size) ((addr)&(~((typeof(addr))(size)-1))) | |
decd300b OH |
23 | |
24 | /* align addr on a size boundary - adjust address up if needed */ | |
25 | #define _ALIGN(addr,size) _ALIGN_UP(addr,size) | |
26 | ||
27 | /* to align the pointer to the (next) page boundary */ | |
28 | #define PAGE_ALIGN(addr) _ALIGN(addr, PAGE_SIZE) | |
29 | ||
30 | #endif /* _PPC_BOOT_PAGE_H */ |