lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a1f18aa8-7650-4009-a874-d1d6c69e334d@lucaweiss.eu>
Date: Sun, 6 Jul 2025 19:09:31 +0200
From: Luca Weiss <luca@...aweiss.eu>
To: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>,
 Bjorn Andersson <andersson@...nel.org>,
 Mathieu Poirier <mathieu.poirier@...aro.org>,
 Sibi Sankar <quic_sibis@...cinc.com>
Cc: linux-arm-msm@...r.kernel.org, linux-remoteproc@...r.kernel.org,
 linux-kernel@...r.kernel.org, Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
Subject: Re: [PATCH v4] remoteproc: qcom_q6v5_mss: support loading MBN file on
 msm8974

On 06-07-2025 4:47 p.m., Dmitry Baryshkov wrote:
> From: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
> 
> On MSM8974 / APQ8074, MSM8226 and MSM8926 the MSS requires loading raw
> MBA image instead of the ELF file. Skip the ELF headers if mba.mbn was
> specified as the firmware image.

Appears to work on my msm8974pro-fairphone-fp2!

Tested-by: Luca Weiss <luca@...aweiss.eu> # msm8974pro-fairphone-fp2

[  175.530764] remoteproc remoteproc1: powering up fc880000.remoteproc
[  175.544439] remoteproc remoteproc1: Booting fw image mba.mbn, size 299792
[  177.707706] qcom-q6v5-mss fc880000.remoteproc: MBA booted without 
debug policy, loading mpss
[  180.375633] remoteproc remoteproc1: remote processor 
fc880000.remoteproc is now up
[  180.841751] wwan wwan0: port wwan0at0 attached
[  180.846972] wwan wwan0: port wwan0at1 attached
[  181.004199] wwan wwan0: port wwan0qmi0 attached
(this is with 'firmware-name = "mba.mbn", "modem.mbn";')

I can also test on other MSM8974 devices and MSM8926 if you think that's 
useful.

Regards
Luca

> 
> Fixes: a5a4e02d083d ("remoteproc: qcom: Add support for parsing fw dt bindings")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
> ---
> Changes in v4:
> - Expanded to cover MSM8226 and MSM8926.
> - Link to v3: https://lore.kernel.org/r/20250706-msm8974-fix-mss-v3-1-8b5ae61c86a9@oss.qualcomm.com
> 
> Changes in v3:
> - Reverted back to the simple patch from v1
> - Added define for 0x1000 (Konrad)
> - Added MBA firmware size check
> - Corrected the Fixes tag to point to the commit adding firmware-name
>    support
> - Link to v2: https://lore.kernel.org/r/20230508153524.2371795-1-dmitry.baryshkov@linaro.org
> 
> Changes in v2:
> - Replace fixed offset 0x1000 with the value obtained from ELF headers
> - Implement ELF validity checks
> - Link to v1: https://lore.kernel.org/r/20230507172041.2320279-1-dmitry.baryshkov@linaro.org
> ---
>   drivers/remoteproc/qcom_q6v5_mss.c | 13 ++++++++++++-
>   1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c
> index 0c0199fb0e68d6286f1e238d110539554d1d5f14..636f00d481ea80508fc9db28d8e2e225ea52372c 100644
> --- a/drivers/remoteproc/qcom_q6v5_mss.c
> +++ b/drivers/remoteproc/qcom_q6v5_mss.c
> @@ -498,6 +498,8 @@ static void q6v5_debug_policy_load(struct q6v5 *qproc, void *mba_region)
>   	release_firmware(dp_fw);
>   }
>   
> +#define MSM8974_B00_OFFSET 0x1000
> +
>   static int q6v5_load(struct rproc *rproc, const struct firmware *fw)
>   {
>   	struct q6v5 *qproc = rproc->priv;
> @@ -516,7 +518,16 @@ static int q6v5_load(struct rproc *rproc, const struct firmware *fw)
>   		return -EBUSY;
>   	}
>   
> -	memcpy(mba_region, fw->data, fw->size);
> +	if ((qproc->version == MSS_MSM8974 ||
> +	     qproc->version == MSS_MSM8226 ||
> +	     qproc->version == MSS_MSM8926) &&
> +	    fw->size > MSM8974_B00_OFFSET &&
> +	    !memcmp(fw->data, ELFMAG, SELFMAG))
> +		memcpy(mba_region,
> +		       fw->data + MSM8974_B00_OFFSET,
> +		       fw->size - MSM8974_B00_OFFSET);
> +	else
> +		memcpy(mba_region, fw->data, fw->size);
>   	q6v5_debug_policy_load(qproc, mba_region);
>   	memunmap(mba_region);
>   
> 
> ---
> base-commit: b12a9fa1c88a441daa33f15edfa3ded8cd6d3556
> change-id: 20250706-msm8974-fix-mss-e1b8e114b7e0
> 
> Best regards,


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