Marek Vasut 於 2025/7/30 上午 02:07 寫道:
On 7/29/25 4:51 PM, Lucien.Jheng wrote:
[...]
+int request_firmware_into_buf_via_script(void **buf, size_t max_size,
+ const char *script_name)
+{
[...]
+ *buf = (void *)memdup((void *)addr, size);
+ if (!*buf) {
+ log_err("Failed to allocate memory for firmware copy.\n");
+ return -ENOMEM;
+ }
One more nitpick, do we want to memdup() the firmware here, or would
it be better if user passed an already pre-allocated buffer pointer
into this function and this function would only copy up to 'max_size'
bytes into that buffer ?
This:
int request_firmware_into_buf_via_script(void *buf, size_t max_size,
const char *script_name)
...
memcpy(buf, addr, min(size, max_size));
...
What do you think ?
Also, I would really like if someone else voiced their opinion this
firmware loading mechanism.
Hi Marek
I agree with this assessment.
I think it's better to have the user pass an already pre-allocated
buffer pointer into this function,
and I will modify this part accordingly.
Hi all
Since you all have extensive development experience with U-Boot,
I'm very hopeful that we can make the firmware loading a better user
experience for developers.
Therefore, I would greatly appreciate any suggestions you have on how to
improve the firmware loading mechanism.
Thank you in advance for your insights.