50 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef _TOOLS_LINUX_MM_H3#define _TOOLS_LINUX_MM_H4 5#include <linux/align.h>6#include <linux/mmzone.h>7 8#define PAGE_SHIFT 129#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_virt23static inline void *phys_to_virt(unsigned long address)24{25 return __va(address);26}27 28#define virt_to_phys virt_to_phys29static inline phys_addr_t virt_to_phys(volatile void *address)30{31 return (phys_addr_t)address;32}33 34void reserve_bootmem_region(phys_addr_t start, phys_addr_t end, int nid);35 36static inline void totalram_pages_inc(void)37{38}39 40static inline void totalram_pages_add(long count)41{42}43 44static inline int early_pfn_to_nid(unsigned long pfn)45{46 return 0;47}48 49#endif50