1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 202afa9a8SChris Brandt #ifndef _ASM_ARM_SECTIONS_H 302afa9a8SChris Brandt #define _ASM_ARM_SECTIONS_H 402afa9a8SChris Brandt 502afa9a8SChris Brandt #include <asm-generic/sections.h> 602afa9a8SChris Brandt 702afa9a8SChris Brandt extern char _exiprom[]; 802afa9a8SChris Brandt 9*c6089061SRussell King extern char __idmap_text_start[]; 10*c6089061SRussell King extern char __idmap_text_end[]; 11*c6089061SRussell King extern char __entry_text_start[]; 12*c6089061SRussell King extern char __entry_text_end[]; 13*c6089061SRussell King extern char __hyp_idmap_text_start[]; 14*c6089061SRussell King extern char __hyp_idmap_text_end[]; 15*c6089061SRussell King 16*c6089061SRussell King static inline bool in_entry_text(unsigned long addr) 17*c6089061SRussell King { 18*c6089061SRussell King return memory_contains(__entry_text_start, __entry_text_end, 19*c6089061SRussell King (void *)addr, 1); 20*c6089061SRussell King } 21*c6089061SRussell King 22*c6089061SRussell King static inline bool in_idmap_text(unsigned long addr) 23*c6089061SRussell King { 24*c6089061SRussell King void *a = (void *)addr; 25*c6089061SRussell King return memory_contains(__idmap_text_start, __idmap_text_end, a, 1) || 26*c6089061SRussell King memory_contains(__hyp_idmap_text_start, __hyp_idmap_text_end, 27*c6089061SRussell King a, 1); 28*c6089061SRussell King } 29*c6089061SRussell King 3002afa9a8SChris Brandt #endif /* _ASM_ARM_SECTIONS_H */ 31