Skip to content

Commit cc42fc0

Browse files
committed
rimage: auxiliary modules don't have TOML configuration
Auxiliary modules, implemented as LLEXT and used to provide functionality for other modules, don't have TOML configuration, make rimage skip that step for them. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
1 parent 40e6862 commit cc42fc0

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

tools/rimage/src/manifest.c

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -536,18 +536,20 @@ static int man_module_create_reloc(struct image *image, struct manifest_module *
536536
unsigned int i;
537537

538538
for (i = 0, sof_mod = section.data; i < n_mod; i++, sof_mod++) {
539-
int j = man_module_find_cfg(modules, &sof_mod->module);
540-
541-
if (j < 0) {
542-
elf_section_free(&section);
543-
return j;
544-
}
545-
546-
/* Found a TOML manifest, matching ELF */
547539
if (i)
548540
(*man_module)++;
549-
/* Use manifest created using toml files as template */
550-
**man_module = modules->mod_man[j];
541+
542+
if (sof_mod->module.type.load_type != SOF_MAN_MOD_TYPE_LLEXT_AUX) {
543+
int j = man_module_find_cfg(modules, &sof_mod->module);
544+
545+
if (j < 0) {
546+
elf_section_free(&section);
547+
return j;
548+
}
549+
550+
/* Found a TOML manifest, matching ELF: use as a template */
551+
**man_module = modules->mod_man[j];
552+
}
551553
/* Use .manifest to update individual fields */
552554
man_get_section_manifest(image, sof_mod, *man_module);
553555
man_module_fill_reloc(module, *man_module);
@@ -723,6 +725,9 @@ static int man_create_modules_in_config(struct image *image, struct sof_man_fw_d
723725
SOF_MAN_MODULE_OFFSET(0));
724726
i < modules->output_mod_cfg_count;
725727
i++, man_module++) {
728+
if (man_module->type.load_type == SOF_MAN_MOD_TYPE_LLEXT_AUX)
729+
continue;
730+
726731
int j = man_module_find_cfg(modules, man_module);
727732

728733
if (j < 0)

0 commit comments

Comments
 (0)