[U-Boot] [PATCH v3 0/12] Add support for caching Memory Reference Code data
Simon Glass
sjg at chromium.org
Tue Jan 20 06:16:05 CET 2015
Since the memory reference code is so slow on x86, add a feature to bypass
this, storing the previous parameters in SPI flash. This saves around 500ms
on each boot.
Also enable a SPI flash environment.
Changes in v3:
- Add new patch to move checksum to its own file in net/
- Adjust net/ code to use the new checksum functions
- Use checksum code that is now in net/checksum.c
- Adjust functions to remain compatible with other RTC drivers
- Drop accidental creation of link.dts due to bad rebase
- Use checksum code from net/checksum.c
- Add misc_init_r() call for link now that it is shared with chromebook_link
Changes in v2:
- Use intel,ich-spi as the compatible string
- Refactor IP checksum patches
- Adjust the mc146818 driver instead of adding a new cmos.h header
- Make changes to chromebook_link.dts since link.dts is gone
- Use intel,ich-spi as the compatible string
- Update for the new CMOS RAM access functions in the RTC
- Add a comment about why both CMOS RAM and SPI flash are used for the cache
Simon Glass (12):
x86: dts: Add compatible string for Intel ICH9 SPI controller
net: Add a separate file for IP checksumming
net: Use new checksum functions
x86: Use ipchecksum from net/
x86: rtc: mc146818: Add helpers to read/write CMOS RAM
x86: spi: Add device tree support
Allow architecture-specific memory reservation
x86: dts: Add SPI flash MRC details for chromebook_link
x86: Implement a cache for Memory Reference Code parameters
x86: config: Enable hook for saving MRC configuration
x86: ivybridge: Drop the Kconfig MRC cache information
x86: config: chromebook_link: Enable environment
arch/x86/cpu/coreboot/Makefile | 1 -
arch/x86/cpu/coreboot/coreboot.c | 5 +
arch/x86/cpu/coreboot/ipchecksum.c | 55 ------
arch/x86/cpu/coreboot/tables.c | 8 +-
arch/x86/cpu/ivybridge/Kconfig | 28 ---
arch/x86/cpu/ivybridge/Makefile | 1 +
arch/x86/cpu/ivybridge/mrccache.c | 156 +++++++++++++++
arch/x86/cpu/ivybridge/sdram.c | 253 ++++++++++++++++++++++++
arch/x86/dts/chromebook_link.dts | 15 +-
arch/x86/include/asm/arch-coreboot/ipchecksum.h | 37 ----
arch/x86/include/asm/arch-ivybridge/mrccache.h | 51 +++++
arch/x86/include/asm/global_data.h | 3 +
common/board_f.c | 7 +
drivers/rtc/mc146818.c | 121 +++++++-----
drivers/spi/ich.c | 7 +
include/configs/chromebook_link.h | 8 +
include/configs/x86-common.h | 1 +
include/fdtdec.h | 1 +
include/net.h | 32 ++-
include/rtc.h | 32 +++
lib/fdtdec.c | 1 +
net/Makefile | 1 +
net/checksum.c | 60 ++++++
net/net.c | 25 +--
net/ping.c | 10 +-
25 files changed, 713 insertions(+), 206 deletions(-)
delete mode 100644 arch/x86/cpu/coreboot/ipchecksum.c
create mode 100644 arch/x86/cpu/ivybridge/mrccache.c
delete mode 100644 arch/x86/include/asm/arch-coreboot/ipchecksum.h
create mode 100644 arch/x86/include/asm/arch-ivybridge/mrccache.h
create mode 100644 net/checksum.c
--
2.2.0.rc0.207.ga3a616c
More information about the U-Boot
mailing list