Sound Open Firmware
Loading...
Searching...
No Matches
llext.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause */
2/*
3 * Copyright(c) 2024 Intel Corporation. All rights reserved.
4 */
5
12#ifndef MODULE_LLEXT_H
13#define MODULE_LLEXT_H
14
15#define SOF_LLEXT_MODULE_MANIFEST(manifest_name, entry, affinity, mod_uuid, instances, ...) \
16{ \
17 .module = { \
18 .name = manifest_name, \
19 .uuid = mod_uuid, \
20 .entry_point = (uint32_t)(entry), \
21 .instance_max_count = instances, \
22 .type = { \
23 .load_type = SOF_MAN_MOD_TYPE_LLEXT, \
24 .domain_ll = 1, \
25 .user_mode = COND_CODE_0(NUM_VA_ARGS_LESS_1(_, ##__VA_ARGS__), (0), \
26 (GET_ARG_N(1, __VA_ARGS__))), \
27 }, \
28 .affinity_mask = (affinity), \
29 } \
30}
31
32#define SOF_LLEXT_AUX_MANIFEST(manifest_name, entry, mod_uuid) \
33{ \
34 .module = { \
35 .name = manifest_name, \
36 .uuid = mod_uuid, \
37 .entry_point = (uint32_t)(entry), \
38 .type = { \
39 .load_type = SOF_MAN_MOD_TYPE_LLEXT_AUX, \
40 }, \
41 } \
42}
43
44#define SOF_LLEXT_BUILDINFO \
45static const struct sof_module_api_build_info buildinfo __section(".mod_buildinfo") __used = { \
46 .format = SOF_MODULE_API_BUILD_INFO_FORMAT, \
47 .api_version_number.full = SOF_MODULE_API_CURRENT_VERSION, \
48}
49
50#endif