Sound Open Firmware
Loading...
Searching...
No Matches

LLEXT manifest macros and declarations for loadable ELF extensions. More...

Go to the source code of this file.

Macros

#define SOF_LLEXT_MODULE_MANIFEST(manifest_name, entry, affinity, mod_uuid, instances, ...)
 
#define SOF_LLEXT_AUX_MANIFEST(manifest_name, entry, mod_uuid)
 
#define SOF_LLEXT_BUILDINFO
 

Detailed Description

LLEXT manifest macros and declarations for loadable ELF extensions.

Macro Definition Documentation

◆ SOF_LLEXT_AUX_MANIFEST

#define SOF_LLEXT_AUX_MANIFEST (   manifest_name,
  entry,
  mod_uuid 
)
Value:
{ \
.module = { \
.name = manifest_name, \
.uuid = mod_uuid, \
.entry_point = (uint32_t)(entry), \
.type = { \
.load_type = SOF_MAN_MOD_TYPE_LLEXT_AUX, \
}, \
} \
}

◆ SOF_LLEXT_BUILDINFO

#define SOF_LLEXT_BUILDINFO
Value:
static const struct sof_module_api_build_info buildinfo __section(".mod_buildinfo") __used = { \
.api_version_number.full = SOF_MODULE_API_CURRENT_VERSION, \
}
#define SOF_MODULE_API_BUILD_INFO_FORMAT
Definition api_ver.h:16
#define SOF_MODULE_API_CURRENT_VERSION
Definition api_ver.h:26
#define __section(x)
Definition compiler_attributes.h:19
Definition api_ver.h:39
uint32_t format
Definition api_ver.h:40

◆ SOF_LLEXT_MODULE_MANIFEST

#define SOF_LLEXT_MODULE_MANIFEST (   manifest_name,
  entry,
  affinity,
  mod_uuid,
  instances,
  ... 
)
Value:
{ \
.module = { \
.name = manifest_name, \
.uuid = mod_uuid, \
.entry_point = (uint32_t)(entry), \
.instance_max_count = instances, \
.type = { \
.load_type = SOF_MAN_MOD_TYPE_LLEXT, \
.domain_ll = 1, \
.user_mode = COND_CODE_0(NUM_VA_ARGS_LESS_1(_, ##__VA_ARGS__), (0), \
(GET_ARG_N(1, __VA_ARGS__))), \
}, \
.affinity_mask = (affinity), \
} \
}