Merge tag 'smp-urgent-2023-09-02' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / tools / include / linux / mm.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _TOOLS_LINUX_MM_H
3 #define _TOOLS_LINUX_MM_H
4
5 #include <linux/mmzone.h>
6 #include <uapi/linux/const.h>
7
8 #define PAGE_SHIFT              12
9 #define PAGE_SIZE               (_AC(1, UL) << PAGE_SHIFT)
10 #define PAGE_MASK               (~(PAGE_SIZE - 1))
11
12 #define PHYS_ADDR_MAX   (~(phys_addr_t)0)
13
14 #define __ALIGN_KERNEL(x, a)            __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1)
15 #define __ALIGN_KERNEL_MASK(x, mask)    (((x) + (mask)) & ~(mask))
16 #define ALIGN(x, a)                     __ALIGN_KERNEL((x), (a))
17 #define ALIGN_DOWN(x, a)                __ALIGN_KERNEL((x) - ((a) - 1), (a))
18
19 #define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE)
20
21 #define __va(x) ((void *)((unsigned long)(x)))
22 #define __pa(x) ((unsigned long)(x))
23
24 #define pfn_to_page(pfn) ((void *)((pfn) * PAGE_SIZE))
25
26 #define phys_to_virt phys_to_virt
27 static inline void *phys_to_virt(unsigned long address)
28 {
29         return __va(address);
30 }
31
32 void reserve_bootmem_region(phys_addr_t start, phys_addr_t end);
33
34 static inline void totalram_pages_inc(void)
35 {
36 }
37
38 static inline void totalram_pages_add(long count)
39 {
40 }
41
42 #endif