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 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 PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE) 15 #define PAGE_ALIGN_DOWN(addr) ALIGN_DOWN(addr, PAGE_SIZE) 16 17 #define __va(x) ((void *)((unsigned long)(x))) 18 #define __pa(x) ((unsigned long)(x)) 19 20 #define pfn_to_page(pfn) ((void *)((pfn) * PAGE_SIZE)) 21 22 #define phys_to_virt phys_to_virt 23 static inline void *phys_to_virt(unsigned long address) 24 { 25 return __va(address); 26 } 27 28 #define virt_to_phys virt_to_phys 29 static inline phys_addr_t virt_to_phys(volatile void *address) 30 { 31 return (phys_addr_t)address; 32 } 33 34 void reserve_bootmem_region(phys_addr_t start, phys_addr_t end, int nid); 35 36 static inline void totalram_pages_inc(void) 37 { 38 } 39 40 static inline void totalram_pages_add(long count) 41 { 42 } 43 44 static inline int early_pfn_to_nid(unsigned long pfn) 45 { 46 return 0; 47 } 48 49 #endif 50