12473bc35SKarolina Drobnik /* SPDX-License-Identifier: GPL-2.0 */ 22473bc35SKarolina Drobnik #ifndef _TOOLS_LINUX_MM_H 32473bc35SKarolina Drobnik #define _TOOLS_LINUX_MM_H 42473bc35SKarolina Drobnik 510a04ff0SAlexander Lobakin #include <linux/align.h> 62473bc35SKarolina Drobnik #include <linux/mmzone.h> 72473bc35SKarolina Drobnik 82473bc35SKarolina Drobnik #define PAGE_SHIFT 12 92473bc35SKarolina Drobnik #define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT) 102473bc35SKarolina Drobnik #define PAGE_MASK (~(PAGE_SIZE - 1)) 112473bc35SKarolina Drobnik 122473bc35SKarolina Drobnik #define PHYS_ADDR_MAX (~(phys_addr_t)0) 132473bc35SKarolina Drobnik 142473bc35SKarolina Drobnik #define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE) 15b73f6b98SWei Yang #define PAGE_ALIGN_DOWN(addr) ALIGN_DOWN(addr, PAGE_SIZE) 162473bc35SKarolina Drobnik 172473bc35SKarolina Drobnik #define __va(x) ((void *)((unsigned long)(x))) 182473bc35SKarolina Drobnik #define __pa(x) ((unsigned long)(x)) 192473bc35SKarolina Drobnik 202473bc35SKarolina Drobnik #define pfn_to_page(pfn) ((void *)((pfn) * PAGE_SIZE)) 212473bc35SKarolina Drobnik 222473bc35SKarolina Drobnik #define phys_to_virt phys_to_virt phys_to_virt(unsigned long address)232473bc35SKarolina Drobnikstatic inline void *phys_to_virt(unsigned long address) 242473bc35SKarolina Drobnik { 252473bc35SKarolina Drobnik return __va(address); 262473bc35SKarolina Drobnik } 272473bc35SKarolina Drobnik 28*39f64e40SWei Yang #define virt_to_phys virt_to_phys virt_to_phys(volatile void * address)29*39f64e40SWei Yangstatic inline phys_addr_t virt_to_phys(volatile void *address) 30*39f64e40SWei Yang { 31*39f64e40SWei Yang return (phys_addr_t)address; 32*39f64e40SWei Yang } 33*39f64e40SWei Yang 344b2d6312SRong Tao void reserve_bootmem_region(phys_addr_t start, phys_addr_t end, int nid); 352473bc35SKarolina Drobnik totalram_pages_inc(void)362473bc35SKarolina Drobnikstatic inline void totalram_pages_inc(void) 372473bc35SKarolina Drobnik { 382473bc35SKarolina Drobnik } 392473bc35SKarolina Drobnik totalram_pages_add(long count)402473bc35SKarolina Drobnikstatic inline void totalram_pages_add(long count) 412473bc35SKarolina Drobnik { 422473bc35SKarolina Drobnik } 432473bc35SKarolina Drobnik early_pfn_to_nid(unsigned long pfn)447d8ed162SWei Yangstatic inline int early_pfn_to_nid(unsigned long pfn) 457d8ed162SWei Yang { 467d8ed162SWei Yang return 0; 477d8ed162SWei Yang } 487d8ed162SWei Yang 492473bc35SKarolina Drobnik #endif 50