[PATCH v1 1/1] remoteproc: qcom: pas: Coredump elf class to elf64

From: Gokul krishna Krishnakumar
Date: Wed Mar 08 2023 - 19:11:27 EST


This change adds a new initialization param which modifies the elf
class accordingly. Some of the subsystem dump analysis tools need
the elf class to be elf64.

Signed-off-by: Gokul krishna Krishnakumar <quic_gokukris@xxxxxxxxxxx>
---
drivers/remoteproc/qcom_q6v5_pas.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
index 0871108fb4dc..17ce3177be7b 100644
--- a/drivers/remoteproc/qcom_q6v5_pas.c
+++ b/drivers/remoteproc/qcom_q6v5_pas.c
@@ -39,6 +39,7 @@ struct adsp_data {
int pas_id;
int dtb_pas_id;
unsigned int minidump_id;
+ bool uses_elf64;
bool auto_boot;
bool decrypt_shutdown;

@@ -681,7 +682,10 @@ static int adsp_probe(struct platform_device *pdev)
}

rproc->auto_boot = desc->auto_boot;
- rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE);
+ if (desc->uses_elf64)
+ rproc_coredump_set_elf_info(rproc, ELFCLASS64, EM_NONE);
+ else
+ rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE);

adsp = (struct qcom_adsp *)rproc->priv;
adsp->dev = &pdev->dev;
@@ -1126,6 +1130,7 @@ static const struct adsp_data sm8550_adsp_resource = {
.pas_id = 1,
.dtb_pas_id = 0x24,
.minidump_id = 5,
+ .uses_elf64 = true,
.auto_boot = true,
.proxy_pd_names = (char*[]){
"lcx",
@@ -1145,6 +1150,7 @@ static const struct adsp_data sm8550_cdsp_resource = {
.pas_id = 18,
.dtb_pas_id = 0x25,
.minidump_id = 7,
+ .uses_elf64 = true,
.auto_boot = true,
.proxy_pd_names = (char*[]){
"cx",
@@ -1165,6 +1171,7 @@ static const struct adsp_data sm8550_mpss_resource = {
.pas_id = 4,
.dtb_pas_id = 0x26,
.minidump_id = 3,
+ .uses_elf64 = true,
.auto_boot = false,
.decrypt_shutdown = true,
.proxy_pd_names = (char*[]){
--
2.39.2