Re: [PATCH v4 0/5] remoteproc: Add elf64 support

From: Arnaud POULIQUEN
Date: Wed Feb 12 2020 - 03:15:42 EST




On 2/12/20 12:12 AM, Mathieu Poirier wrote:
> On Tue, Feb 11, 2020 at 04:57:18PM +0100, Arnaud POULIQUEN wrote:
>> Hi Clement,
>>
>> I tested the series on the stm32 platform for remote proc firmwre load: no regression found.
>> I do not test the da_to_va feature as not implemented on stm32 platform.
>
> It would be very interesting if you could test the coredump, that would give us
> a lot more confidence in the implementation.
I also tested the coredump generation. LGTM

>
> Thanks,
> Mathieu
>
>>
>> Regards,
>> Arnaud
>>
>>
>>
>> On 2/10/20 5:22 PM, Clement Leger wrote:
>>> This serie add support for elf64 in remoteproc (elf loader, coredump).
>>> First two patches modifies the type of len argument (in da_to_va) and
>>> boot_addr in order to allow loading elf64 segment with a u64 size
>>> and a u64 entry point.
>>> Next patch introduce a set of macros to access elf64 and elf32
>>> transparently.
>>> Last two patches are the actual modification in the elf loader and
>>> remoteproc coredump support to add elf64 support.
>>>
>>> Changes from V3:
>>> - Adapt coredump to elf64 file format
>>> - Rename remoteproc_elf_loader.h to remoteproc_elf_helpers.h
>>> - Update copyright year in remoteproc_elf_helpers.h
>>> - Rename macros elf_hdr_* to elf_get_hdr_* for coherency with elf_hdr_set_*
>>> - Split elf64 loader patch in 3:
>>> - boot_addr u64 change
>>> - remoteproc_elf_helpers.h creation
>>> - elf64 loading
>>>
>>> Clement Leger (5):
>>> remoteproc: Use u64 len for da_to_va
>>> remoteproc: Use u64 type for boot_addr
>>> remoteproc: Add elf helpers to access elf64 and elf32 fields
>>> remoteproc: Add elf64 support in elf loader
>>> remoteproc: Adapt coredump to generate correct elf type
>>>
>>> Documentation/remoteproc.txt | 2 +-
>>> drivers/remoteproc/imx_rproc.c | 11 +-
>>> drivers/remoteproc/keystone_remoteproc.c | 4 +-
>>> drivers/remoteproc/qcom_q6v5_adsp.c | 2 +-
>>> drivers/remoteproc/qcom_q6v5_mss.c | 2 +-
>>> drivers/remoteproc/qcom_q6v5_pas.c | 2 +-
>>> drivers/remoteproc/qcom_q6v5_wcss.c | 2 +-
>>> drivers/remoteproc/qcom_wcnss.c | 2 +-
>>> drivers/remoteproc/remoteproc_core.c | 69 +++++++------
>>> drivers/remoteproc/remoteproc_elf_helpers.h | 95 ++++++++++++++++++
>>> drivers/remoteproc/remoteproc_elf_loader.c | 150 ++++++++++++++++++----------
>>> drivers/remoteproc/remoteproc_internal.h | 4 +-
>>> drivers/remoteproc/st_remoteproc.c | 2 +-
>>> drivers/remoteproc/st_slim_rproc.c | 4 +-
>>> drivers/remoteproc/wkup_m3_rproc.c | 4 +-
>>> include/linux/remoteproc.h | 7 +-
>>> 16 files changed, 252 insertions(+), 110 deletions(-)
>>> create mode 100644 drivers/remoteproc/remoteproc_elf_helpers.h
>>>