18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef _ASM_ARM_SECTIONS_H 38c2ecf20Sopenharmony_ci#define _ASM_ARM_SECTIONS_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#include <asm-generic/sections.h> 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ciextern char _exiprom[]; 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ciextern char __idmap_text_start[]; 108c2ecf20Sopenharmony_ciextern char __idmap_text_end[]; 118c2ecf20Sopenharmony_ciextern char __entry_text_start[]; 128c2ecf20Sopenharmony_ciextern char __entry_text_end[]; 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_cistatic inline bool in_entry_text(unsigned long addr) 158c2ecf20Sopenharmony_ci{ 168c2ecf20Sopenharmony_ci return memory_contains(__entry_text_start, __entry_text_end, 178c2ecf20Sopenharmony_ci (void *)addr, 1); 188c2ecf20Sopenharmony_ci} 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_cistatic inline bool in_idmap_text(unsigned long addr) 218c2ecf20Sopenharmony_ci{ 228c2ecf20Sopenharmony_ci void *a = (void *)addr; 238c2ecf20Sopenharmony_ci return memory_contains(__idmap_text_start, __idmap_text_end, a, 1); 248c2ecf20Sopenharmony_ci} 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci#endif /* _ASM_ARM_SECTIONS_H */ 27