blob: 9ca80d4a81c7c21c8e6ab07f120359aa4c25f3f9 [file] [log] [blame]
Julian Hall8cff2b82020-11-23 18:12:17 +01001/*
Julian Halleae71792022-07-05 15:57:40 +01002 * Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
Julian Hall8cff2b82020-11-23 18:12:17 +01003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#include <service_locator.h>
8#include <service/locator/standalone/services/crypto/crypto_service_context.h>
julhal013a4207d2021-03-08 13:32:08 +00009#include <service/locator/standalone/services/internal-trusted-storage/its_service_context.h>
10#include <service/locator/standalone/services/protected-storage/ps_service_context.h>
julhal013ec4c322021-02-05 17:30:49 +000011#include <service/locator/standalone/services/test-runner/test_runner_service_context.h>
Julian Hall700aa362021-05-13 15:30:39 +010012#include <service/locator/standalone/services/attestation/attestation_service_context.h>
Julian Halleae71792022-07-05 15:57:40 +010013#include <service/locator/standalone/services/block-storage/block_storage_service_context.h>
Julian Hall2ca63d82022-12-21 15:20:43 +000014#include <service/locator/standalone/services/fwu/fwu_service_context.h>
Julian Hall976f9cd2021-10-08 09:52:01 +010015#include <service/locator/standalone/services/smm-variable/smm_variable_service_context.h>
Julian Hall8cff2b82020-11-23 18:12:17 +010016#include "standalone_location_strategy.h"
17#include "standalone_service_registry.h"
18
19void service_locator_envinit(void)
20{
Imre Kis0117e0c2023-08-01 14:38:25 +020021 static crypto_service_context crypto_context("sn:trustedfirmware.org:crypto:0", TS_RPC_ENCODING_PACKED_C);
Julian Hall976f9cd2021-10-08 09:52:01 +010022 standalone_service_registry::instance()->regsiter_service_instance(&crypto_context);
julhal013ec4c322021-02-05 17:30:49 +000023
Imre Kis0117e0c2023-08-01 14:38:25 +020024 static crypto_service_context crypto_context_protobuf("sn:trustedfirmware.org:crypto-protobuf:0",
25 TS_RPC_ENCODING_PROTOBUF);
26 standalone_service_registry::instance()->regsiter_service_instance(&crypto_context_protobuf);
27
Julian Hall976f9cd2021-10-08 09:52:01 +010028 static its_service_context its_service_context("sn:trustedfirmware.org:internal-trusted-storage:0");
29 standalone_service_registry::instance()->regsiter_service_instance(&its_service_context);
julhal013a4207d2021-03-08 13:32:08 +000030
Julian Hall976f9cd2021-10-08 09:52:01 +010031 static ps_service_context ps_service_context("sn:trustedfirmware.org:protected-storage:0");
32 standalone_service_registry::instance()->regsiter_service_instance(&ps_service_context);
julhal013a4207d2021-03-08 13:32:08 +000033
Julian Hall976f9cd2021-10-08 09:52:01 +010034 static test_runner_service_context test_runner_context("sn:trustedfirmware.org:test-runner:0");
35 standalone_service_registry::instance()->regsiter_service_instance(&test_runner_context);
julhal013ec4c322021-02-05 17:30:49 +000036
Julian Hall976f9cd2021-10-08 09:52:01 +010037 static attestation_service_context attestation_context("sn:trustedfirmware.org:attestation:0");
38 standalone_service_registry::instance()->regsiter_service_instance(&attestation_context);
Julian Hall700aa362021-05-13 15:30:39 +010039
Julian Halleae71792022-07-05 15:57:40 +010040 static block_storage_service_context block_storage_context("sn:trustedfirmware.org:block-storage:0");
41 standalone_service_registry::instance()->regsiter_service_instance(&block_storage_context);
42
Julian Hall2ca63d82022-12-21 15:20:43 +000043 static fwu_service_context fwu_context("sn:trustedfirmware.org:fwu:0");
44 standalone_service_registry::instance()->regsiter_service_instance(&fwu_context);
45
Julian Hall976f9cd2021-10-08 09:52:01 +010046 static smm_variable_service_context smm_variable_context("sn:trustedfirmware.org:smm-variable:0");
47 standalone_service_registry::instance()->regsiter_service_instance(&smm_variable_context);
48
49 service_locator_register_strategy(standalone_location_strategy());
julhal013a4207d2021-03-08 13:32:08 +000050}