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 9c6089061SRussell King extern char __idmap_text_start[]; 10c6089061SRussell King extern char __idmap_text_end[]; 11c6089061SRussell King extern char __entry_text_start[]; 12c6089061SRussell King extern char __entry_text_end[]; 13c6089061SRussell King extern char __hyp_idmap_text_start[]; 14c6089061SRussell King extern char __hyp_idmap_text_end[]; 15c6089061SRussell King 16c6089061SRussell King static inline bool in_entry_text(unsigned long addr) 17c6089061SRussell King { 18c6089061SRussell King return memory_contains(__entry_text_start, __entry_text_end, 19c6089061SRussell King (void *)addr, 1); 20c6089061SRussell King } 21c6089061SRussell King 22c6089061SRussell King static inline bool in_idmap_text(unsigned long addr) 23c6089061SRussell King { 24c6089061SRussell King void *a = (void *)addr; 25c6089061SRussell King return memory_contains(__idmap_text_start, __idmap_text_end, a, 1) || 26c6089061SRussell King memory_contains(__hyp_idmap_text_start, __hyp_idmap_text_end, 27c6089061SRussell King a, 1); 28c6089061SRussell King } 29c6089061SRussell King 3002afa9a8SChris Brandt #endif /* _ASM_ARM_SECTIONS_H */ 31