From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCHv1 02/22] arm: socfpga: enable saveenv to mmc partition
Date: Sat, 17 Jan 2015 14:51:33 +0100 [thread overview]
Message-ID: <201501171451.33796.marex@denx.de> (raw)
In-Reply-To: <20150116183511.GA8425@amd>
On Friday, January 16, 2015 at 07:35:11 PM, Pavel Machek wrote:
> Hi!
>
> > > > -#define CONFIG_ENV_IS_NOWHERE
> > > >
> > > > #define CONFIG_ENV_SIZE 4096
> > > >
> > > > +#define CONFIG_ENV_IS_IN_MMC
> > > > +#define CONFIG_SYS_MMC_ENV_DEV 0/* device 0 */
> > > > +#define CONFIG_ENV_OFFSET 512/* just after the MBR */
> > > > +
> > >
> > > Would it make sense to make environment bigger (64K?) at this point,
> > > and enabling the redundant environment option, so that one bad block
> > > does not bring the whole device down?
> >
> > Do you think you'll ever have more than a 4KiB of text data in the env ?
> > I can see a reason for some 16 KiB environment, but that's the
> >
> > ceiling.
>
> We have hit 4KiB size already, and I believe we are over 8KiB,
> even. wagabuibui loads a lot of small files from flash.
>
> So if 16KiB is acceptable, lets do that.
16KiB is fine by me, though I'm not quite sure how you managed to stuff 8KiB
full of env ;-)
> > Usually, the env only has to be a few KiB and it's size has to be
> > multiple of the underlying device's erase block. But in case of SD card,
> > there are no explicit erase blocks exported to the user, all is hidden
> > by the controller in the SD card and gives an illusion of a device which
> > has 512b
> > blocks and
>
> Allocation unit is usually 2, 4, 6, 8, 12 or 16 MiB on recent flash
> cards. It is field in uSD card structure somewhere. We could choose
> 24MiB, to have GCD, but... see:
>
> https://wiki.linaro.org/WorkingGroups/KernelArchived/Projects/FlashCardSurv
> ey
OK, this is even more precise. Thanks for the link.
> > the user doesn't care for bad block management. Since the controller in
> > the card does the bad block management and wear leveling/relocation of
> > blocks, it also means that in case the controller did fail to provide
> > the block which contains env, the whole card would already be in a very
> > bad state.
>
> Bad block management means you don't get errors during write, but you
> can still get errors during read.
That in fact depends on the BBM implementation, but in case you get error
during read, it's usually a game over kind of situation. But I agree.
Best regards,
Marek Vasut
next prev parent reply other threads:[~2015-01-17 13:51 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-14 16:40 [U-Boot] [PATCHv1 00/22] Add SPL support for SoCFGPA dinguyen at opensource.altera.com
2015-01-14 16:40 ` [U-Boot] [PATCHv1 01/22] arm: socfpga: spl: Add main sdram code dinguyen at opensource.altera.com
2015-01-14 23:34 ` Marek Vasut
2015-01-16 19:04 ` Pavel Machek
2015-01-17 2:39 ` Marek Vasut
2015-02-04 13:36 ` Pavel Machek
2015-01-20 23:51 ` Dinh Nguyen
2015-01-21 8:03 ` Stefan Roese
2015-02-15 23:11 ` Pavel Machek
2015-02-15 23:25 ` Pavel Machek
2015-02-23 16:37 ` Dinh Nguyen
2015-02-23 16:39 ` Dinh Nguyen
2015-02-23 16:57 ` Marek Vasut
2015-02-23 17:00 ` Dinh Nguyen
2015-02-24 17:48 ` Marek Vasut
2015-01-14 16:40 ` [U-Boot] [PATCHv1 02/22] arm: socfpga: enable saveenv to mmc partition dinguyen at opensource.altera.com
2015-01-14 23:39 ` Marek Vasut
2015-01-15 22:00 ` Pavel Machek
2015-01-15 22:08 ` Marek Vasut
2015-01-16 4:50 ` Stefan Roese
2015-01-16 5:14 ` Marek Vasut
2015-01-16 18:35 ` Pavel Machek
2015-01-17 13:51 ` Marek Vasut [this message]
2015-01-14 16:40 ` [U-Boot] [PATCHv1 03/22] arm: socfpga: Add sdram initialization code dinguyen at opensource.altera.com
2015-01-14 23:41 ` Marek Vasut
2015-01-14 16:40 ` [U-Boot] [PATCHv1 04/22] arm: socfpga: spl: Add SRAM section dinguyen at opensource.altera.com
2015-01-14 23:40 ` Marek Vasut
2015-01-15 22:01 ` Pavel Machek
2015-01-14 16:40 ` [U-Boot] [PATCHv1 05/22] arm: socfpga: spl: put SPL in sram dinguyen at opensource.altera.com
2015-01-16 19:05 ` Pavel Machek
2015-01-14 16:40 ` [U-Boot] [PATCHv1 06/22] arm: socfpga: add functions to bring sdram, timer, and uart out of reset dinguyen at opensource.altera.com
2015-01-14 23:42 ` Marek Vasut
2015-01-16 19:06 ` Pavel Machek
2015-01-14 16:40 ` [U-Boot] [PATCHv1 07/22] arm: socfpga: spl: enable sdram, timer and uart dinguyen at opensource.altera.com
2015-01-14 23:44 ` Marek Vasut
2015-02-16 21:35 ` Pavel Machek
2015-01-14 16:40 ` [U-Boot] [PATCHv1 08/22] arm: socfpga: spl: Add call to timer_init dinguyen at opensource.altera.com
2015-01-14 23:45 ` Marek Vasut
2015-02-04 3:58 ` Dinh Nguyen
2015-01-14 16:40 ` [U-Boot] [PATCHv1 09/22] arm: socfpga: spl: allow bootrom to enable IOs after warm reset dinguyen at opensource.altera.com
2015-01-14 23:46 ` Marek Vasut
2015-02-16 21:36 ` Pavel Machek
2015-02-17 7:09 ` Marek Vasut
2015-01-14 16:40 ` [U-Boot] [PATCHv1 10/22] arm: socfpga: spl: add sdram init and calibration dinguyen at opensource.altera.com
2015-01-14 23:47 ` Marek Vasut
2015-02-16 21:37 ` Pavel Machek
2015-01-14 16:40 ` [U-Boot] [PATCHv1 11/22] arm: socfpga: spl: printout sdram size dinguyen at opensource.altera.com
2015-01-14 23:49 ` Marek Vasut
2015-01-14 16:40 ` [U-Boot] [PATCHv1 12/22] arm: socfpga: spl: Use common lowlevel_init dinguyen at opensource.altera.com
2015-01-14 23:51 ` Marek Vasut
2015-01-14 16:40 ` [U-Boot] [PATCHv1 13/22] arm: socfpga: spl: Add s_init dinguyen at opensource.altera.com
2015-01-14 23:54 ` Marek Vasut
2015-02-05 21:16 ` Dinh Nguyen
2015-02-07 13:34 ` Marek Vasut
2015-02-09 16:50 ` Dinh Nguyen
2015-02-09 17:05 ` Marek Vasut
2015-02-07 17:07 ` Simon Glass
2015-01-14 16:40 ` [U-Boot] [PATCHv1 14/22] arm: socfpga: spl: update lowlevel_init dinguyen at opensource.altera.com
2015-01-14 23:56 ` Marek Vasut
2015-01-14 16:40 ` [U-Boot] [PATCHv1 15/22] arm: socfpga: spl: add relocate_stack_to_sdram to lowlevel_init.S dinguyen at opensource.altera.com
2015-01-14 23:58 ` Marek Vasut
2015-01-15 19:19 ` Dinh Nguyen
2015-01-15 22:00 ` Marek Vasut
2015-01-16 0:07 ` Dinh Nguyen
2015-01-16 0:48 ` Marek Vasut
2015-01-14 16:40 ` [U-Boot] [PATCHv1 16/22] arm: socfpga: spl: add the stack in OCRAM dinguyen at opensource.altera.com
2015-01-14 23:59 ` Marek Vasut
2015-01-14 16:40 ` [U-Boot] [PATCHv1 17/22] arm: socfpga: spl: add CONFIG_SPL_STACK to socfpga_common.h dinguyen at opensource.altera.com
2015-01-15 0:00 ` Marek Vasut
2015-01-16 21:56 ` Pavel Machek
2015-01-14 16:40 ` [U-Boot] [PATCHv1 18/22] arm: socfpga: add sdram stack to SPL dinguyen at opensource.altera.com
2015-01-14 16:40 ` [U-Boot] [PATCHv1 19/22] arm: socfpga: spl: set SPL_MALLOC_SIZE dinguyen at opensource.altera.com
2015-01-15 0:01 ` Marek Vasut
2015-01-14 16:41 ` [U-Boot] [PATCHv1 20/22] arm: socfpga: spl: add a malloc section in sram dinguyen at opensource.altera.com
2015-01-15 0:03 ` Marek Vasut
2015-01-14 16:41 ` [U-Boot] [PATCHv1 21/22] arm: socfpga: spl: Add SDRAM check dinguyen at opensource.altera.com
2015-01-15 0:04 ` Marek Vasut
2015-01-16 21:59 ` Pavel Machek
2015-01-17 11:00 ` Marek Vasut
2015-01-14 16:41 ` [U-Boot] [PATCHv1 22/22] arm: socfpga: spl: update pll_config for dev kit dinguyen at opensource.altera.com
2015-01-15 0:05 ` Marek Vasut
2015-01-14 23:01 ` [U-Boot] [PATCHv1 00/22] Add SPL support for SoCFGPA Marek Vasut
2015-01-15 21:57 ` Pavel Machek
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=201501171451.33796.marex@denx.de \
--to=marex@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.