1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _TOOLS_LINUX_MM_H
3 #define _TOOLS_LINUX_MM_H
5 #include <linux/align.h>
6 #include <linux/mmzone.h>
9 #define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
10 #define PAGE_MASK (~(PAGE_SIZE - 1))
12 #define PHYS_ADDR_MAX (~(phys_addr_t)0)
14 #define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE)
15 #define PAGE_ALIGN_DOWN(addr) ALIGN_DOWN(addr, PAGE_SIZE)
17 #define __va(x) ((void *)((unsigned long)(x)))
18 #define __pa(x) ((unsigned long)(x))
20 #define pfn_to_page(pfn) ((void *)((pfn) * PAGE_SIZE))
22 #define phys_to_virt phys_to_virt
23 static inline void *phys_to_virt(unsigned long address
)
28 #define virt_to_phys virt_to_phys
29 static inline phys_addr_t
virt_to_phys(volatile void *address
)
31 return (phys_addr_t
)address
;
34 void reserve_bootmem_region(phys_addr_t start
, phys_addr_t end
, int nid
);
36 static inline void totalram_pages_inc(void)
40 static inline void totalram_pages_add(long count
)
44 static inline int early_pfn_to_nid(unsigned long pfn
)