18c2ecf20Sopenharmony_ci/* 28c2ecf20Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public 38c2ecf20Sopenharmony_ci * License. See the file "COPYING" in the main directory of this archive 48c2ecf20Sopenharmony_ci * for more details. 58c2ecf20Sopenharmony_ci * 68c2ecf20Sopenharmony_ci * Copyright (C) 2014, Imagination Technologies Ltd. 78c2ecf20Sopenharmony_ci * 88c2ecf20Sopenharmony_ci * EVA functions for generic code 98c2ecf20Sopenharmony_ci */ 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#ifndef _ASM_EVA_H 128c2ecf20Sopenharmony_ci#define _ASM_EVA_H 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci#include <kernel-entry-init.h> 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci#ifdef __ASSEMBLY__ 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci#ifdef CONFIG_EVA 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci/* 218c2ecf20Sopenharmony_ci * EVA early init code 228c2ecf20Sopenharmony_ci * 238c2ecf20Sopenharmony_ci * Platforms must define their own 'platform_eva_init' macro in 248c2ecf20Sopenharmony_ci * their kernel-entry-init.h header. This macro usually does the 258c2ecf20Sopenharmony_ci * platform specific configuration of the segmentation registers, 268c2ecf20Sopenharmony_ci * and it is normally called from assembly code. 278c2ecf20Sopenharmony_ci * 288c2ecf20Sopenharmony_ci */ 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci.macro eva_init 318c2ecf20Sopenharmony_ciplatform_eva_init 328c2ecf20Sopenharmony_ci.endm 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci#else 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci.macro eva_init 378c2ecf20Sopenharmony_ci.endm 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci#endif /* CONFIG_EVA */ 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci#endif /* __ASSEMBLY__ */ 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci#endif 44