How to use init method of linker class

Best Atoum code snippet using linker.init

tfm_spm_db_ipc.inc

Source:tfm_spm_db_ipc.inc Github

copy

Full Screen

...57#ifdef TFM_MULTI_CORE_TEST58#define TFM_PARTITION_TFM_SP_MULTI_CORE_TEST_IRQ_COUNT 059#endif /* TFM_MULTI_CORE_TEST */60/**************************************************************************/61/** Declarations of partition init functions */62/**************************************************************************/63extern void tfm_nspm_thread_entry(void);64#ifdef TFM_PARTITION_PROTECTED_STORAGE65extern void tfm_ps_req_mngr_init(void);66#endif /* TFM_PARTITION_PROTECTED_STORAGE */67#ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE68extern void tfm_its_req_mngr_init(void);69#endif /* TFM_PARTITION_INTERNAL_TRUSTED_STORAGE */70#ifdef TFM_PARTITION_AUDIT_LOG71extern void audit_core_init(void);72#endif /* TFM_PARTITION_AUDIT_LOG */73#ifdef TFM_PARTITION_CRYPTO74extern void tfm_crypto_init(void);75#endif /* TFM_PARTITION_CRYPTO */76#ifdef TFM_PARTITION_PLATFORM77extern void platform_sp_init(void);78#endif /* TFM_PARTITION_PLATFORM */79#ifdef TFM_PARTITION_INITIAL_ATTESTATION80extern void attest_partition_init(void);81#endif /* TFM_PARTITION_INITIAL_ATTESTATION */82#ifdef TFM_PARTITION_TEST_CORE83extern void core_test_init(void);84#endif /* TFM_PARTITION_TEST_CORE */85#ifdef TFM_PARTITION_TEST_CORE86extern void core_test_2_init(void);87#endif /* TFM_PARTITION_TEST_CORE */88#ifdef TFM_PARTITION_TEST_SECURE_SERVICES89extern void tfm_secure_client_service_init(void);90#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */91#ifdef TFM_PARTITION_TEST_CORE_IPC92extern void ipc_service_test_main(void);93#endif /* TFM_PARTITION_TEST_CORE_IPC */94#ifdef TFM_PARTITION_TEST_CORE_IPC95extern void ipc_client_test_main(void);96#endif /* TFM_PARTITION_TEST_CORE_IPC */97#ifdef TFM_ENABLE_IRQ_TEST98extern void tfm_irq_test_1_init(void);99#endif /* TFM_ENABLE_IRQ_TEST */100#ifdef TFM_PARTITION_TEST_PS101extern void tfm_ps_test_init(void);102#endif /* TFM_PARTITION_TEST_PS */103#ifdef TFM_PARTITION_TEST_SECURE_SERVICES104extern void tfm_secure_client_2_init(void);105#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */106#ifdef TFM_MULTI_CORE_TEST107extern void multi_core_test_main(void);108#endif /* TFM_MULTI_CORE_TEST */109/**************************************************************************/110/** Memory region declarations */111/**************************************************************************/112REGION_DECLARE(Image$$, ARM_LIB_STACK, $$ZI$$Base);113REGION_DECLARE(Image$$, ARM_LIB_STACK, $$ZI$$Limit);114#ifdef TFM_PARTITION_PROTECTED_STORAGE115REGION_DECLARE(Image$$, TFM_SP_PS_LINKER, $$Base);116REGION_DECLARE(Image$$, TFM_SP_PS_LINKER, $$Limit);117REGION_DECLARE(Image$$, TFM_SP_PS_LINKER, $$RO$$Base);118REGION_DECLARE(Image$$, TFM_SP_PS_LINKER, $$RO$$Limit);119REGION_DECLARE(Image$$, TFM_SP_PS_LINKER, _DATA$$RW$$Base);120REGION_DECLARE(Image$$, TFM_SP_PS_LINKER, _DATA$$RW$$Limit);121REGION_DECLARE(Image$$, TFM_SP_PS_LINKER, _DATA$$ZI$$Base);122REGION_DECLARE(Image$$, TFM_SP_PS_LINKER, _DATA$$ZI$$Limit);123REGION_DECLARE(Image$$, TFM_SP_PS_LINKER, _STACK$$ZI$$Base);124REGION_DECLARE(Image$$, TFM_SP_PS_LINKER, _STACK$$ZI$$Limit);125#endif /* TFM_PARTITION_PROTECTED_STORAGE */126#ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE127REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, $$Base);128REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, $$Limit);129REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, $$RO$$Base);130REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, $$RO$$Limit);131REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _DATA$$RW$$Base);132REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _DATA$$RW$$Limit);133REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _DATA$$ZI$$Base);134REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _DATA$$ZI$$Limit);135REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _STACK$$ZI$$Base);136REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _STACK$$ZI$$Limit);137#endif /* TFM_PARTITION_INTERNAL_TRUSTED_STORAGE */138#ifdef TFM_PARTITION_AUDIT_LOG139REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, $$Base);140REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, $$Limit);141REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, $$RO$$Base);142REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, $$RO$$Limit);143REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _DATA$$RW$$Base);144REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _DATA$$RW$$Limit);145REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _DATA$$ZI$$Base);146REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _DATA$$ZI$$Limit);147REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _STACK$$ZI$$Base);148REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _STACK$$ZI$$Limit);149#endif /* TFM_PARTITION_AUDIT_LOG */150#ifdef TFM_PARTITION_CRYPTO151REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, $$Base);152REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, $$Limit);153REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, $$RO$$Base);154REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, $$RO$$Limit);155REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _DATA$$RW$$Base);156REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _DATA$$RW$$Limit);157REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _DATA$$ZI$$Base);158REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _DATA$$ZI$$Limit);159REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _STACK$$ZI$$Base);160REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _STACK$$ZI$$Limit);161#endif /* TFM_PARTITION_CRYPTO */162#ifdef TFM_PARTITION_PLATFORM163REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, $$Base);164REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, $$Limit);165REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, $$RO$$Base);166REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, $$RO$$Limit);167REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _DATA$$RW$$Base);168REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _DATA$$RW$$Limit);169REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _DATA$$ZI$$Base);170REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _DATA$$ZI$$Limit);171REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _STACK$$ZI$$Base);172REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _STACK$$ZI$$Limit);173#endif /* TFM_PARTITION_PLATFORM */174#ifdef TFM_PARTITION_INITIAL_ATTESTATION175REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, $$Base);176REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, $$Limit);177REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, $$RO$$Base);178REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, $$RO$$Limit);179REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$RW$$Base);180REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$RW$$Limit);181REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$ZI$$Base);182REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$ZI$$Limit);183REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _STACK$$ZI$$Base);184REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _STACK$$ZI$$Limit);185#endif /* TFM_PARTITION_INITIAL_ATTESTATION */186#ifdef TFM_PARTITION_TEST_CORE187REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, $$Base);188REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, $$Limit);189REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, $$RO$$Base);190REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, $$RO$$Limit);191REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _DATA$$RW$$Base);192REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _DATA$$RW$$Limit);193REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _DATA$$ZI$$Base);194REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _DATA$$ZI$$Limit);195REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _STACK$$ZI$$Base);196REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _STACK$$ZI$$Limit);197#endif /* TFM_PARTITION_TEST_CORE */198#ifdef TFM_PARTITION_TEST_CORE199REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, $$Base);200REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, $$Limit);201REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, $$RO$$Base);202REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, $$RO$$Limit);203REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _DATA$$RW$$Base);204REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _DATA$$RW$$Limit);205REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _DATA$$ZI$$Base);206REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _DATA$$ZI$$Limit);207REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _STACK$$ZI$$Base);208REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _STACK$$ZI$$Limit);209#endif /* TFM_PARTITION_TEST_CORE */210#ifdef TFM_PARTITION_TEST_SECURE_SERVICES211REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, $$Base);212REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, $$Limit);213REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, $$RO$$Base);214REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, $$RO$$Limit);215REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$RW$$Base);216REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$RW$$Limit);217REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$ZI$$Base);218REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$ZI$$Limit);219REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _STACK$$ZI$$Base);220REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _STACK$$ZI$$Limit);221#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */222#ifdef TFM_PARTITION_TEST_CORE_IPC223REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, $$Base);224REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, $$Limit);225REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, $$RO$$Base);226REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, $$RO$$Limit);227REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$RW$$Base);228REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$RW$$Limit);229REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$ZI$$Base);230REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$ZI$$Limit);231REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _STACK$$ZI$$Base);232REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _STACK$$ZI$$Limit);233#endif /* TFM_PARTITION_TEST_CORE_IPC */234#ifdef TFM_PARTITION_TEST_CORE_IPC235REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, $$Base);236REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, $$Limit);237REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, $$RO$$Base);238REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, $$RO$$Limit);239REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$RW$$Base);240REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$RW$$Limit);241REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$ZI$$Base);242REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$ZI$$Limit);243REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _STACK$$ZI$$Base);244REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _STACK$$ZI$$Limit);245#endif /* TFM_PARTITION_TEST_CORE_IPC */246#ifdef TFM_ENABLE_IRQ_TEST247REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, $$Base);248REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, $$Limit);249REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, $$RO$$Base);250REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, $$RO$$Limit);251REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _DATA$$RW$$Base);252REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _DATA$$RW$$Limit);253REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _DATA$$ZI$$Base);254REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _DATA$$ZI$$Limit);255REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _STACK$$ZI$$Base);256REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _STACK$$ZI$$Limit);257#endif /* TFM_ENABLE_IRQ_TEST */258#ifdef TFM_PARTITION_TEST_PS259REGION_DECLARE(Image$$, TFM_SP_PS_TEST_LINKER, $$Base);260REGION_DECLARE(Image$$, TFM_SP_PS_TEST_LINKER, $$Limit);261REGION_DECLARE(Image$$, TFM_SP_PS_TEST_LINKER, $$RO$$Base);262REGION_DECLARE(Image$$, TFM_SP_PS_TEST_LINKER, $$RO$$Limit);263REGION_DECLARE(Image$$, TFM_SP_PS_TEST_LINKER, _DATA$$RW$$Base);264REGION_DECLARE(Image$$, TFM_SP_PS_TEST_LINKER, _DATA$$RW$$Limit);265REGION_DECLARE(Image$$, TFM_SP_PS_TEST_LINKER, _DATA$$ZI$$Base);266REGION_DECLARE(Image$$, TFM_SP_PS_TEST_LINKER, _DATA$$ZI$$Limit);267REGION_DECLARE(Image$$, TFM_SP_PS_TEST_LINKER, _STACK$$ZI$$Base);268REGION_DECLARE(Image$$, TFM_SP_PS_TEST_LINKER, _STACK$$ZI$$Limit);269#endif /* TFM_PARTITION_TEST_PS */270#ifdef TFM_PARTITION_TEST_SECURE_SERVICES271REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, $$Base);272REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, $$Limit);273REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, $$RO$$Base);274REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, $$RO$$Limit);275REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, _DATA$$RW$$Base);276REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, _DATA$$RW$$Limit);277REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, _DATA$$ZI$$Base);278REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, _DATA$$ZI$$Limit);279REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, _STACK$$ZI$$Base);280REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, _STACK$$ZI$$Limit);281#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */282#ifdef TFM_MULTI_CORE_TEST283REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, $$Base);284REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, $$Limit);285REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, $$RO$$Base);286REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, $$RO$$Limit);287REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, _DATA$$RW$$Base);288REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, _DATA$$RW$$Limit);289REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, _DATA$$ZI$$Base);290REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, _DATA$$ZI$$Limit);291REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, _STACK$$ZI$$Base);292REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, _STACK$$ZI$$Limit);293#endif /* TFM_MULTI_CORE_TEST */294/**************************************************************************/295/** Dependencies array for Secure Partition */296/**************************************************************************/297#ifdef TFM_PARTITION_PROTECTED_STORAGE298static int32_t dependencies_TFM_SP_PS[] =299{300 TFM_CRYPTO_SID,301 TFM_ITS_SET_SID,302 TFM_ITS_GET_SID,303 TFM_ITS_GET_INFO_SID,304 TFM_ITS_REMOVE_SID,305 TFM_SP_PLATFORM_NV_COUNTER_SID,306};307#endif /* TFM_PARTITION_PROTECTED_STORAGE */308#ifdef TFM_PARTITION_CRYPTO309static int32_t dependencies_TFM_SP_CRYPTO[] =310{311 TFM_ITS_SET_SID,312 TFM_ITS_GET_SID,313 TFM_ITS_GET_INFO_SID,314 TFM_ITS_REMOVE_SID,315};316#endif /* TFM_PARTITION_CRYPTO */317#ifdef TFM_PARTITION_INITIAL_ATTESTATION318static int32_t dependencies_TFM_SP_INITIAL_ATTESTATION[] =319{320 TFM_CRYPTO_SID,321};322#endif /* TFM_PARTITION_INITIAL_ATTESTATION */323#ifdef TFM_PARTITION_TEST_CORE324static int32_t dependencies_TFM_SP_CORE_TEST[] =325{326 SPM_CORE_TEST_2_INVERT_SID,327 SPM_CORE_TEST_2_GET_EVERY_SECOND_BYTE_SID,328 SPM_CORE_TEST_2_SLAVE_SERVICE_SID,329};330#endif /* TFM_PARTITION_TEST_CORE */331#ifdef TFM_PARTITION_TEST_SECURE_SERVICES332static int32_t dependencies_TFM_SP_SECURE_TEST_PARTITION[] =333{334 TFM_SECURE_CLIENT_2_SID,335 TFM_CRYPTO_SID,336 TFM_PS_SET_SID,337 TFM_PS_GET_SID,338 TFM_PS_GET_INFO_SID,339 TFM_PS_REMOVE_SID,340 TFM_PS_GET_SUPPORT_SID,341 TFM_ITS_SET_SID,342 TFM_ITS_GET_SID,343 TFM_ITS_GET_INFO_SID,344 TFM_ITS_REMOVE_SID,345 TFM_ATTEST_GET_TOKEN_SID,346 TFM_ATTEST_GET_TOKEN_SIZE_SID,347 TFM_ATTEST_GET_PUBLIC_KEY_SID,348 TFM_PS_TEST_PREPARE_SID,349 TFM_SP_PLATFORM_SYSTEM_RESET_SID,350 TFM_SP_PLATFORM_IOCTL_SID,351};352#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */353#ifdef TFM_PARTITION_TEST_CORE_IPC354static int32_t dependencies_TFM_SP_IPC_CLIENT_TEST[] =355{356 IPC_SERVICE_TEST_PSA_ACCESS_APP_READ_ONLY_MEM_SID,357 IPC_SERVICE_TEST_PSA_ACCESS_APP_MEM_SID,358 IPC_SERVICE_TEST_BASIC_SID,359 IPC_SERVICE_TEST_APP_ACCESS_PSA_MEM_SID,360};361#endif /* TFM_PARTITION_TEST_CORE_IPC */362#ifdef TFM_PARTITION_TEST_PS363static int32_t dependencies_TFM_SP_PS_TEST[] =364{365 TFM_CRYPTO_SID,366 TFM_ITS_GET_SID,367 TFM_ITS_REMOVE_SID,368};369#endif /* TFM_PARTITION_TEST_PS */370#ifdef TFM_PARTITION_TEST_SECURE_SERVICES371static int32_t dependencies_TFM_SP_SECURE_CLIENT_2[] =372{373 TFM_ITS_GET_SID,374 TFM_CRYPTO_SID,375};376#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */377/**************************************************************************/378/** The static data of the partition list */379/**************************************************************************/380const struct spm_partition_static_data_t static_data_list[] =381{382 {383 .psa_framework_version = 0x0100,384 .partition_id = TFM_SP_NON_SECURE_ID,385#if TFM_MULTI_CORE_TOPOLOGY386 .partition_flags = SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_IPC,387#else388 .partition_flags = SPM_PART_FLAG_APP_ROT | SPM_PART_FLAG_IPC,389#endif390 .partition_priority = TFM_PRIORITY_LOW,391 .partition_init = tfm_nspm_thread_entry,392 },393#ifdef TFM_PARTITION_PROTECTED_STORAGE394 {395 .psa_framework_version = 0x0100,396 .partition_id = TFM_SP_PS,397 .partition_flags = SPM_PART_FLAG_IPC398 | SPM_PART_FLAG_APP_ROT399 ,400 .partition_priority = TFM_PRIORITY(NORMAL),401 .partition_init = tfm_ps_req_mngr_init,402 .dependencies_num = 6,403 .p_dependencies = dependencies_TFM_SP_PS,404 },405#endif /* TFM_PARTITION_PROTECTED_STORAGE */406#ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE407 {408 .psa_framework_version = 0x0100,409 .partition_id = TFM_SP_ITS,410 .partition_flags = SPM_PART_FLAG_IPC411 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT412 ,413 .partition_priority = TFM_PRIORITY(NORMAL),414 .partition_init = tfm_its_req_mngr_init,415 .dependencies_num = 0,416 .p_dependencies = NULL,417 },418#endif /* TFM_PARTITION_INTERNAL_TRUSTED_STORAGE */419#ifdef TFM_PARTITION_AUDIT_LOG420 {421 .psa_framework_version = 0x0100,422 .partition_id = TFM_SP_AUDIT_LOG,423 .partition_flags = 0424 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT425 ,426 .partition_priority = TFM_PRIORITY(NORMAL),427 .partition_init = audit_core_init,428 .dependencies_num = 0,429 .p_dependencies = NULL,430 },431#endif /* TFM_PARTITION_AUDIT_LOG */432#ifdef TFM_PARTITION_CRYPTO433 {434 .psa_framework_version = 0x0100,435 .partition_id = TFM_SP_CRYPTO,436 .partition_flags = SPM_PART_FLAG_IPC437 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT438 ,439 .partition_priority = TFM_PRIORITY(NORMAL),440 .partition_init = tfm_crypto_init,441 .dependencies_num = 4,442 .p_dependencies = dependencies_TFM_SP_CRYPTO,443 },444#endif /* TFM_PARTITION_CRYPTO */445#ifdef TFM_PARTITION_PLATFORM446 {447 .psa_framework_version = 0x0100,448 .partition_id = TFM_SP_PLATFORM,449 .partition_flags = SPM_PART_FLAG_IPC450 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT451 ,452 .partition_priority = TFM_PRIORITY(NORMAL),453 .partition_init = platform_sp_init,454 .dependencies_num = 0,455 .p_dependencies = NULL,456 },457#endif /* TFM_PARTITION_PLATFORM */458#ifdef TFM_PARTITION_INITIAL_ATTESTATION459 {460 .psa_framework_version = 0x0100,461 .partition_id = TFM_SP_INITIAL_ATTESTATION,462 .partition_flags = SPM_PART_FLAG_IPC463 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT464 ,465 .partition_priority = TFM_PRIORITY(NORMAL),466 .partition_init = attest_partition_init,467 .dependencies_num = 1,468 .p_dependencies = dependencies_TFM_SP_INITIAL_ATTESTATION,469 },470#endif /* TFM_PARTITION_INITIAL_ATTESTATION */471#ifdef TFM_PARTITION_TEST_CORE472 {473 .psa_framework_version = 0x0100,474 .partition_id = TFM_SP_CORE_TEST,475 .partition_flags = SPM_PART_FLAG_IPC476 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT477 ,478 .partition_priority = TFM_PRIORITY(NORMAL),479 .partition_init = core_test_init,480 .dependencies_num = 3,481 .p_dependencies = dependencies_TFM_SP_CORE_TEST,482 },483#endif /* TFM_PARTITION_TEST_CORE */484#ifdef TFM_PARTITION_TEST_CORE485 {486 .psa_framework_version = 0x0100,487 .partition_id = TFM_SP_CORE_TEST_2,488 .partition_flags = SPM_PART_FLAG_IPC489 | SPM_PART_FLAG_APP_ROT490 ,491 .partition_priority = TFM_PRIORITY(NORMAL),492 .partition_init = core_test_2_init,493 .dependencies_num = 0,494 .p_dependencies = NULL,495 },496#endif /* TFM_PARTITION_TEST_CORE */497#ifdef TFM_PARTITION_TEST_SECURE_SERVICES498 {499 .psa_framework_version = 0x0100,500 .partition_id = TFM_SP_SECURE_TEST_PARTITION,501 .partition_flags = SPM_PART_FLAG_IPC502 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT503 ,504 .partition_priority = TFM_PRIORITY(NORMAL),505 .partition_init = tfm_secure_client_service_init,506 .dependencies_num = 17,507 .p_dependencies = dependencies_TFM_SP_SECURE_TEST_PARTITION,508 },509#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */510#ifdef TFM_PARTITION_TEST_CORE_IPC511 {512 .psa_framework_version = 0x0100,513 .partition_id = TFM_SP_IPC_SERVICE_TEST,514 .partition_flags = SPM_PART_FLAG_IPC515 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT516 ,517 .partition_priority = TFM_PRIORITY(HIGH),518 .partition_init = ipc_service_test_main,519 .dependencies_num = 0,520 .p_dependencies = NULL,521 },522#endif /* TFM_PARTITION_TEST_CORE_IPC */523#ifdef TFM_PARTITION_TEST_CORE_IPC524 {525 .psa_framework_version = 0x0100,526 .partition_id = TFM_SP_IPC_CLIENT_TEST,527 .partition_flags = SPM_PART_FLAG_IPC528 | SPM_PART_FLAG_APP_ROT529 ,530 .partition_priority = TFM_PRIORITY(NORMAL),531 .partition_init = ipc_client_test_main,532 .dependencies_num = 4,533 .p_dependencies = dependencies_TFM_SP_IPC_CLIENT_TEST,534 },535#endif /* TFM_PARTITION_TEST_CORE_IPC */536#ifdef TFM_ENABLE_IRQ_TEST537 {538 .psa_framework_version = 0x0100,539 .partition_id = TFM_IRQ_TEST_1,540 .partition_flags = SPM_PART_FLAG_IPC541 | SPM_PART_FLAG_APP_ROT542 ,543 .partition_priority = TFM_PRIORITY(NORMAL),544 .partition_init = tfm_irq_test_1_init,545 .dependencies_num = 0,546 .p_dependencies = NULL,547 },548#endif /* TFM_ENABLE_IRQ_TEST */549#ifdef TFM_PARTITION_TEST_PS550 {551 .psa_framework_version = 0x0100,552 .partition_id = TFM_SP_PS_TEST,553 .partition_flags = SPM_PART_FLAG_IPC554 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT555 ,556 .partition_priority = TFM_PRIORITY(NORMAL),557 .partition_init = tfm_ps_test_init,558 .dependencies_num = 3,559 .p_dependencies = dependencies_TFM_SP_PS_TEST,560 },561#endif /* TFM_PARTITION_TEST_PS */562#ifdef TFM_PARTITION_TEST_SECURE_SERVICES563 {564 .psa_framework_version = 0x0100,565 .partition_id = TFM_SP_SECURE_CLIENT_2,566 .partition_flags = SPM_PART_FLAG_IPC567 | SPM_PART_FLAG_APP_ROT568 ,569 .partition_priority = TFM_PRIORITY(NORMAL),570 .partition_init = tfm_secure_client_2_init,571 .dependencies_num = 2,572 .p_dependencies = dependencies_TFM_SP_SECURE_CLIENT_2,573 },574#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */575#ifdef TFM_MULTI_CORE_TEST576 {577 .psa_framework_version = 0x0100,578 .partition_id = TFM_SP_MULTI_CORE_TEST,579 .partition_flags = SPM_PART_FLAG_IPC580 | SPM_PART_FLAG_APP_ROT581 ,582 .partition_priority = TFM_PRIORITY(NORMAL),583 .partition_init = multi_core_test_main,584 .dependencies_num = 0,585 .p_dependencies = NULL,586 },587#endif /* TFM_MULTI_CORE_TEST */588};589/**************************************************************************/590/** The platform data of the partition list */591/**************************************************************************/592#ifdef TFM_PARTITION_AUDIT_LOG593const struct tfm_spm_partition_platform_data_t *594 platform_data_list_TFM_SP_AUDIT_LOG[] =595{596#ifdef AUDIT_UART_REDIRECTION597 TFM_PERIPHERAL_UART1,598#endif /* AUDIT_UART_REDIRECTION */599 NULL600};601#endif /* TFM_PARTITION_AUDIT_LOG */602#ifdef TFM_PARTITION_TEST_CORE603const struct tfm_spm_partition_platform_data_t *604 platform_data_list_TFM_SP_CORE_TEST[] =605{606 TFM_PERIPHERAL_FPGA_IO,607 NULL608};609#endif /* TFM_PARTITION_TEST_CORE */610#ifdef TFM_PARTITION_TEST_SECURE_SERVICES611const struct tfm_spm_partition_platform_data_t *612 platform_data_list_TFM_SP_SECURE_TEST_PARTITION[] =613{614 TFM_PERIPHERAL_STD_UART,615 NULL616};617#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */618#ifdef TFM_ENABLE_IRQ_TEST619const struct tfm_spm_partition_platform_data_t *620 platform_data_list_TFM_IRQ_TEST_1[] =621{622 TFM_PERIPHERAL_TIMER0,623 NULL624};625#endif /* TFM_ENABLE_IRQ_TEST */626const struct tfm_spm_partition_platform_data_t **platform_data_list_list[] =627{628 NULL,629#ifdef TFM_PARTITION_PROTECTED_STORAGE630 NULL,631#endif /* TFM_PARTITION_PROTECTED_STORAGE */632#ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE633 NULL,634#endif /* TFM_PARTITION_INTERNAL_TRUSTED_STORAGE */635#ifdef TFM_PARTITION_AUDIT_LOG636 platform_data_list_TFM_SP_AUDIT_LOG,637#endif /* TFM_PARTITION_AUDIT_LOG */638#ifdef TFM_PARTITION_CRYPTO639 NULL,640#endif /* TFM_PARTITION_CRYPTO */641#ifdef TFM_PARTITION_PLATFORM642 NULL,643#endif /* TFM_PARTITION_PLATFORM */644#ifdef TFM_PARTITION_INITIAL_ATTESTATION645 NULL,646#endif /* TFM_PARTITION_INITIAL_ATTESTATION */647#ifdef TFM_PARTITION_TEST_CORE648 platform_data_list_TFM_SP_CORE_TEST,649#endif /* TFM_PARTITION_TEST_CORE */650#ifdef TFM_PARTITION_TEST_CORE651 NULL,652#endif /* TFM_PARTITION_TEST_CORE */653#ifdef TFM_PARTITION_TEST_SECURE_SERVICES654 platform_data_list_TFM_SP_SECURE_TEST_PARTITION,655#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */656#ifdef TFM_PARTITION_TEST_CORE_IPC657 NULL,658#endif /* TFM_PARTITION_TEST_CORE_IPC */659#ifdef TFM_PARTITION_TEST_CORE_IPC660 NULL,661#endif /* TFM_PARTITION_TEST_CORE_IPC */662#ifdef TFM_ENABLE_IRQ_TEST663 platform_data_list_TFM_IRQ_TEST_1,664#endif /* TFM_ENABLE_IRQ_TEST */665#ifdef TFM_PARTITION_TEST_PS666 NULL,667#endif /* TFM_PARTITION_TEST_PS */668#ifdef TFM_PARTITION_TEST_SECURE_SERVICES669 NULL,670#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */671#ifdef TFM_MULTI_CORE_TEST672 NULL,673#endif /* TFM_MULTI_CORE_TEST */674};675/**************************************************************************/676/** The memory data of the partition list */677/**************************************************************************/678const struct tfm_spm_partition_memory_data_t memory_data_list[] =679{680 {681 .stack_bottom = PART_REGION_ADDR(ARM_LIB_STACK, $$ZI$$Base),682 .stack_top = PART_REGION_ADDR(ARM_LIB_STACK, $$ZI$$Limit),683 .rw_start = PART_REGION_ADDR(ARM_LIB_STACK, $$ZI$$Base),684 },685#ifdef TFM_PARTITION_PROTECTED_STORAGE686 {687 .code_start = PART_REGION_ADDR(TFM_SP_PS_LINKER, $$Base),688 .code_limit = PART_REGION_ADDR(TFM_SP_PS_LINKER, $$Limit),689 .ro_start = PART_REGION_ADDR(TFM_SP_PS_LINKER, $$RO$$Base),690 .ro_limit = PART_REGION_ADDR(TFM_SP_PS_LINKER, $$RO$$Limit),691 .rw_start = PART_REGION_ADDR(TFM_SP_PS_LINKER, _DATA$$RW$$Base),692 .rw_limit = PART_REGION_ADDR(TFM_SP_PS_LINKER, _DATA$$RW$$Limit),693 .zi_start = PART_REGION_ADDR(TFM_SP_PS_LINKER, _DATA$$ZI$$Base),694 .zi_limit = PART_REGION_ADDR(TFM_SP_PS_LINKER, _DATA$$ZI$$Limit),695 .stack_bottom = PART_REGION_ADDR(TFM_SP_PS_LINKER, _STACK$$ZI$$Base),696 .stack_top = PART_REGION_ADDR(TFM_SP_PS_LINKER, _STACK$$ZI$$Limit),697 },698#endif /* TFM_PARTITION_PROTECTED_STORAGE */699#ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE700 {701 .code_start = PART_REGION_ADDR(TFM_SP_ITS_LINKER, $$Base),702 .code_limit = PART_REGION_ADDR(TFM_SP_ITS_LINKER, $$Limit),703 .ro_start = PART_REGION_ADDR(TFM_SP_ITS_LINKER, $$RO$$Base),704 .ro_limit = PART_REGION_ADDR(TFM_SP_ITS_LINKER, $$RO$$Limit),705 .rw_start = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _DATA$$RW$$Base),706 .rw_limit = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _DATA$$RW$$Limit),707 .zi_start = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _DATA$$ZI$$Base),708 .zi_limit = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _DATA$$ZI$$Limit),709 .stack_bottom = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _STACK$$ZI$$Base),710 .stack_top = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _STACK$$ZI$$Limit),711 },712#endif /* TFM_PARTITION_INTERNAL_TRUSTED_STORAGE */713#ifdef TFM_PARTITION_AUDIT_LOG714 {715 .code_start = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, $$Base),716 .code_limit = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, $$Limit),717 .ro_start = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, $$RO$$Base),718 .ro_limit = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, $$RO$$Limit),719 .rw_start = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _DATA$$RW$$Base),720 .rw_limit = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _DATA$$RW$$Limit),721 .zi_start = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _DATA$$ZI$$Base),722 .zi_limit = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _DATA$$ZI$$Limit),723 .stack_bottom = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _STACK$$ZI$$Base),724 .stack_top = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _STACK$$ZI$$Limit),725 },726#endif /* TFM_PARTITION_AUDIT_LOG */727#ifdef TFM_PARTITION_CRYPTO728 {729 .code_start = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, $$Base),730 .code_limit = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, $$Limit),731 .ro_start = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, $$RO$$Base),732 .ro_limit = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, $$RO$$Limit),733 .rw_start = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _DATA$$RW$$Base),734 .rw_limit = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _DATA$$RW$$Limit),735 .zi_start = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _DATA$$ZI$$Base),736 .zi_limit = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _DATA$$ZI$$Limit),737 .stack_bottom = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _STACK$$ZI$$Base),738 .stack_top = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _STACK$$ZI$$Limit),739 },740#endif /* TFM_PARTITION_CRYPTO */741#ifdef TFM_PARTITION_PLATFORM742 {743 .code_start = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, $$Base),744 .code_limit = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, $$Limit),745 .ro_start = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, $$RO$$Base),746 .ro_limit = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, $$RO$$Limit),747 .rw_start = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _DATA$$RW$$Base),748 .rw_limit = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _DATA$$RW$$Limit),749 .zi_start = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _DATA$$ZI$$Base),750 .zi_limit = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _DATA$$ZI$$Limit),751 .stack_bottom = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _STACK$$ZI$$Base),752 .stack_top = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _STACK$$ZI$$Limit),753 },754#endif /* TFM_PARTITION_PLATFORM */755#ifdef TFM_PARTITION_INITIAL_ATTESTATION756 {757 .code_start = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, $$Base),758 .code_limit = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, $$Limit),759 .ro_start = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, $$RO$$Base),760 .ro_limit = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, $$RO$$Limit),761 .rw_start = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$RW$$Base),762 .rw_limit = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$RW$$Limit),763 .zi_start = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$ZI$$Base),764 .zi_limit = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$ZI$$Limit),765 .stack_bottom = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _STACK$$ZI$$Base),766 .stack_top = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _STACK$$ZI$$Limit),767 },768#endif /* TFM_PARTITION_INITIAL_ATTESTATION */769#ifdef TFM_PARTITION_TEST_CORE770 {771 .code_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, $$Base),772 .code_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, $$Limit),773 .ro_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, $$RO$$Base),774 .ro_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, $$RO$$Limit),775 .rw_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _DATA$$RW$$Base),776 .rw_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _DATA$$RW$$Limit),777 .zi_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _DATA$$ZI$$Base),778 .zi_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _DATA$$ZI$$Limit),779 .stack_bottom = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _STACK$$ZI$$Base),780 .stack_top = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _STACK$$ZI$$Limit),781 },782#endif /* TFM_PARTITION_TEST_CORE */783#ifdef TFM_PARTITION_TEST_CORE784 {785 .code_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, $$Base),786 .code_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, $$Limit),787 .ro_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, $$RO$$Base),788 .ro_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, $$RO$$Limit),789 .rw_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _DATA$$RW$$Base),790 .rw_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _DATA$$RW$$Limit),791 .zi_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _DATA$$ZI$$Base),792 .zi_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _DATA$$ZI$$Limit),793 .stack_bottom = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _STACK$$ZI$$Base),794 .stack_top = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _STACK$$ZI$$Limit),795 },796#endif /* TFM_PARTITION_TEST_CORE */797#ifdef TFM_PARTITION_TEST_SECURE_SERVICES798 {799 .code_start = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, $$Base),800 .code_limit = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, $$Limit),801 .ro_start = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, $$RO$$Base),802 .ro_limit = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, $$RO$$Limit),803 .rw_start = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$RW$$Base),804 .rw_limit = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$RW$$Limit),805 .zi_start = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$ZI$$Base),806 .zi_limit = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$ZI$$Limit),807 .stack_bottom = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _STACK$$ZI$$Base),808 .stack_top = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _STACK$$ZI$$Limit),809 },810#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */811#ifdef TFM_PARTITION_TEST_CORE_IPC812 {813 .code_start = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, $$Base),814 .code_limit = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, $$Limit),815 .ro_start = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, $$RO$$Base),816 .ro_limit = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, $$RO$$Limit),817 .rw_start = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$RW$$Base),818 .rw_limit = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$RW$$Limit),819 .zi_start = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$ZI$$Base),820 .zi_limit = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$ZI$$Limit),821 .stack_bottom = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _STACK$$ZI$$Base),822 .stack_top = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _STACK$$ZI$$Limit),823 },824#endif /* TFM_PARTITION_TEST_CORE_IPC */825#ifdef TFM_PARTITION_TEST_CORE_IPC826 {827 .code_start = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, $$Base),828 .code_limit = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, $$Limit),829 .ro_start = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, $$RO$$Base),830 .ro_limit = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, $$RO$$Limit),831 .rw_start = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$RW$$Base),832 .rw_limit = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$RW$$Limit),833 .zi_start = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$ZI$$Base),834 .zi_limit = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$ZI$$Limit),835 .stack_bottom = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _STACK$$ZI$$Base),836 .stack_top = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _STACK$$ZI$$Limit),837 },838#endif /* TFM_PARTITION_TEST_CORE_IPC */839#ifdef TFM_ENABLE_IRQ_TEST840 {841 .code_start = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, $$Base),842 .code_limit = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, $$Limit),843 .ro_start = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, $$RO$$Base),844 .ro_limit = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, $$RO$$Limit),845 .rw_start = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _DATA$$RW$$Base),846 .rw_limit = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _DATA$$RW$$Limit),847 .zi_start = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _DATA$$ZI$$Base),848 .zi_limit = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _DATA$$ZI$$Limit),849 .stack_bottom = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _STACK$$ZI$$Base),850 .stack_top = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _STACK$$ZI$$Limit),851 },852#endif /* TFM_ENABLE_IRQ_TEST */853#ifdef TFM_PARTITION_TEST_PS854 {855 .code_start = PART_REGION_ADDR(TFM_SP_PS_TEST_LINKER, $$Base),856 .code_limit = PART_REGION_ADDR(TFM_SP_PS_TEST_LINKER, $$Limit),857 .ro_start = PART_REGION_ADDR(TFM_SP_PS_TEST_LINKER, $$RO$$Base),858 .ro_limit = PART_REGION_ADDR(TFM_SP_PS_TEST_LINKER, $$RO$$Limit),859 .rw_start = PART_REGION_ADDR(TFM_SP_PS_TEST_LINKER, _DATA$$RW$$Base),860 .rw_limit = PART_REGION_ADDR(TFM_SP_PS_TEST_LINKER, _DATA$$RW$$Limit),861 .zi_start = PART_REGION_ADDR(TFM_SP_PS_TEST_LINKER, _DATA$$ZI$$Base),862 .zi_limit = PART_REGION_ADDR(TFM_SP_PS_TEST_LINKER, _DATA$$ZI$$Limit),863 .stack_bottom = PART_REGION_ADDR(TFM_SP_PS_TEST_LINKER, _STACK$$ZI$$Base),864 .stack_top = PART_REGION_ADDR(TFM_SP_PS_TEST_LINKER, _STACK$$ZI$$Limit),865 },866#endif /* TFM_PARTITION_TEST_PS */867#ifdef TFM_PARTITION_TEST_SECURE_SERVICES868 {869 .code_start = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, $$Base),870 .code_limit = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, $$Limit),871 .ro_start = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, $$RO$$Base),872 .ro_limit = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, $$RO$$Limit),873 .rw_start = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, _DATA$$RW$$Base),874 .rw_limit = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, _DATA$$RW$$Limit),875 .zi_start = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, _DATA$$ZI$$Base),876 .zi_limit = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, _DATA$$ZI$$Limit),877 .stack_bottom = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, _STACK$$ZI$$Base),878 .stack_top = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, _STACK$$ZI$$Limit),879 },880#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */881#ifdef TFM_MULTI_CORE_TEST882 {883 .code_start = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, $$Base),884 .code_limit = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, $$Limit),885 .ro_start = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, $$RO$$Base),886 .ro_limit = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, $$RO$$Limit),887 .rw_start = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, _DATA$$RW$$Base),888 .rw_limit = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, _DATA$$RW$$Limit),889 .zi_start = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, _DATA$$ZI$$Base),890 .zi_limit = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, _DATA$$ZI$$Limit),891 .stack_bottom = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, _STACK$$ZI$$Base),892 .stack_top = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, _STACK$$ZI$$Limit),893 },894#endif /* TFM_MULTI_CORE_TEST */895};896/**************************************************************************/897/** The partition list for the DB */898/**************************************************************************/899static struct spm_partition_desc_t partition_list [] =900{901 {{0}}, /* placeholder for Non-secure internal partition */902 /* -----------------------------------------------------------------------*/903 /* - Partition DB record for TFM_SP_PS */904 /* -----------------------------------------------------------------------*/905#ifdef TFM_PARTITION_PROTECTED_STORAGE906 {907 /* Runtime data */908 .runtime_data = {0},909 .static_data = NULL,910 .platform_data_list = NULL,911 },912#endif /* TFM_PARTITION_PROTECTED_STORAGE */913 /* -----------------------------------------------------------------------*/914 /* - Partition DB record for TFM_SP_ITS */915 /* -----------------------------------------------------------------------*/916#ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE917 {918 /* Runtime data */919 .runtime_data = {0},920 .static_data = NULL,921 .platform_data_list = NULL,922 },923#endif /* TFM_PARTITION_INTERNAL_TRUSTED_STORAGE */924 /* -----------------------------------------------------------------------*/925 /* - Partition DB record for TFM_SP_AUDIT_LOG */926 /* -----------------------------------------------------------------------*/927#ifdef TFM_PARTITION_AUDIT_LOG928 {929 /* Runtime data */930 .runtime_data = {0},931 .static_data = NULL,932 .platform_data_list = NULL,933 },934#endif /* TFM_PARTITION_AUDIT_LOG */935 /* -----------------------------------------------------------------------*/936 /* - Partition DB record for TFM_SP_CRYPTO */937 /* -----------------------------------------------------------------------*/938#ifdef TFM_PARTITION_CRYPTO939 {940 /* Runtime data */941 .runtime_data = {0},942 .static_data = NULL,943 .platform_data_list = NULL,944 },945#endif /* TFM_PARTITION_CRYPTO */946 /* -----------------------------------------------------------------------*/947 /* - Partition DB record for TFM_SP_PLATFORM */948 /* -----------------------------------------------------------------------*/949#ifdef TFM_PARTITION_PLATFORM950 {951 /* Runtime data */952 .runtime_data = {0},953 .static_data = NULL,954 .platform_data_list = NULL,955 },956#endif /* TFM_PARTITION_PLATFORM */957 /* -----------------------------------------------------------------------*/958 /* - Partition DB record for TFM_SP_INITIAL_ATTESTATION */959 /* -----------------------------------------------------------------------*/960#ifdef TFM_PARTITION_INITIAL_ATTESTATION961 {962 /* Runtime data */963 .runtime_data = {0},964 .static_data = NULL,965 .platform_data_list = NULL,966 },967#endif /* TFM_PARTITION_INITIAL_ATTESTATION */968 /* -----------------------------------------------------------------------*/969 /* - Partition DB record for TFM_SP_CORE_TEST */970 /* -----------------------------------------------------------------------*/971#ifdef TFM_PARTITION_TEST_CORE972 {973 /* Runtime data */974 .runtime_data = {0},975 .static_data = NULL,976 .platform_data_list = NULL,977 },978#endif /* TFM_PARTITION_TEST_CORE */979 /* -----------------------------------------------------------------------*/980 /* - Partition DB record for TFM_SP_CORE_TEST_2 */981 /* -----------------------------------------------------------------------*/982#ifdef TFM_PARTITION_TEST_CORE983 {984 /* Runtime data */985 .runtime_data = {0},986 .static_data = NULL,987 .platform_data_list = NULL,988 },989#endif /* TFM_PARTITION_TEST_CORE */990 /* -----------------------------------------------------------------------*/991 /* - Partition DB record for TFM_SP_SECURE_TEST_PARTITION */992 /* -----------------------------------------------------------------------*/993#ifdef TFM_PARTITION_TEST_SECURE_SERVICES994 {995 /* Runtime data */996 .runtime_data = {0},997 .static_data = NULL,998 .platform_data_list = NULL,999 },1000#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */1001 /* -----------------------------------------------------------------------*/1002 /* - Partition DB record for TFM_SP_IPC_SERVICE_TEST */1003 /* -----------------------------------------------------------------------*/1004#ifdef TFM_PARTITION_TEST_CORE_IPC1005 {1006 /* Runtime data */1007 .runtime_data = {0},1008 .static_data = NULL,1009 .platform_data_list = NULL,1010 },1011#endif /* TFM_PARTITION_TEST_CORE_IPC */1012 /* -----------------------------------------------------------------------*/1013 /* - Partition DB record for TFM_SP_IPC_CLIENT_TEST */1014 /* -----------------------------------------------------------------------*/1015#ifdef TFM_PARTITION_TEST_CORE_IPC1016 {1017 /* Runtime data */1018 .runtime_data = {0},1019 .static_data = NULL,1020 .platform_data_list = NULL,1021 },1022#endif /* TFM_PARTITION_TEST_CORE_IPC */1023 /* -----------------------------------------------------------------------*/1024 /* - Partition DB record for TFM_IRQ_TEST_1 */1025 /* -----------------------------------------------------------------------*/1026#ifdef TFM_ENABLE_IRQ_TEST1027 {1028 /* Runtime data */1029 .runtime_data = {0},1030 .static_data = NULL,1031 .platform_data_list = NULL,1032 },1033#endif /* TFM_ENABLE_IRQ_TEST */1034 /* -----------------------------------------------------------------------*/1035 /* - Partition DB record for TFM_SP_PS_TEST */1036 /* -----------------------------------------------------------------------*/1037#ifdef TFM_PARTITION_TEST_PS1038 {1039 /* Runtime data */1040 .runtime_data = {0},1041 .static_data = NULL,1042 .platform_data_list = NULL,1043 },1044#endif /* TFM_PARTITION_TEST_PS */1045 /* -----------------------------------------------------------------------*/1046 /* - Partition DB record for TFM_SP_SECURE_CLIENT_2 */1047 /* -----------------------------------------------------------------------*/1048#ifdef TFM_PARTITION_TEST_SECURE_SERVICES1049 {1050 /* Runtime data */1051 .runtime_data = {0},1052 .static_data = NULL,1053 .platform_data_list = NULL,1054 },1055#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */1056 /* -----------------------------------------------------------------------*/1057 /* - Partition DB record for TFM_SP_MULTI_CORE_TEST */1058 /* -----------------------------------------------------------------------*/1059#ifdef TFM_MULTI_CORE_TEST1060 {1061 /* Runtime data */1062 .runtime_data = {0},1063 .static_data = NULL,1064 .platform_data_list = NULL,1065 },1066#endif /* TFM_MULTI_CORE_TEST */1067};1068struct spm_partition_db_t g_spm_partition_db = {1069 .is_init = 0,1070 .partition_count = sizeof(partition_list) / sizeof(partition_list[0]),1071 .partitions = partition_list,1072};1073#endif /* __TFM_SPM_DB_IPC_INC__ */...

