xref: /rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_sdei.c (revision e7644eb6ffca6ca9b18ccdddcfa6809c04c1aaf4)
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>
12*01a326abSPrasad Kummari #include <plat/common/platform.h>
134143268aSJan Kiszka #include <services/sdei.h>
144143268aSJan Kiszka 
154143268aSJan Kiszka #include <platform_def.h>
164143268aSJan Kiszka 
arm_validate_ns_entrypoint(uintptr_t entrypoint)174143268aSJan Kiszka int arm_validate_ns_entrypoint(uintptr_t entrypoint)
184143268aSJan Kiszka {
193b3c70a4SMichal Simek 	uint64_t base = BL31_BASE;
203b3c70a4SMichal Simek 	uint64_t limit = BL31_LIMIT;
213b3c70a4SMichal Simek 
223b3c70a4SMichal 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 
plat_sdei_setup(void)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