All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfgang Denk <wd@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [EXT] Re: Cavium/Marvell Octeon Support
Date: Tue, 29 Oct 2019 14:12:16 +0100	[thread overview]
Message-ID: <20191029131216.C4314240034@gemini.denx.de> (raw)
In-Reply-To: <4176494.JIoP81OjG2@flash>

Dear Aaron,

In message <4176494.JIoP81OjG2@flash> you wrote:
>
> Actually the low level code is significantly different. First of all, we need 
> the U-Boot bootloader to be able to boot from different memory locations. 
> Because of this, we use mapped memory for U-Boot. A side effect of this is 
> that it eliminates the need for relocation when it is shifted to the top of 
> memory. All we need to do is just set a couple of TLB entries.
>
> The assembly code is significantly different and is far more extensive.
>
> Additionally, the way Octeon Linux is booted is different.
>
> The generic start.S is not usable in our case.

Please excuse my ignorance - I have never touched a Cavium system yet
(at least not knowingly), and never looked into any of that code.
So for me it would be really helpful if you would not only describe
what you have, or what you need, or that things are different or
cannot be used, but actually explain _why_ this is the case, and why
you cannot use the existing structure of U-Boot mainline code.

I know that it is always difficult to upstream code that has been
developed out of tree and without synchronizing the design with the
mainline maintainers, but as long as you don't explain why it was
mandatory to do things different, it is impossible to understand if
this is the only sane way things can be implemented, or if you just
don't want to change the code that has grown over the years in an
uncontrolled way to avoid the efforts for cleaning it up.

> We have a significant amount of code for dealing with the cache and for things 
> like copying U-Boot from flash into the L2 cache. We also have to deal with 
> taking other cores out of reset in our start.S. Our exception handler has also 
> been extended to handle multiple cores.

We should be able to understand why you need this.  There might be
areas where your code overlaps with things that are already
available in U-Boot mainline, and if there are good reasons to
duplicate such areas, you should explain them.

Daniel already pointed out that doubling the code size of U-Boot by
adding just a single new CPU simply makes no sense.  I don't know
what you are using U-Boot for, but we should keep in mind that it's
a boot loader, which main purpose should be to execute as fast as
possible just to be replaced by an operating system.

I have to admit that I have problems understanding why someone would
need hot plug support for hardware in U-Boot.

It would be best to restrict initial upstreaming to a minimal sub-set
that gives maintainers even a chance to review it.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Alliance: In international politics, the union  of  two  thieves  who
have  their hands so deeply inserted in each other's pocket that they
cannot separately plunder a third.                   - Ambrose Bierce

  reply	other threads:[~2019-10-29 13:12 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 [this message]
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
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
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=20191029131216.C4314240034@gemini.denx.de \
    --to=wd@denx.de \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.