Full Screen

Full Screen

Loader.php

Source:Loader.php Github

copy

Full Screen

1<?php2namespace Foliola\Boot;3defined('ABSPATH') || die();4/**5 * Add internal and external files and definition hooks.6 *7 * @package Foliola8 * @version 1.0.09 * @since 1.0.010 * @author Tim Rickaby <https://timrickaby.com>11 * @copyright © 2022 Tim Rickaby12 * @link https://foliola.com13 */14final class Loader15{16 private $registry;17 private $linker;18 /**19 * @since 1.0.020 * @access public21 */22 final public function __construct()23 {24 $this->registry = new \Foliola\Boot\Registry();25 $this->linker = new \Foliola\Boot\Linker();26 $this->internal = new \Foliola\Boot\Internal($this->registry);27 $this->external = new \Foliola\Boot\External($this->registry);28 $this->ui = new \Foliola\Boot\UI($this->registry);29 30 $this->link();31 }32 /**33 * Plugin loader.34 *35 * @since 1.0.036 * @access public37 */38 final private function link()39 {40 // Internal definitions. Order is important.41 $this->linker->add_action('plugins_loaded', $this->internal, 'register_languages');42 $this->linker->add_action('plugins_loaded', $this->internal, 'register_scopes');43 $this->linker->add_action('plugins_loaded', $this->internal, 'register_settings');44 $this->linker->add_action('plugins_loaded', $this->internal, 'register_formats');45 $this->linker->add_action('plugins_loaded', $this->internal, 'register_types');46 // Extenral definitions. Order is important.47 $this->linker->add_action('init', $this->external, 'register_scopes');48 $this->linker->add_action('init', $this->external, 'register_settings');49 $this->linker->add_action('init', $this->external, 'register_assistants');50 $this->linker->add_action('init', $this->external, 'register_types');51 $this->linker->add_action('init', $this->external, 'register_collections');52 $this->linker->add_action('init', $this->external, 'register_uis');53 $this->linker->add_action('init', $this, 'apply_definitions');54 $this->linker->add_action('wp_enqueue_scripts', $this->external, 'register_resources');55 $this->linker->add_shortcode('foliola', new \Foliola\Boot\Shortcodes(), 'dispatch');56 if (is_admin() == true) {57 $this->linker->add_action('admin_enqueue_scripts', $this->ui, 'register_jquery');58 $this->linker->add_action('admin_enqueue_scripts', $this->ui, 'register_assets');59 $this->linker->add_action('admin_head', $this->ui, 'add_headers');60 $this->linker->add_action('admin_init', $this->ui, 'register_ajax');61 $this->linker->add_action('admin_init', $this->ui, 'build_panels');62 }63 $this->linker->add_action('init', $this->external, 'alert_external');64 $this->linker->apply();65 }66 /**67 * Initialise definitions store.68 *69 * @since 1.0.070 * @access public71 */72 final public function apply_definitions()73 {74 \Foliola\Boot\Definitions::apply(75 $this->registry->get_scopes(),76 $this->registry->get_formats(),77 $this->registry->get_types(),78 $this->registry->get_collections(),79 $this->registry->get_uis(),80 $this->registry->get_settings(),81 $this->registry->get_assistants()82 );83 }84}85?>...

Full Screen

Full Screen

init

Using AI Code Generation

copy

Full Screen

1require_once 'linker.php';2$linker = new linker();3$linker->init();4require_once 'linker.php';5$linker = new linker();6$linker->init();7require_once 'linker.php';8$linker = new linker();9$linker->init();10require_once 'linker.php';11$linker = new linker();12$linker->init();13require_once 'linker.php';14$linker = new linker();15$linker->init();16require_once 'linker.php';17$linker = new linker();18$linker->init();19require_once 'linker.php';20$linker = new linker();21$linker->init();22require_once 'linker.php';23$linker = new linker();24$linker->init();25require_once 'linker.php';26$linker = new linker();27$linker->init();28require_once 'linker.php';29$linker = new linker();30$linker->init();31require_once 'linker.php';32$linker = new linker();33$linker->init();34require_once 'linker.php';35$linker = new linker();36$linker->init();37require_once 'linker.php';38$linker = new linker();39$linker->init();40require_once 'linker.php';41$linker = new linker();42$linker->init();43require_once 'linker.php';

Full Screen

Full Screen

init

Using AI Code Generation

copy

Full Screen

1$Linker = new Linker();2$Linker->init();3$Linker = new Linker();4$Linker->init();5$Linker = new Linker();6$Linker->init();7$Linker = new Linker();8$Linker->init();9$Linker = new Linker();10$Linker->init();11$Linker = new Linker();12$Linker->init();13$Linker = new Linker();14$Linker->init();15$Linker = new Linker();16$Linker->init();17$Linker = new Linker();18$Linker->init();19$Linker = new Linker();20$Linker->init();21$Linker = new Linker();22$Linker->init();23$Linker = new Linker();24$Linker->init();25$Linker = new Linker();26$Linker->init();27$Linker = new Linker();28$Linker->init();29$Linker = new Linker();30$Linker->init();31$Linker = new Linker();32$Linker->init();

Full Screen

Full Screen

init

Using AI Code Generation

copy

Full Screen

1$links = new linker();2$links->init();3$links = new linker();4$links->init();5$links = new linker();6$links->init();7$links = new linker();8$links->init();9$links = new linker();10$links->init();11$links = new linker();12$links->init();13$links = new linker();14$links->init();15$links = new linker();16$links->init();17$links = new linker();18$links->init();19$links = new linker();20$links->init();21$links = new linker();22$links->init();23$links = new linker();24$links->init();25$links = new linker();26$links->init();27$links = new linker();28$links->init();29$links = new linker();30$links->init();31$links = new linker();32$links->init();33$links = new linker();34$links->init();35$links = new linker();36$links->init();

Full Screen

Full Screen

init

Using AI Code Generation

copy

Full Screen

1$linker = new Linker();2$linker->init();3$linker = new Linker();4$linker->init();5$linker = new Linker();6$linker->init();7$linker = Linker::getInstance();8$linker->init();9global $linker;10$linker = new Linker();11$linker->init();12global $linker;13$linker->init();14global $linker;15$linker = new Linker();16$linker->init();17global $linker;18$linker->init();19global $linker;20$linker = new Linker();21$linker->init();22global $linker;23$linker->init();24global $linker;

Full Screen

Full Screen

init

Using AI Code Generation

copy

Full Screen

1$loader = new \Composer\Autoload\ClassLoader();2$loader->add('MyApp', __DIR__ . '/src');3$loader->register();4$loader = new \Composer\Autoload\ClassLoader();5$loader->add('MyApp', __DIR__ . '/src');6$loader->register();7$loader = new \Composer\Autoload\ClassLoader();8$loader->add('MyApp', __DIR__ . '/src');9$loader->register();10$loader = new \Composer\Autoload\ClassLoader();11$loader->add('MyApp', __DIR__ . '/src');12$loader->register();13$loader = new \Composer\Autoload\ClassLoader();14$loader->add('MyApp', __DIR__ . '/src');15$loader->register();16$loader = new \Composer\Autoload\ClassLoader();17$loader->add('MyApp', __DIR__ . '/src');18$loader->register();19$loader = new \Composer\Autoload\ClassLoader();20$loader->add('MyApp', __DIR__ . '/src');21$loader->register();22$loader = new \Composer\Autoload\ClassLoader();23$loader->add('MyApp', __DIR__ . '/src');24$loader->register();25$loader = new \Composer\Autoload\ClassLoader();26$loader->add('MyApp', __DIR__ . '/src');27$loader->register();28$loader = new \Composer\Autoload\ClassLoader();29$loader->add('MyApp', __DIR__ . '/src');30$loader->register();31$loader = new \Composer\Autoload\ClassLoader();32$loader->add('MyApp', __DIR__ . '/src');33$loader->register();34$loader = new \Composer\Autoload\ClassLoader();35$loader->add('MyApp', __DIR__ . '/src');36$loader->register();

Full Screen

Full Screen

init

Using AI Code Generation

copy

Full Screen

1$linker = new linker;2$linker->init('1.php');3$linker = new linker;4$linker->init('2.php');5$linker = new linker;6$linker->init('3.php');7echo $linker->getLink();

Full Screen

Full Screen

init

Using AI Code Generation

copy

Full Screen

1$mylinker = new linker();2$mylinker->init();3if(isset($_POST['submit']))4{5 $mylinker->linker($_POST['linker'],$_POST['linker1']);6}7{8 public function init()9 {10 echo "This is init method of linker class";11 }12 public function linker($linker,$linker1)13 {14 echo $linker;15 echo $linker1;16 }17}

Full Screen

Full Screen

init

Using AI Code Generation

copy

Full Screen

1require_once 'linker.php';2$linker = new linker();3$linker->init();4The init method of linker class is very important because it will create a session and will also check if the user is logged in or not. If the user is not logged in, then the user will be redirected to the login page. The init method of linker class is defined as follows:5public function init(){6session_start();7if(!isset($_SESSION['username'])){8header("Location: login.php");9}10}

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Atoum automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Trigger init code on LambdaTest Cloud Grid

Execute automation tests with init on a cloud-based Grid of 3000+ real browsers and operating systems for both web and mobile applications.

Test now for Free

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful