From: Tom Rini <trini@konsulko.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [U-Boot, v5, 04/26] spl: Lightweight UBI and UBI fastmap support
Date: Fri, 22 Jul 2016 20:10:35 -0400 [thread overview]
Message-ID: <20160723001035.GA14698@bill-the-cat> (raw)
In-Reply-To: <1468348114-11442-5-git-send-email-ladis@linux-mips.org>
On Tue, Jul 12, 2016 at 08:28:12PM +0200, Ladislav Michl wrote:
> From: Thomas Gleixner <tglx@linutronix.de>
>
> Booting a payload out of NAND FLASH from the SPL is a crux today, as
> it requires hard partioned FLASH. Not a brilliant idea with the
> reliability of todays NAND FLASH chips.
>
> The upstream UBI + UBI fastmap implementation which is about to
> brought to u-boot is too heavy weight for SPLs as it provides way more
> functionality than needed for a SPL and does not even fit into the
> restricted SPL areas which are loaded from the SoC boot ROM.
>
> So this provides a fast and lightweight implementation of UBI scanning
> and UBI fastmap attach. The scan and logical to physical block mapping
> code is developed from scratch, while the fastmap implementation is
> lifted from the linux kernel source and stripped down to fit the SPL
> needs.
>
> The text foot print on the board which I used for development is:
>
> 6854 0 0 6854 1abd
> drivers/mtd/ubispl/built-in.o
>
> Attaching a NAND chip with 4096 physical eraseblocks (4 blocks are
> reserved for the SPL) takes:
>
> In full scan mode: 1172ms
> In fastmap mode: 95ms
>
> The code requires quite some storage. The largest and unknown part of
> it is the number of fastmap blocks to read. Therefor the data
> structure is not put into the BSS. The code requires a pointer to free
> memory handed in which is initialized by the UBI attach code itself.
>
> See doc/README.ubispl for further information on how to use it.
>
> This shares the ubi-media.h and crc32 implementation of drivers/mtd/ubi
> There is no way to share the fastmap code, as UBISPL only utilizes the
> slightly modified functions ubi_attach_fastmap() and ubi_scan_fastmap()
> from the original kernel ubi fastmap implementation.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
> Acked-by: Heiko Schocher <hs@denx.de>
> Reviewed-by: Tom Rini <trini@konsulko.com>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160722/064e7bbb/attachment.sig>
next prev parent reply other threads:[~2016-07-23 0:10 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-12 18:28 [U-Boot] [PATCH v5 00/26] spl: Lightweight UBI and UBI fastmap support Ladislav Michl
2016-07-12 18:28 ` [U-Boot] [PATCH v5 01/26] mtd: Sort subsystem directories aplhabeticaly in Makefile Ladislav Michl
2016-07-23 0:10 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 02/26] nand_spl_simple: Add a simple NAND read function Ladislav Michl
2016-07-23 0:10 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 03/26] onenand_spl_simple: Add a simple OneNAND " Ladislav Michl
2016-07-23 0:10 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 04/26] spl: Lightweight UBI and UBI fastmap support Ladislav Michl
2016-07-23 0:10 ` Tom Rini [this message]
2016-07-12 18:28 ` [U-Boot] [PATCH v5 05/26] spl: support loading from UBI volumes Ladislav Michl
2016-07-23 0:10 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 06/26] spl: zImage support in Falcon mode Ladislav Michl
2016-07-23 0:10 ` [U-Boot] [U-Boot,v5,06/26] " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 07/26] armv7: add reset timeout to identify_nand_chip Ladislav Michl
2016-07-23 0:10 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 08/26] armv7: make gpmc_cfg const Ladislav Michl
2016-07-23 0:10 ` [U-Boot] [U-Boot,v5,08/26] " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 09/26] armv7: armv7: introduce set_gpmc_cs0 Ladislav Michl
2016-07-23 0:10 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 10/26] armv7: simplify identify_nand_chip Ladislav Michl
2016-07-23 0:11 ` [U-Boot] [U-Boot,v5,10/26] " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 11/26] mtd: OneNAND: add timeout to wait ready loops Ladislav Michl
2016-07-23 0:11 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 12/26] mtd: OneNAND: allow board init function fail Ladislav Michl
2016-07-23 0:11 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 13/26] mtd: OneNAND: initialize mtd->writebufsize to let UBI work Ladislav Michl
2016-07-23 0:11 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 14/26] cmd: mtdparts: fix mtdparts variable presence confusion in mtdparts_init Ladislav Michl
2016-07-23 0:11 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 15/26] cmd: mtdparts: fix null pointer dereference in parse_mtdparts Ladislav Michl
2016-07-23 0:11 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 16/26] cmd: mtdparts: consolidate mtdparts reading from env Ladislav Michl
2016-07-23 0:11 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 17/26] cmd: mtdparts: use defaults by default Ladislav Michl
2016-07-23 0:11 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 18/26] cmd: mtdparts: support runtime generated mtdparts Ladislav Michl
2016-07-23 0:11 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 19/26] igep00x0: move sysinfo into C file Ladislav Michl
2016-07-23 0:11 ` [U-Boot] [U-Boot,v5,19/26] " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 20/26] igep00x0: reorder lan9221 code to remove ifdefs Ladislav Michl
2016-07-23 0:11 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 21/26] igep00x0: remove useless setup_net_chip declaration Ladislav Michl
2016-07-23 0:11 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 22/26] igep00x0: remove unused empty function omap_rev_string() Ladislav Michl
2016-07-23 0:11 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 23/26] igep00x0: runtime flash detection Ladislav Michl
2016-07-23 0:12 ` [U-Boot] [U-Boot,v5,23/26] " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 24/26] igep00x0: UBIize Ladislav Michl
2016-07-23 0:12 ` [U-Boot] [U-Boot,v5,24/26] " Tom Rini
2016-07-23 0:12 ` Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 25/26] igep00x0: generate default mtdparts according NAND chip used Ladislav Michl
2016-07-23 0:12 ` [U-Boot] [U-Boot, v5, " Tom Rini
2016-07-12 18:28 ` [U-Boot] [PATCH v5 26/26] igep00x0: Falcon mode Ladislav Michl
2016-07-23 0:12 ` [U-Boot] [U-Boot,v5,26/26] " 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=20160723001035.GA14698@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