All of lore.kernel.org
 help / color / mirror / Atom feed
From: Graeme Russ <graeme.russ@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] SPL framework re-design
Date: Tue, 28 Jun 2011 10:55:53 +1000	[thread overview]
Message-ID: <BANLkTinAPvRprePfnsOyPJERTu6hZGA-Pg@mail.gmail.com> (raw)
In-Reply-To: <4DF9B9E0.8020206@ti.com>

Hi All,

Just thought I'd throw in a left-field idea...

Could we make the loading of U-Boot into a generic multi-stage framework
with each stage bootstrapping the next stage? OK, I know this is how IPL,
SPL etc work already, but I'm thinking something more formal and arch
independent.

I can think of three disctinct phases which are relatively commong across
most arch's (especially NAND Flash arches)

1) An intial page (say 256 bytes for example) which loads a second stage
   into the CPU's cache
2) A second phase running in the CPU cache which initialises SDRAM and
   loads the remainder into main memory (performs relocations etc)
3) A final phase which is U-Boot proper, running at the final target
   address in SDRAM

Now what I'm thinking is that if we formalise these loader stages, we
could actually add a little more flexibility by, say, allowing the final
U-Boot binary to reside on a file-system. And even break the final binary
up into smaller 'run-once-and-discard' chunks. For example, a lot of the
low level init is only ever done once, but it stays in SDRAM as a
permanent piece of the U-Boot image - What if the second stage loader
could instead load an low-level init blob and run it before loading the
final U-Boot blob?

This then opens the door for all sort of options - What if U-Boot commands
were build into stand-alone binary blobs and only loaded when needed. Same
with device drivers

So a lot of what is now build-time configuration could be reduced to
run-time configuration

Just a few wild ideas...

Regards,

Graeme

  parent reply	other threads:[~2011-06-28  0:55 UTC|newest]

