162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef _ASM_ARM_SECTIONS_H 362306a36Sopenharmony_ci#define _ASM_ARM_SECTIONS_H 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#include <asm-generic/sections.h> 662306a36Sopenharmony_ci 762306a36Sopenharmony_ciextern char _exiprom[]; 862306a36Sopenharmony_ci 962306a36Sopenharmony_ciextern char __idmap_text_start[]; 1062306a36Sopenharmony_ciextern char __idmap_text_end[]; 1162306a36Sopenharmony_ciextern char __entry_text_start[]; 1262306a36Sopenharmony_ciextern char __entry_text_end[]; 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_cistatic inline bool in_entry_text(unsigned long addr) 1562306a36Sopenharmony_ci{ 1662306a36Sopenharmony_ci return memory_contains(__entry_text_start, __entry_text_end, 1762306a36Sopenharmony_ci (void *)addr, 1); 1862306a36Sopenharmony_ci} 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_cistatic inline bool in_idmap_text(unsigned long addr) 2162306a36Sopenharmony_ci{ 2262306a36Sopenharmony_ci void *a = (void *)addr; 2362306a36Sopenharmony_ci return memory_contains(__idmap_text_start, __idmap_text_end, a, 1); 2462306a36Sopenharmony_ci} 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci#endif /* _ASM_ARM_SECTIONS_H */ 27