blob: 438fc7ef5db4c308e3afb1d3e9b6f0bdd68992c3 [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>
Imre Kisc8951192023-11-03 17:11:33 +010016#include <service/locator/standalone/services/rpmb/rpmb_service_context.h>
Julian Hall8cff2b82020-11-23 18:12:17 +010017#include "standalone_location_strategy.h"
18#include "standalone_service_registry.h"
19
20void service_locator_envinit(void)
21{
Imre Kis0117e0c2023-08-01 14:38:25 +020022 static crypto_service_context crypto_context("sn:trustedfirmware.org:crypto:0", TS_RPC_ENCODING_PACKED_C);
Julian Hall976f9cd2021-10-08 09:52:01 +010023 standalone_service_registry::instance()->regsiter_service_instance(&crypto_context);
julhal013ec4c322021-02-05 17:30:49 +000024
Imre Kis0117e0c2023-08-01 14:38:25 +020025 static crypto_service_context crypto_context_protobuf("sn:trustedfirmware.org:crypto-protobuf:0",
26 TS_RPC_ENCODING_PROTOBUF);
27 standalone_service_registry::instance()->regsiter_service_instance(&crypto_context_protobuf);
28
Julian Hall976f9cd2021-10-08 09:52:01 +010029 static its_service_context its_service_context("sn:trustedfirmware.org:internal-trusted-storage:0");
30 standalone_service_registry::instance()->regsiter_service_instance(&its_service_context);
julhal013a4207d2021-03-08 13:32:08 +000031
Julian Hall976f9cd2021-10-08 09:52:01 +010032 static ps_service_context ps_service_context("sn:trustedfirmware.org:protected-storage:0");
33 standalone_service_registry::instance()->regsiter_service_instance(&ps_service_context);
julhal013a4207d2021-03-08 13:32:08 +000034
Julian Hall976f9cd2021-10-08 09:52:01 +010035 static test_runner_service_context test_runner_context("sn:trustedfirmware.org:test-runner:0");
36 standalone_service_registry::instance()->regsiter_service_instance(&test_runner_context);
julhal013ec4c322021-02-05 17:30:49 +000037
Julian Hall976f9cd2021-10-08 09:52:01 +010038 static attestation_service_context attestation_context("sn:trustedfirmware.org:attestation:0");
39 standalone_service_registry::instance()->regsiter_service_instance(&attestation_context);
Julian Hall700aa362021-05-13 15:30:39 +010040
Julian Halleae71792022-07-05 15:57:40 +010041 static block_storage_service_context block_storage_context("sn:trustedfirmware.org:block-storage:0");
42 standalone_service_registry::instance()->regsiter_service_instance(&block_storage_context);
43
Julian Hall2ca63d82022-12-21 15:20:43 +000044 static fwu_service_context fwu_context("sn:trustedfirmware.org:fwu:0");
45 standalone_service_registry::instance()->regsiter_service_instance(&fwu_context);
46
Julian Hall976f9cd2021-10-08 09:52:01 +010047 static smm_variable_service_context smm_variable_context("sn:trustedfirmware.org:smm-variable:0");
48 standalone_service_registry::instance()->regsiter_service_instance(&smm_variable_context);
49
Imre Kisc8951192023-11-03 17:11:33 +010050 static rpmb_service_context rpmb_context("sn:trustedfirmware.org:rpmb:0");
51 standalone_service_registry::instance()->regsiter_service_instance(&rpmb_context);
52
Julian Hall976f9cd2021-10-08 09:52:01 +010053 service_locator_register_strategy(standalone_location_strategy());
julhal013a4207d2021-03-08 13:32:08 +000054}