u-boot-brain/arch/arm
Przemyslaw Marczak 114c86d826 arm: relocation: clear .bss section with arch memset if defined
For ARM architecture, enable the CONFIG_USE_ARCH_MEMSET/MEMCPY,
will highly increase the memset/memcpy performance. This is able
thanks to the ARM multiple register instructions.

Unfortunatelly the relocation is done without the cache enabled,
so it takes some time, but zeroing the BSS memory takes much more
longer, especially for the configs with big static buffers.

A quick test confirms, that the boot time improvement after using
the arch memcpy for relocation has no significant meaning.
The same test confirms that enable the memset for zeroing BSS,
reduces the boot time.

So this patch enables the arch memset for zeroing the BSS after
the relocation process. For ARM boards, this can be enabled
in board configs by defining: 'CONFIG_USE_ARCH_MEMSET'.

This was tested on Trats2.
A quick test with trace. Boot time from start to main_loop() entry:
- ~1384ms - before this change
-  ~888ms - after this change

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Tom Rini <trini@konsulko.com>
2015-03-09 11:13:28 -04:00
..
cpu omap: gpmc: 'nandecc sw' can use HAM1 or BCH8 2015-03-05 20:49:43 -05:00
dts dt: socfpga: Import and enable Arria V DK DTS 2015-03-04 23:07:05 +01:00
imx-common imx6: Added DEK blob generator command 2015-03-02 09:57:06 +01:00
include Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx 2015-03-05 20:50:30 -05:00
lib arm: relocation: clear .bss section with arch memset if defined 2015-03-09 11:13:28 -04:00
mach-at91 ARM: at91: move SoC headers to mach-at91/include/mach 2015-02-21 08:23:52 -05:00
mach-davinci ARM: davinci: remove hawkboard support 2015-02-24 17:07:29 -05:00
mach-highbank ARM: highbank: move SoC sources to mach-highbank 2015-02-21 08:23:51 -05:00
mach-keystone ARM: keystone: move SoC headers to mach-keystone/include/mach 2015-02-21 08:23:52 -05:00
mach-kirkwood ARM: kirkwood: move SoC headers to mach-kirkwood/include/mach 2015-02-21 08:23:52 -05:00
mach-nomadik ARM: nomadik: move SoC headers to mach-nomadik/include/mach 2015-02-21 08:23:52 -05:00
mach-orion5x ARM: orion5x: move SoC headers to mach-orion5x/include/mach 2015-02-21 08:23:52 -05:00
mach-tegra dm: tegra: Enable driver model in SPL and adjust the GPIO driver 2015-03-04 14:55:04 -05:00
mach-uniphier ARM: UniPhier: remove SSC_WAY_SIZE and SSC_NUM_ENTRIES macros 2015-03-01 00:03:21 +09:00
mach-versatile ARM: versatile: move SoC sources to mach-versatile 2015-02-21 08:23:51 -05:00
mvebu-common arm: mvebu: Add Serdes PHY config code 2015-02-06 17:24:59 +01:00
config.mk arm: build arch memset/memcpy in Thumb2 mode 2015-01-09 10:20:22 -05:00
Kconfig Merge git://git.denx.de/u-boot-socfpga 2015-03-05 20:50:31 -05:00
Kconfig.debug arm: debug: add Kconfig entries for lowlevel debug 2014-10-26 22:23:12 +01:00
Makefile ARM: UniPhier: move SoC sources to mach-uniphier 2015-03-01 00:01:56 +09:00