1*10510c98SAmit Nagal /* 2*10510c98SAmit Nagal * Copyright (c) 2025, Advanced Micro Devices, Inc. All rights reserved. 3*10510c98SAmit Nagal * 4*10510c98SAmit Nagal * SPDX-License-Identifier: BSD-3-Clause 5*10510c98SAmit Nagal */ 6*10510c98SAmit Nagal #include <bl31/ehf.h> 7*10510c98SAmit Nagal #include <common/debug.h> 8*10510c98SAmit Nagal #include <plat/common/platform.h> 9*10510c98SAmit Nagal #include <services/sdei.h> 10*10510c98SAmit Nagal 11*10510c98SAmit Nagal #include <platform_def.h> 12*10510c98SAmit Nagal 13*10510c98SAmit Nagal int arm_validate_ns_entrypoint(uintptr_t entrypoint) 14*10510c98SAmit Nagal { 15*10510c98SAmit Nagal int ret; 16*10510c98SAmit Nagal uintptr_t base = BL31_BASE; 17*10510c98SAmit Nagal uintptr_t limit = BL31_LIMIT; 18*10510c98SAmit Nagal 19*10510c98SAmit Nagal ret = ((entrypoint < base) || (entrypoint > limit)) ? 0 : -1; 20*10510c98SAmit Nagal return ret; 21*10510c98SAmit Nagal } 22*10510c98SAmit Nagal 23*10510c98SAmit Nagal /* Private event mappings */ 24*10510c98SAmit Nagal static sdei_ev_map_t versal_net_sdei_private[] = { 25*10510c98SAmit Nagal SDEI_DEFINE_EVENT_0(VERSAL_NET_SDEI_SGI_PRIVATE), 26*10510c98SAmit Nagal SDEI_PRIVATE_EVENT(VERSAL_NET_SDEI_PRV_EV, SDEI_DYN_IRQ, SDEI_MAPF_DYNAMIC), 27*10510c98SAmit Nagal }; 28*10510c98SAmit Nagal 29*10510c98SAmit Nagal /* Shared event mappings */ 30*10510c98SAmit Nagal static sdei_ev_map_t versal_net_sdei_shared[] = { 31*10510c98SAmit Nagal SDEI_SHARED_EVENT(VERSAL_NET_SDEI_SH_EVENT_0, SDEI_DYN_IRQ, SDEI_MAPF_DYNAMIC), 32*10510c98SAmit Nagal }; 33*10510c98SAmit Nagal 34*10510c98SAmit Nagal void plat_sdei_setup(void) 35*10510c98SAmit Nagal { 36*10510c98SAmit Nagal INFO("SDEI platform setup\n"); 37*10510c98SAmit Nagal } 38*10510c98SAmit Nagal 39*10510c98SAmit Nagal /* Export ARM SDEI events */ 40*10510c98SAmit Nagal REGISTER_SDEI_MAP(versal_net_sdei_private, versal_net_sdei_shared); 41