coreboot/src/lib
Vladimir Serbinenko 3d6ffe76f8 load_payload: Use 32-bit accesses to speed up decompression.
Flash prefers 32-bit sequential access. On some platforms ROM is
not cached due to i.a. MTRR shortage. Moreover ROM caching is not
currently enabled by default. With this patch payload decompression
is sped up by theoretical factor of 4.

Test on X201, with caching disabled:

Before:
  90:load payload                  4,470,841 (24,505)
  99:selfboot jump                 6,073,812 (1,602,971)

After:
  90:load payload                  4,530,979 (17,728)
  99:selfboot jump                 5,103,408 (572,429)

Change-Id: Id17e61316dbbf73f4a837bf173f88bf26c01c62b
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-on: http://review.coreboot.org/5144
Reviewed-by: Aaron Durbin <adurbin@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: build bot (Jenkins)
2014-02-05 23:04:53 +01:00
..
cbfs.c coreboot: config to cache ramstage outside CBMEM 2014-01-30 06:04:02 +01:00
cbfs_core.c load_payload: Use 32-bit accesses to speed up decompression. 2014-02-05 23:04:53 +01:00
cbmem.c CBMEM: Rename cbmem_reinit() 2014-01-22 21:38:57 +01:00
cbmem_console.c CBMEM console: increase temporary buffer size for non-dynamic CBMEM 2013-11-30 20:51:26 +01:00
cbmem_info.c cbmem: add reference code ids 2014-01-28 19:54:57 +01:00
clog2.c lib: Add log2 ceiling function 2014-01-14 14:14:46 +01:00
compute_ip_checksum.c lib: Fix spelling 2013-07-10 20:17:51 +02:00
coreboot_table.c cbmem: Export ACPI GNVS cbmem pointer in coreboot table 2014-01-30 05:26:14 +01:00
debug.c Myles suspected this hangs certain machines, so back it out. 2010-04-15 12:43:07 +00:00
delay.c - Major cleanup of the bootpath 2003-07-19 04:28:22 +00:00
dynamic_cbmem.c CBMEM: Replace cbmem_initialize() with cbmem_recovery() 2014-01-22 20:54:57 +01:00
edid.c Pit: graphics 2013-12-21 22:45:06 +01:00
fallback_boot.c lib: Fix spelling 2013-07-10 20:17:51 +02:00
gcc.c Unify assembler function handling 2012-12-06 23:13:17 +01:00
gcov-glue.c coverage: use boot state callbacks 2013-05-01 07:08:44 +02:00
gcov-io.c Implement GCC code coverage analysis 2013-01-12 19:09:55 +01:00
gcov-io.h lib: Fix spelling 2013-07-10 20:17:51 +02:00
gcov-iov.h Implement GCC code coverage analysis 2013-01-12 19:09:55 +01:00
generic_dump_spd.c Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
generic_sdram.c Remove duplicate line from pci_ids.h. 2010-10-07 23:02:06 +00:00
hardwaremain.c Clean up POST codes for Boot State machine 2013-11-26 19:10:38 +01:00
hexdump.c lib/hexdump: Take const void * and size_t as arguments 2014-01-14 08:07:44 +01:00
jpeg.c Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
jpeg.h Random cosmetic fixes (trivial). 2010-02-22 16:41:49 +00:00
libgcov.c Fix whitespace leaked into tree 2013-09-17 21:04:35 +02:00
lzma.c lib: Fix spelling 2013-07-10 20:17:51 +02:00
lzmadecode.c load_payload: Use 32-bit accesses to speed up decompression. 2014-02-05 23:04:53 +01:00
lzmadecode.h Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
Makefile.inc coreboot: config to cache ramstage outside CBMEM 2014-01-30 06:04:02 +01:00
malloc.c SMM: Add support for malloc in SMM if using TSEG 2012-07-24 23:44:19 +02:00
memchr.c Add an implementation for the memchr library function 2012-03-09 20:00:53 +01:00
memcmp.c - Initial checkin of the freebios2 tree 2003-04-22 19:02:15 +00:00
memcpy.c fix compiler warnings (trivial) 2009-01-20 21:40:16 +00:00
memmove.c tidy 2004-03-13 03:40:29 +00:00
memrange.c lib: Fix spelling 2013-07-10 20:17:51 +02:00
memset.c fix compiler warnings (trivial) 2009-01-20 21:40:16 +00:00
ne2k.c lib: Fix spelling 2013-07-10 20:17:51 +02:00
ns8390.h Add support for the console over Ethernet (through PCI NE2000). 2010-07-16 20:02:09 +00:00
ramstage_cache.c coreboot: config to cache ramstage outside CBMEM 2014-01-30 06:04:02 +01:00
ramtest.c ramtest.c: Add silent ram_check 2013-06-10 22:30:39 +02:00
rmodule.c rmodule: consolidate rmodule stage loading 2014-01-28 22:29:42 +01:00
rmodule.ld boot state: schedule static callbacks 2013-05-01 07:06:12 +02:00
selfboot.c cbfs: 64-bit cleanups 2013-11-18 21:22:38 +01:00
spkmodem.c spkmodem console 2013-04-18 22:47:59 +02:00
stack.c fix an error message in checkstack() 2013-02-12 05:05:39 +01:00
thread.c coreboot: add thread cooperative multitasking 2013-05-14 05:18:47 +02:00
timer_queue.c coreboot: add timer queue implementation 2013-05-01 07:19:12 +02:00
timestamp.c timestamps: Fix some lost timestamps for romstage 2013-10-15 13:14:03 +02:00
trace.c GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
uart8250.c global: Fix usage of get_option() to make use of CB_CMOS_ codes 2013-12-02 22:11:20 +01:00
uart8250mem.c global: Fix usage of get_option() to make use of CB_CMOS_ codes 2013-12-02 22:11:20 +01:00
usbdebug.c usbdebug: Fix boards without EARLY_CBMEM_INIT 2013-10-22 21:35:05 +02:00
version.c This patch fixes build.h dependencies in coreboot again. 2010-03-29 13:04:13 +00:00
xmodem.c GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00