[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<AM9PR04MB8604CF0462EA2071610F0E4095B52@AM9PR04MB8604.eurprd04.prod.outlook.com>
Date: Tue, 8 Apr 2025 07:02:50 +0000
From: Pankaj Gupta <pankaj.gupta@....com>
To: Frank Li <frank.li@....com>
CC: Jonathan Corbet <corbet@....net>, Rob Herring <robh@...nel.org>, Krzysztof
Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>, Shawn Guo
<shawnguo@...nel.org>, Sascha Hauer <s.hauer@...gutronix.de>, Pengutronix
Kernel Team <kernel@...gutronix.de>, Fabio Estevam <festevam@...il.com>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"imx@...ts.linux.dev" <imx@...ts.linux.dev>,
"linux-arm-kernel@...ts.infradead.org" <linux-arm-kernel@...ts.infradead.org>
Subject: RE: [PATCH v15 5/7] firmware: imx: add driver for NXP EdgeLock
Enclave
> diff --git a/drivers/firmware/imx/ele_base_msg.c
> b/drivers/firmware/imx/ele_base_msg.c
> new file mode 100644
> index 000000000000..c843a5508a9e
> --- /dev/null
>> +++ b/drivers/firmware/imx/ele_base_msg.c
> @@ -0,0 +1,312 @@
>> +// SPDX-License-Identifier: GPL-2.0+
>> +/*
>> + * Copyright 2025 NXP
>> + */
>> +
>> +int ele_fw_authenticate(struct se_if_priv *priv, phys_addr_t addr) {
>> + struct se_api_msg *tx_msg __free(kfree) = NULL;
>> + struct se_api_msg *rx_msg __free(kfree) = NULL;
>> + int ret = 0;
>> +
>> + if (!priv)
>> + return -EINVAL;
>> +
>> + tx_msg = kzalloc(ELE_FW_AUTH_REQ_SZ, GFP_KERNEL);
>> + if (!tx_msg)
>> + return -ENOMEM;
>> +
>> + rx_msg = kzalloc(ELE_FW_AUTH_RSP_MSG_SZ, GFP_KERNEL);
>> + if (!rx_msg)
>> + return -ENOMEM;
>> +
>> + ret = se_fill_cmd_msg_hdr(priv,
>> + (struct se_msg_hdr *)&tx_msg->header,
>> + ELE_FW_AUTH_REQ,
>> + ELE_FW_AUTH_REQ_SZ,
>> + true);
>> + if (ret)
>> + return ret;
>> +
>> + tx_msg->data[1] = upper_32_bits(addr);
>> + tx_msg->data[0] = lower_32_bits(addr);
>> + tx_msg->data[2] = addr;
> are you sure 0 lower, 1 is upper
> in ele_get_info(), 0 is upper, 1 lower.
Yes.
> Please order as index.
Accepted.
> why need fill "tx_msg->data[2] = addr" (0,1 already have addr)
As per FW spec after the header, the 3rd word should contain the actual
address of the image, conveyed by the container.
In our case container address is same as that of the image address conveyed
by the container.
Accepted, Will add another argument img_addr. And re-name the addr to
contnr_addr.
>> +
>> + ret = ele_msg_send_rcv(priv,
>> + tx_msg,
>> + ELE_FW_AUTH_REQ_SZ,
>> + rx_msg,
>> + ELE_FW_AUTH_RSP_MSG_SZ);
>> + if (ret < 0)
>> + return ret;
Download attachment "smime.p7s" of type "application/pkcs7-signature" (11094 bytes)
Powered by blists - more mailing lists