Hi Ohad, Today's linux-next merge of the remoteproc tree got a conflict in drivers/remoteproc/remoteproc_core.c between commits e981f6d41acd ("remoteproc: fix print format warnings") and 30338cf09f82 ("remoteproc: fix missing fault indication in error-path") from Linus' tree and commits bd4849848773 ("remoteproc: Pass struct fw to load_segments and find_rsc_table") and 72854fb042b1 ("remoteproc: Move Elf related functions to separate file") from the remoteproc tree. I fixed them up (see below) and can carry the fixes as necessary. -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx diff --cc drivers/remoteproc/remoteproc_core.c index 66324ee,f4d6f7b..0000000 --- a/drivers/remoteproc/remoteproc_core.c +++ b/drivers/remoteproc/remoteproc_core.c @@@ -1018,9 -784,7 +784,7 @@@ static int rproc_fw_boot(struct rproc * if (ret) return ret; - ehdr = (struct elf32_hdr *)fw->data; - - dev_info(dev, "Booting fw image %s, size %d\n", name, fw->size); + dev_info(dev, "Booting fw image %s, size %zd\n", name, fw->size); /* * if enabling an IOMMU isn't relevant for this rproc, this is @@@ -1032,19 -796,12 +796,14 @@@ return ret; } - /* - * The ELF entry point is the rproc's boot addr (though this is not - * a configurable property of all remote processors: some will always - * boot at a specific hardcoded address). - */ - rproc->bootaddr = ehdr->e_entry; + rproc->bootaddr = rproc_get_boot_addr(rproc, fw); /* look for the resource table */ - table = rproc_find_rsc_table(rproc, fw->data, fw->size, &tablesz); + table = rproc_find_rsc_table(rproc, fw, &tablesz); - if (!table) + if (!table) { + ret = -EINVAL; goto clean_up; + } /* handle fw resources which are required to boot rproc */ ret = rproc_handle_boot_rsc(rproc, table, tablesz);
Attachment:
pgpEUEreKT58D.pgp
Description: PGP signature