u-boot-brain/arch
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
..
arc use ASM_NL instead of '; ' for assembler new line character in the macro 2015-03-05 20:49:43 -05:00
arm arm: relocation: clear .bss section with arch memset if defined 2015-03-09 11:13:28 -04:00
avr32 avr32: add generic board support 2015-02-17 22:54:38 +01:00
blackfin Export redesign 2015-01-29 17:09:57 -07:00
m68k m68k: add generic-board support 2015-03-05 20:13:21 -05:00
microblaze microblaze: spl: Add LISTS to linker script 2015-02-09 15:13:12 +01:00
mips MIPS: unify CPU code in arch/mips/cpu/ 2015-01-30 14:19:58 +01:00
nds32 common: Move dram_init() declaration to common location 2015-02-09 15:08:48 +01:00
nios2 Kbuild: introduce Makefile in arch/$ARCH/ 2014-12-08 09:35:45 -05:00
openrisc Kbuild: introduce Makefile in arch/$ARCH/ 2014-12-08 09:35:45 -05:00
powerpc SECURE_BOOT : enable esbc_validate command for powerpc and arm platforms. 2015-03-05 12:04:59 -08:00
sandbox Merge branch 'sandbox' of git://git.denx.de/u-boot-x86 2015-02-16 08:37:22 -05:00
sh sh: enable CONFIG_USE_PRIVATE_LIBGCC by default 2015-02-25 13:57:56 +09:00
sparc Kbuild: introduce Makefile in arch/$ARCH/ 2014-12-08 09:35:45 -05:00
x86 dm: Kconfig: Move CONFIG_SYS_MALLOC_F_LEN to Kconfig 2015-02-12 15:17:28 -07:00
.gitignore .gitignore: drop include/asm/proc from ignore pattern 2014-06-19 11:18:54 -04:00
Kconfig powerpc: Permit device tree control of U-Boot (CONFIG_OF_CONTROL) 2015-02-12 10:35:30 -07:00