Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1404503 > unrolled thread

Sharing code between Linux and bootloader (U-boot) ?

Started bySebastian Frias <sf84@laposte.net>
First post2016-05-20 16:30 +0200
Last post2016-05-30 13:40 +0200
Articles 5 — 4 participants

Back to article view | Back to linux.kernel


Contents

  Sharing code between Linux and bootloader (U-boot) ? Sebastian Frias <sf84@laposte.net> - 2016-05-20 16:30 +0200
    Re: Sharing code between Linux and bootloader (U-boot) ? Grant Edwards <grant.b.edwards@gmail.com> - 2016-05-20 17:10 +0200
    Re: [U-Boot] Sharing code between Linux and bootloader (U-boot) ? Tom Rini <trini@konsulko.com> - 2016-05-21 03:50 +0200
      Re: [U-Boot] Sharing code between Linux and bootloader (U-boot) ? Sebastian Frias <sf84@laposte.net> - 2016-05-23 15:30 +0200
    Re: Sharing code between Linux and bootloader (U-boot) ? Holger Schurig <holgerschurig@gmail.com> - 2016-05-30 13:40 +0200

#1404503 — Sharing code between Linux and bootloader (U-boot) ?

FromSebastian Frias <sf84@laposte.net>
Date2016-05-20 16:30 +0200
SubjectSharing code between Linux and bootloader (U-boot) ?
Message-ID<rATB8-6Bl-33@gated-at.bofh.it>
Hi,

Some bootloaders (like U-boot) support several HW devices: serial, network, NAND, USB, etc. most of which are also supported by Linux.

So the question is: is code shared? I mean, I understand that the drivers need to talk to the appropriate API, and such API could be different between Linux and U-boot.
But putting that aside, would it be naive to imagine that some "core" functionality could be shared? Or would that part be so small it is not worth the effort?

Since many companies use both, U-boot and Linux, I would figure they try their best to optimize engineering resources and share code, right?
In that case, I also wonder how do they share DT descriptions that right now are being stored in the Linux kernel tree.

We'd like to share code/DT for obvious reasons, what would you guys suggest?

Best regards,

Sebastian

[toc] | [next] | [standalone]


#1404529

FromGrant Edwards <grant.b.edwards@gmail.com>
Date2016-05-20 17:10 +0200
Message-ID<rAUdP-74l-1@gated-at.bofh.it>
In reply to#1404503
On 2016-05-20, Sebastian Frias <sf84@laposte.net> wrote:

> Some bootloaders (like U-boot) support several HW devices: serial,
> network, NAND, USB, etc. most of which are also supported by Linux.
>
> So the question is: is code shared?

A little bit -- sort of.  I've seen chunks of code that have been
copied from Linux to U-Boot, and chunks of code in Linux and U-Boot
that appear to have come from the same place at some silicon vendor or
other.  And there are bits of code I've written that ended up in both
places.

But Linux and U-Boot don't share actual files, and any changes to the
"common" code has to be done twice.

-- 
Grant Edwards               grant.b.edwards        Yow! Are we THERE yet?
                                  at               
                              gmail.com            

[toc] | [prev] | [next] | [standalone]


#1404787 — Re: [U-Boot] Sharing code between Linux and bootloader (U-boot) ?

FromTom Rini <trini@konsulko.com>
Date2016-05-21 03:50 +0200
SubjectRe: [U-Boot] Sharing code between Linux and bootloader (U-boot) ?
Message-ID<rB4db-5yY-7@gated-at.bofh.it>
In reply to#1404503

[Multipart message — attachments visible in raw view] — view raw

On Fri, May 20, 2016 at 04:28:23PM +0200, Sebastian Frias wrote:

> Hi,
> 
> Some bootloaders (like U-boot) support several HW devices: serial,
> network, NAND, USB, etc. most of which are also supported by Linux.
> 
> So the question is: is code shared? I mean, I understand that the
> drivers need to talk to the appropriate API, and such API could be
> different between Linux and U-boot.
> But putting that aside, would it be naive to imagine that some "core"
> functionality could be shared? Or would that part be so small it is
> not worth the effort?
> 
> Since many companies use both, U-boot and Linux, I would figure they
> try their best to optimize engineering resources and share code,
> right?
> In that case, I also wonder how do they share DT descriptions that
> right now are being stored in the Linux kernel tree.
> 
> We'd like to share code/DT for obvious reasons, what would you guys
> suggest?

So, in all cases, Linux is always the primary.  In some cases in U-Boot
we port drivers over (NAND is a good example here).  In other cases,
things are similar enough that it's having done it in one place it's
easy enough to do it again in the other.

-- 
Tom

[toc] | [prev] | [next] | [standalone]


#1405369 — Re: [U-Boot] Sharing code between Linux and bootloader (U-boot) ?

FromSebastian Frias <sf84@laposte.net>
Date2016-05-23 15:30 +0200
SubjectRe: [U-Boot] Sharing code between Linux and bootloader (U-boot) ?
Message-ID<rBY5I-6pa-13@gated-at.bofh.it>
In reply to#1404787
Hi Tom,

On 05/21/2016 03:41 AM, Tom Rini wrote:
> On Fri, May 20, 2016 at 04:28:23PM +0200, Sebastian Frias wrote:
> 
>> Hi,
>>
>> Some bootloaders (like U-boot) support several HW devices: serial,
>> network, NAND, USB, etc. most of which are also supported by Linux.
>>
>> So the question is: is code shared? I mean, I understand that the
>> drivers need to talk to the appropriate API, and such API could be
>> different between Linux and U-boot.
>> But putting that aside, would it be naive to imagine that some "core"
>> functionality could be shared? Or would that part be so small it is
>> not worth the effort?
>>
>> Since many companies use both, U-boot and Linux, I would figure they
>> try their best to optimize engineering resources and share code,
>> right?
>> In that case, I also wonder how do they share DT descriptions that
>> right now are being stored in the Linux kernel tree.
>>
>> We'd like to share code/DT for obvious reasons, what would you guys
>> suggest?
> 
> So, in all cases, Linux is always the primary.  

For drivers and DT?

>In some cases in U-Boot
> we port drivers over (NAND is a good example here). 

From your message, I get that first you write the driver for Linux and then port to U-boot, is that right?
I would have thought that the opposite way could be easier, since the U-boot driver could be simpler (maybe no DMA) w.r.t the one in Linux.

> In other cases,
> things are similar enough that it's having done it in one place it's
> easy enough to do it again in the other.
> 

So, basically people just do it again, duplicating code?

Best regards,

Sebastian

[toc] | [prev] | [next] | [standalone]


#1408999

FromHolger Schurig <holgerschurig@gmail.com>
Date2016-05-30 13:40 +0200
Message-ID<rEtI5-3A2-11@gated-at.bofh.it>
In reply to#1404503
Sebastian Frias <sf84@laposte.net> writes:

Barebox shares a good amount of code. For example, when you look at SPI
at AT24/AT25 you'll see that many things are almost identical.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web