xref: /rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_sdei.c (revision 3b3c70a418522176f3a55d8e266e3968f7d4f832)
14143268aSJan Kiszka /*
2619bc13eSMichal Simek  * Copyright (c) 2017-2020, Arm Limited and Contributors. All rights reserved.
34143268aSJan Kiszka  * Copyright (c) Siemens AG, 2020-2021
44143268aSJan Kiszka  *
54143268aSJan Kiszka  * SPDX-License-Identifier: BSD-3-Clause
64143268aSJan Kiszka  */
74143268aSJan Kiszka 
84143268aSJan Kiszka /* SDEI configuration for ARM platforms */
94143268aSJan Kiszka 
104143268aSJan Kiszka #include <bl31/ehf.h>
114143268aSJan Kiszka #include <common/debug.h>
124143268aSJan Kiszka #include <services/sdei.h>
134143268aSJan Kiszka 
144143268aSJan Kiszka #include <plat/common/platform.h>
154143268aSJan Kiszka #include <platform_def.h>
164143268aSJan Kiszka 
174143268aSJan Kiszka int arm_validate_ns_entrypoint(uintptr_t entrypoint)
184143268aSJan Kiszka {
19*3b3c70a4SMichal Simek 	uint64_t base = BL31_BASE;
20*3b3c70a4SMichal Simek 	uint64_t limit = BL31_LIMIT;
21*3b3c70a4SMichal Simek 
22*3b3c70a4SMichal Simek 	return (entrypoint < base || entrypoint > limit) ? 0 : -1;
234143268aSJan Kiszka }
244143268aSJan Kiszka 
254143268aSJan Kiszka /* Private event mappings */
264143268aSJan Kiszka static sdei_ev_map_t zynqmp_sdei_private[] = {
274143268aSJan Kiszka 	SDEI_DEFINE_EVENT_0(ZYNQMP_SDEI_SGI_PRIVATE),
284143268aSJan Kiszka };
294143268aSJan Kiszka 
304143268aSJan Kiszka /* Shared event mappings */
314143268aSJan Kiszka static sdei_ev_map_t zynqmp_sdei_shared[] = {
324143268aSJan Kiszka };
334143268aSJan Kiszka 
344143268aSJan Kiszka void plat_sdei_setup(void)
354143268aSJan Kiszka {
364143268aSJan Kiszka 	INFO("SDEI platform setup\n");
374143268aSJan Kiszka }
384143268aSJan Kiszka 
394143268aSJan Kiszka /* Export ARM SDEI events */
404143268aSJan Kiszka REGISTER_SDEI_MAP(zynqmp_sdei_private, zynqmp_sdei_shared);
41