Thread overview: 172+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-16  8:08 [U-Boot] SPL framework re-design Aneesh V
2011-06-16 10:47 ` Wolfgang Denk
2011-06-16 11:50   ` Aneesh V
2011-06-16 12:15     ` Wolfgang Denk
2011-06-16 13:38       ` Aneesh V
2011-06-16 21:52         ` Wolfgang Denk
2011-06-16 12:55   ` Daniel Schwierzeck
2011-06-16 13:10     ` Andreas Bießmann
2011-06-26 23:17       ` Ilya Yanok
2011-06-27  4:29         ` Aneesh V
2011-06-27  8:24           ` Ilya Yanok
2011-06-27  9:08             ` Aneesh V
2011-06-27  8:42           ` Simon Schwarz
2011-06-27  9:36           ` Wolfgang Denk
2011-06-27 18:42             ` Scott Wood
2011-06-27 20:54               ` Wolfgang Denk
2011-06-27  9:27         ` Wolfgang Denk
2011-06-27 13:42           ` Daniel Schwierzeck
2011-06-27 20:48             ` Wolfgang Denk
2011-06-27 18:34           ` Scott Wood
2011-06-27 20:50             ` Wolfgang Denk
2011-06-27 20:55               ` Scott Wood
2011-06-27 21:10                 ` Wolfgang Denk
2011-06-27 21:18                   ` Scott Wood
2011-06-27 21:22                     ` Wolfgang Denk
2011-06-28  6:54                       ` Aneesh V
2011-06-28 16:18                         ` Scott Wood
2011-06-29  7:27                           ` Aneesh V
2011-06-16 13:57     ` Aneesh V
2011-06-16 14:27       ` Daniel Schwierzeck
2011-06-16 21:55       ` Wolfgang Denk
2011-06-16 21:47     ` Wolfgang Denk
2011-06-17 18:45       ` Daniel Schwierzeck
2011-06-17 18:51         ` Scott Wood
2011-06-29 13:09     ` [U-Boot] [RFC PATCH 0/7] spl framework prototype Aneesh V
2011-07-01  5:20       ` Aneesh V
2011-07-05 16:26       ` [U-Boot] [RFC PATCH 0/4] " Daniel Schwierzeck
2011-07-05 16:26         ` [U-Boot] [RFC PATCH 1/4] Adapt config.mk for usage in spl/Makefile Daniel Schwierzeck
2011-07-05 17:52           ` Mike Frysinger
2011-07-06  8:07           ` Aneesh V
2011-07-08  9:08           ` Wolfgang Denk
2011-07-08 10:20             ` Aneesh V
2011-07-08 11:19               ` Wolfgang Denk
2011-07-08 11:40                 ` Aneesh V
2011-07-08 12:37                   ` Wolfgang Denk
2011-07-08 11:34             ` Daniel Schwierzeck
2011-07-08 12:25               ` Wolfgang Denk
2011-07-08 13:33                 ` Aneesh V
2011-07-08 13:44                   ` Wolfgang Denk
2011-07-08 13:52                     ` Aneesh V
2011-07-05 16:26         ` [U-Boot] [RFC PATCH 2/4] Use ALL-y style instead of ifeq blocks for better readability and upgradeability Daniel Schwierzeck
2011-07-05 17:53           ` Mike Frysinger
2011-07-08  9:12           ` Wolfgang Denk
2011-07-08 10:28             ` Aneesh V
2011-07-08 11:20               ` Wolfgang Denk
2011-07-05 16:26         ` [U-Boot] [RFC PATCH 3/4] Add new folder and build system for SPL Daniel Schwierzeck
2011-07-08  9:17           ` Wolfgang Denk
2011-07-08 11:32             ` Aneesh V
2011-07-08 12:32               ` Wolfgang Denk
2011-07-08 12:51                 ` Aneesh V
2011-07-08 13:04                   ` Wolfgang Denk
2011-07-08 13:28                     ` Aneesh V
2011-07-08 13:41                       ` Wolfgang Denk
2011-07-08 13:50                         ` Aneesh V
2011-07-08 11:57             ` Daniel Schwierzeck
2011-07-05 16:26         ` [U-Boot] [RFC PATCH 4/4] Hook spl directory into main Makefile Daniel Schwierzeck
2011-07-08  9:18           ` Wolfgang Denk
2011-07-08  4:40         ` [U-Boot] [RFC PATCH 0/4] spl framework prototype Aneesh V
2011-06-29 13:09     ` [U-Boot] [RFC PATCH 1/7] Adapt config.mk for usage in spl/Makefile Aneesh V
2011-06-29 18:52       ` Mike Frysinger
2011-06-30  5:12         ` Aneesh V
2011-06-30 11:09           ` Daniel Schwierzeck
2011-06-29 13:09     ` [U-Boot] [RFC PATCH 2/7] Use ALL-y style instead of ifeq blocks for better readability and upgradeability Aneesh V
2011-06-29 18:54       ` Mike Frysinger
2011-06-30  5:14         ` Aneesh V
2011-06-29 13:09     ` [U-Boot] [RFC PATCH 3/7] Add new folder and build system for SPL Aneesh V
2011-06-29 13:09     ` [U-Boot] [RFC PATCH 4/7] Hook spl directory into main Makefile Aneesh V
2011-06-29 13:09     ` [U-Boot] [RFC PATCH 5/7] armv7: adapt Makefile for spl building Aneesh V
2011-06-29 13:09     ` [U-Boot] [RFC PATCH 6/7] omap: common spl support for OMAP3/4 Aneesh V
2011-06-30  6:01       ` Heiko Schocher
2011-06-30  6:12         ` Aneesh V
2011-06-30  7:08           ` Andreas Bießmann
2011-07-01  9:27             ` Aneesh V
2011-07-01  9:55               ` Andreas Bießmann
2011-07-01 11:48                 ` Aneesh V
2011-07-01 19:51                   ` Albert ARIBAUD
2011-07-03  4:47                     ` Aneesh V
2011-07-03  6:56                       ` Albert ARIBAUD
2011-07-03  7:31                         ` Andreas Bießmann
2011-07-03  7:48                           ` Albert ARIBAUD
2011-07-03  8:39                         ` Aneesh V
2011-06-30  7:53           ` Heiko Schocher
2011-06-30  8:21             ` Simon Schwarz
2011-06-30 10:05               ` Aneesh V
2011-06-30 11:09               ` Albert ARIBAUD
2011-06-30 11:18                 ` Aneesh V
2011-06-29 13:09     ` [U-Boot] [RFC PATCH 7/7] omap4: adapt Makefile for spl building Aneesh V
2011-06-17 16:48   ` [U-Boot] SPL framework re-design Aneesh V
2011-06-17 22:28     ` Scott Wood
2011-06-19 10:22       ` V, Aneesh
2011-06-20 16:19         ` Scott Wood
2011-06-21  3:22           ` Aneesh V
2011-06-21 10:59     ` Aneesh V
2011-06-25  8:06       ` Aneesh V
2011-06-25 12:10       ` Wolfgang Denk
2011-06-25 16:11         ` Daniel Schwierzeck
2011-06-27  4:19         ` Aneesh V
2011-06-27  9:27           ` Wolfgang Denk
2011-06-27 14:56             ` Aneesh V
2011-06-27 20:49               ` Wolfgang Denk
2011-06-16 16:45 ` Scott Wood
2011-06-16 22:09   ` Wolfgang Denk
2011-06-16 22:22     ` Scott Wood
2011-06-17  7:02     ` Aneesh V
2011-06-17  7:00   ` Aneesh V
2011-06-28  0:55 ` Graeme Russ [this message]
2011-06-28  4:10   ` Wolfgang Denk
2011-07-13 15:11 ` [U-Boot] [RFC PATCH v1 0/9] Prototype for generic SPL framework Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 1/9] Use ALL-y style instead of ifeq blocks for better readability Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 2/9] spl: add initial support for a generic SPL framework Daniel Schwierzeck
2011-07-15 16:22     ` [U-Boot] [RFC PATCH v2 " Daniel Schwierzeck
2011-07-18 16:06       ` Wolfgang Denk
2011-07-18 16:22         ` Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 3/9] Extend build-system for " Daniel Schwierzeck
2011-07-14  5:37     ` Aneesh V
2011-07-14  9:45       ` Wolfgang Denk
2011-07-14 10:02         ` Aneesh V
2011-07-15 16:24     ` [U-Boot] [RFC PATCH v2 " Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 4/9] Hook SPL build-system into toplevel Makefile Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 5/9] arm: adjust PLATFORM_LIBS for SPL Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 6/9] scaled down version of generic libraries " Daniel Schwierzeck
2011-07-15 12:31     ` Simon Schwarz
2011-07-15 12:41       ` Aneesh V
2011-07-15 13:10         ` Simon Schwarz
2011-07-15 13:35           ` Aneesh V
2011-07-15 14:43         ` Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 7/9] replace CONFIG_PRELOADER with CONFIG_SPL_BUILD Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 8/9] spl: Add support for common libraries and drivers Daniel Schwierzeck
2011-07-13 15:11   ` [U-Boot] [RFC PATCH v1 9/9] spl: add support for omap-common libraries Daniel Schwierzeck
2011-07-13 15:17   ` [U-Boot] [RFC PATCH v1 0/9] Prototype for generic SPL framework Albert ARIBAUD
2011-07-14 20:06   ` Wolfgang Denk
2011-07-14 20:25   ` Wolfgang Denk
2011-07-15  7:57     ` Aneesh V
2011-07-15  8:35       ` Wolfgang Denk
2011-07-15 15:02     ` Daniel Schwierzeck
2011-07-18 16:09   ` [U-Boot] [PATCH v3 0/9] Add initial support for a " Daniel Schwierzeck
2011-07-18 16:09     ` [U-Boot] [PATCH v3 1/9] Use ALL-y style instead of ifeq blocks for better readability Daniel Schwierzeck
2011-07-19  3:51       ` Vipin Kumar
2011-07-26 12:41       ` Wolfgang Denk
2011-07-18 16:09     ` [U-Boot] [PATCH v3 2/9] spl: add initial support for a generic SPL framework Daniel Schwierzeck
2011-07-18 17:48       ` [U-Boot] [PATCH v4 " Daniel Schwierzeck
2011-07-26 12:42         ` Wolfgang Denk
2011-07-18 16:09     ` [U-Boot] [PATCH v3 3/9] Extend build-system for " Daniel Schwierzeck
2011-07-26 12:42       ` Wolfgang Denk
2011-07-18 16:09     ` [U-Boot] [PATCH v3 4/9] Hook SPL build-system into toplevel Makefile Daniel Schwierzeck
2011-07-26 12:43       ` Wolfgang Denk
2011-07-18 16:09     ` [U-Boot] [PATCH v3 5/9] arm: adjust PLATFORM_LIBS for SPL Daniel Schwierzeck
2011-07-19  9:21       ` Albert ARIBAUD
2011-07-19 10:38         ` Aneesh V
2011-07-19 11:03           ` Albert ARIBAUD
2011-07-19 15:51       ` [U-Boot] [PATCH v4 " Daniel Schwierzeck
2011-07-20  7:59         ` Aneesh V
2011-07-26 12:44         ` Wolfgang Denk
2011-07-18 16:09     ` [U-Boot] [PATCH v3 6/9] scaled down version of generic libraries " Daniel Schwierzeck
2011-07-26 12:44       ` Wolfgang Denk
2011-07-18 16:09     ` [U-Boot] [PATCH v3 7/9] replace CONFIG_PRELOADER with CONFIG_SPL_BUILD Daniel Schwierzeck
2011-07-26 12:45       ` Wolfgang Denk
2011-07-18 16:09     ` [U-Boot] [PATCH v3 8/9] spl: Add support for common libraries and drivers Daniel Schwierzeck
2011-07-26 12:45       ` Wolfgang Denk
2011-07-18 16:09     ` [U-Boot] [PATCH v3 9/9] spl: add support for omap-common libraries Daniel Schwierzeck
2011-07-26 12:45       ` Wolfgang Denk
2011-07-20 21:12     ` [U-Boot] [PATCH v3 0/9] Add initial support for a generic SPL framework Paulraj, Sandeep

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=BANLkTinAPvRprePfnsOyPJERTu6hZGA-Pg@mail.gmail.com \
    --to=graeme.russ@gmail.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 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.