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 #define __pa_symbol(x) ((unsigned long)(x)) 21 22 #define pfn_to_page(pfn) ((void *)((pfn) * PAGE_SIZE)) 23 24 #define phys_to_virt phys_to_virt 25 static inline void *phys_to_virt(unsigned long address) 26 { 27 return __va(address); 28 } 29 30 #define virt_to_phys virt_to_phys 31 static inline phys_addr_t virt_to_phys(volatile void *address) 32 { 33 return (phys_addr_t)address; 34 } 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