blob: 3cb23a4dc6f3b2496c9248a5c1328c2d5f82fb37 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
/*
* Copyright (c) 2025, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef PLAT_LFA_H
#define PLAT_LFA_H
#include <services/lfa_component_desc.h>
#include <tools_share/uuid.h>
/*
* This data structure contains component info retrieved from the platform-
* implemented API plat_lfa_get_components.
*
* lfa_component_id Component described by the data structure.
* uuid UUID of this component.
* activator Activator data structure used by this component.
* activation_pending Flag indicating whether this component can be activated.
*/
typedef struct plat_lfa_component_info {
const uint32_t lfa_component_id;
const uuid_t uuid;
struct lfa_component_ops *activator;
bool activation_pending;
} plat_lfa_component_info_t;
uint32_t plat_lfa_get_components(plat_lfa_component_info_t **components);
bool is_plat_lfa_activation_pending(uint32_t lfa_component_id);
int plat_lfa_cancel(uint32_t lfa_component_id);
int plat_lfa_load_auth_image(uint32_t lfa_component_id);
int plat_lfa_get_image_info(uint32_t lfa_component_id, uintptr_t *image_address,
size_t *image_size);
int plat_lfa_notify_activate(uint32_t lfa_component_id);
uint64_t plat_lfa_mailbox_base(void);
#endif /* PLAT_LFA_H */
|