
On Wed, 15 Jan 2025 at 03:18, Simon Glass sjg@chromium.org wrote:
Hi Ilias,
On Tue, 14 Jan 2025 at 12:34, Ilias Apalodimas ilias.apalodimas@linaro.org wrote:
Hi Simon,
On Tue, 14 Jan 2025 at 15:15, Simon Glass sjg@chromium.org wrote:
Hi Ilias,
On Tue, 14 Jan 2025 at 01:40, Ilias Apalodimas ilias.apalodimas@linaro.org wrote:
Hi Simon,
On Fri, 10 Jan 2025 at 16:54, Simon Glass sjg@chromium.org wrote:
Hi again Ilias,
On Thu, 2 Jan 2025 at 18:41, Simon Glass sjg@chromium.org wrote:
Hi Ilias,
On Fri, 3 Jan 2025 at 08:15, Ilias Apalodimas ilias.apalodimas@linaro.org wrote: > > > Apologies for the formatting, replying on mobile. > > On Wed, Jan 1, 2025, 21:58 Simon Glass sjg@chromium.org wrote: >> >> Linaro has decided to write their own version of bloblist from scratch, >> so there is no point in having a non-GPL license on this file. Change >> it, to better fit with the U-Boot project. > > > Apart from the commit message being wrong, it's also intentionally provoking. There was no bloblist in TF-A. > > The TF-A code is implementing the firmware hand-off spec [0], which Linaro participated in the creation. The U-Boot implementation was adjusted to adhere to the same spec after the TF-A code was merged.
The U-Boot series was [1], for reference. This was mostly about using different tags and shrinking the headers. My clear understanding was that we were going to try to have a single codebase, which is why I changed the license.
So, since you have a different view of events, why did Linaro write it from scratch? Was it to avoid having U-Boot code in TF-A? Or was the author just unaware of the original intention?
I am not sure I am following 'from scratch'. Firmware handoff is a doc describing a list. Raymond implemented it in U-Boot and TF-A.
So in your mind, Raymond implemented it in U-Boot? Have you taken a look at 'git log' or 'git blame'?
The right way to do this is to move the firmware handoff code to a library that can be used across projects.
Not always. Probably not in this case. It has quite a bit of logic which depends on its environment. So I think it is better to have 'similar' code in several projects. Certainly, writing it from scratch (meaning not based on existing code) is not the best approach.
It isn't relevant for
the commit message, but if you can find out I would be interested.
Just following up on this as I'm not sure of the status of this patch. Can you perhaps write your own commit message with your version of what Linaro has done?
"The non-GPL license was inadvertently added, remove it". Raymond wrote that code so I don't think he minds removing the extra license.
Again, please check your assertion here. I for one am very surprised to hear that Raymond wrote the bloblist code :-)
All of the patches carry his co-developed by or his signed off by. A big portion of those are sent by you as well
So here you are referring just to the patches which changed the header formats, not the original bloblist code.
I never said bloblist in any of my emails. I only mentioned the firmware handoff.
But it does help to explain why you objected to my commit message.
The reason I object to the commit message is because it's *intentionally* misleading. The BSD-3 clause was added by you in 6c9e3d1fc0859 with the intention of other projects using 'bloblist'.
Yes, that's why I added the license, since I was led to believe that TF-A would use the U-Boot code with some modifications.
The actual firmware handoff code was added much later in e266d2731145. All of the patches in that series is co-developped by Raymond. Those were added Wed Dec 27 while the TF-A patches were merged much much earlier. commit 3ba2c15147c in TF-A was merged Tue Jul 25
The original bloblist impl was in 2018:
commit 9f407d4ef092c2ce7ab0f4f366aee252611dab3c Author: Simon Glass sjg@chromium.org Date: Thu Nov 15 18:43:50 2018 -0700
Add core support for a bloblist to convey data from SPL At present there is no standard way in U-Boot to pass information from SPL to U-Boot proper. But sometimes SPL wants to convey information to U-Boot that U-Boot cannot easily figure out. For example, if SPL sets up SDRAM then it might want to pass the size of SDRAM, or the location of each bank, to U-Boot proper. Add a new 'bloblist' feature which provides this. A bloblist is set up in the first phase of U-Boot that runs (i.e. TPL or SPL). The location of this info may be in SRAM or CAR (x86 cache-as-RAM) or somewhere else. ...
So the tl;dr is that when the firmware handoff code was added in TF-A, there was no u-boot implementation. It all got added afterwards. The way the development happened is that Raymond implemented the TF-A code, and also plugged in the transfer mechanism so we use that info. The fact that there was a similar implementation in U-Boot, which did not adhere to the standard to begin with doesn't justify your commit message. As I said we didn't decide to write a 'bloblist' we implemented the spec in TF-A.
/Ilias
Regards, Simon