1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 #ifndef _MM_INTERNAL_H 3 #define _MM_INTERNAL_H 4 5 /* 6 * Enable memblock_dbg() messages 7 */ 8 #ifdef MEMBLOCK_DEBUG 9 static int memblock_debug = 1; 10 #endif 11 12 #define pr_warn_ratelimited(fmt, ...) printf(fmt, ##__VA_ARGS__) 13 14 #define K(x) ((x) << (PAGE_SHIFT-10)) 15 16 bool mirrored_kernelcore = false; 17 18 struct page {}; 19 static inline void *page_address(struct page *page) 20 { 21 BUG(); 22 return page; 23 } 24 25 static inline struct page *virt_to_page(void *virt) 26 { 27 BUG(); 28 return virt; 29 } 30 31 #define for_each_valid_pfn(pfn, start_pfn, end_pfn) \ 32 for ((pfn) = (start_pfn); (pfn) < (end_pfn); (pfn)++) 33 34 static inline void *kasan_reset_tag(const void *addr) 35 { 36 return (void *)addr; 37 } 38 39 static inline bool __is_kernel(unsigned long addr) 40 { 41 return false; 42 } 43 44 #define for_each_valid_pfn(pfn, start_pfn, end_pfn) \ 45 for ((pfn) = (start_pfn); (pfn) < (end_pfn); (pfn)++) 46 47 #define __SetPageReserved(p) ((void)(p)) 48 49 static inline bool kho_scratch_overlap(phys_addr_t phys, size_t size) 50 { 51 return false; 52 } 53 54 #endif 55