1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _TOOLS_LINUX_MM_H 3 #define _TOOLS_LINUX_MM_H 4 5 #include <linux/align.h> 6 #include <linux/mmzone.h> 7 #include <linux/sizes.h> 8 9 #define PAGE_SHIFT 12 10 #define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT) 11 #define PAGE_MASK (~(PAGE_SIZE - 1)) 12 13 #define PHYS_ADDR_MAX (~(phys_addr_t)0) 14 15 #define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE) 16 #define PAGE_ALIGN_DOWN(addr) ALIGN_DOWN(addr, PAGE_SIZE) 17 18 #define __va(x) ((void *)((unsigned long)(x))) 19 #define __pa(x) ((unsigned long)(x)) 20 21 #define pfn_to_page(pfn) ((void *)((pfn) * PAGE_SIZE)) 22 23 #define phys_to_virt phys_to_virt 24 static inline void *phys_to_virt(unsigned long address) 25 { 26 return __va(address); 27 } 28 29 #define virt_to_phys virt_to_phys 30 static inline phys_addr_t virt_to_phys(volatile void *address) 31 { 32 return (phys_addr_t)address; 33 } 34 35 void reserve_bootmem_region(phys_addr_t start, phys_addr_t end, int nid); 36 37 static inline void totalram_pages_inc(void) 38 { 39 } 40 41 static inline void totalram_pages_add(long count) 42 { 43 } 44 45 static inline int early_pfn_to_nid(unsigned long pfn) 46 { 47 return 0; 48 } 49 50 #endif 51