public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Tom Rini <trini@konsulko.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [EXT] Re: Cavium/Marvell Octeon Support
Date: Wed, 6 Nov 2019 19:21:13 -0500	[thread overview]
Message-ID: <20191107002113.GR4181@bill-the-cat> (raw)
In-Reply-To: <8349720.9jAfi1TMHv@flash>

On Wed, Nov 06, 2019 at 10:18:45PM +0000, Aaron Williams wrote:
> Hi Wolfgang,
> 
> On Wednesday, November 6, 2019 7:06:17 AM PST Wolfgang Denk wrote:
> > Dear Aaron,
> > 
> > In message 
> <BYAPR18MB24402A81E226896D208669F5B17E0@BYAPR18MB2440.namprd18.prod.outlook.com> 
> you wrote:
> > > > Definitely not.  You could not implement any of this without heavily
> > > > relyin on and deriving from internal interfaces of U-Boot which are
> > > > not exported for non-GPL use.
> > > 
> > > See
> > > https://urldefense.proofpoint.com/v2/url?u=https-3A__www.gnu.org_licenses
> > > _old-2Dlicenses_gpl-2D2.0-2Dfaq.en.html-23GPLInProp-3D&d=DwIDaQ&c=nKjWec2b
> > > 6R0mOyPaz7xtfQ&r=3yfMNumMHGMnOfmVc0dViBi3fJfF8ZXRL_aRWSIGwm4&m=a19tqjpYreP
> > > S1AEd1tHmUya1hcqvHmvs57fTB9c5I50&s=rp_kzh8HU_FV56RrXpf-0DCuegF0rrporRqWwdT
> > > MiR0&e= rietarySystem
> > > 
> > > This behaves exactly in the manner that is permitted by the GPL.
> > > They are completely separate programs.
> > 
> > Are they?
> > 
> > You wrote:
> > 
> > "There is no linking. Only a call table descriptor is published in a
> > named block of memory."
> > 
> > I can only interpret from that that there is a call table, where your
> > applications call into interfaces that have not been exported for
> > non-GPL use.  This is not what I call "completely separate".
> > 
> > 
> > Best regards,
> > 
> > Wolfgang Denk
> 
> Calling directly into U-Boot would be bad. We don't do that. It wouldn't work 
> anyway on our 32-bit bootloader due to the required TLB mapping.
> 
> There is no call table. There is a single XKPhys address that points to some 
> assembly code that saves the state of the calling application and sets up the 
> memory mapping and stack for U-Boot (we map it to 0xFFFFFFFFC0000000) then 
> look at an opcode that's passed and parameters. From there it performs one of 
> several functions based on the opcode. On the way out the reverse is done, the 
> state is restored and the TLB restored before returning to the outside 
> application. The calling application has its own virtual memory map, so that 
> has to be saved and restored on entry by the assembly code as well.
> 
> Since U-Boot uses a TLB for mapping, it's just not possible for an outside 
> application to call into U-Boot using a function table, so everything must go 
> through the one assembly function. The old U-Boot code was written before EFI 
> support was added. It looks like I'll be removing it anyway, though. We have 
> never exported any U-Boot functions save for the assembly code and the API 
> functionality. The API functionality was not usable by our applications since 
> our applications were typically 64-bit whereas our old U-Boot was 32-bit 
> running in mapped memory (0xFFFFFFFFC0000000/0xC0000000) and physically 
> located at the top of physical memory.

Alright, so I think here's the important thing to look at moving
forward.  In mainline U-Boot, the options for communication between
closed source components and U-Boot itself (where GPLv2 is the minimum
license) are either the defined ABI or making use of the EFI ABI.  We do
not want to add or support a 3rd method.  Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20191106/7b136b09/attachment.sig>

  reply	other threads:[~2019-11-07  0:21 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-23  3:50 [U-Boot] Cavium/Marvell Octeon Support Aaron Williams
2019-10-24  6:44 ` Chris Packham
2019-10-25 15:13 ` Daniel Schwierzeck
2019-10-26 22:15   ` Tom Rini
2019-10-27  3:08     ` [U-Boot] [EXT] " Aaron Williams
2019-10-27  2:34   ` Aaron Williams
2019-10-29 13:12     ` Wolfgang Denk
2019-10-30 16:20     ` Daniel Schwierzeck
2019-10-30 17:21       ` Wolfgang Denk
2019-10-30 21:23       ` Aaron Williams
2019-10-31 10:36         ` Wolfgang Denk
2019-10-31 17:59           ` Aaron Williams
2019-11-04 15:44             ` Wolfgang Denk
2019-11-04 16:23               ` Tom Rini
2019-11-05  2:08                 ` Aaron Williams
2019-11-05  8:37                   ` Wolfgang Denk
2019-11-05 10:22                     ` Aaron Williams
2019-11-05 11:36                       ` Wolfgang Denk
2019-11-05 23:09                         ` Aaron Williams
2019-11-06 15:06                           ` Wolfgang Denk
2019-11-06 22:18                             ` Aaron Williams
2019-11-07  0:21                               ` Tom Rini [this message]
2019-11-05 14:15                   ` Tom Rini
2019-11-05  1:57               ` Aaron Williams
2019-11-05  8:33                 ` Wolfgang Denk
2019-11-05 14:16                   ` Tom Rini
2019-10-30 22:05 ` [U-Boot] " Tom Rini
2019-10-30 23:36   ` [U-Boot] [EXT] " Aaron Williams
2019-10-31 10:40     ` Wolfgang Denk
2019-10-31 18:01       ` Aaron Williams
2019-11-04 17:22         ` Tom Rini
2019-11-05  2:13           ` Aaron Williams
2019-11-05 14:09             ` Tom Rini
2019-10-31 13:26     ` Tom Rini
2019-10-31 18:04       ` Aaron Williams
  -- strict thread matches above, loose matches on Subject: below --
2019-11-06  0:03 Aaron Williams
2019-11-07  0:34 ` Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191107002113.GR4181@bill-the-cat \
    --to=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox