cbfs: Fix CBFS max size calculation.

For x86, the old CBFS search behavior was to bypass bootblock and we should keep
that.  This will speed up searching if a file does not exist in CBFS.

For arm, the size in header is correct now so we can remove the hack by
CONFIG_ROM_SIZE.

Change-Id: I541961bc4dd083a583f8a80b69e293694fb055ef
Signed-off-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-on: http://review.coreboot.org/2292
Tested-by: build bot (Jenkins)
Reviewed-by: David Hendricks <dhendrix@chromium.org>
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
Hung-Te Lin 2013-02-06 12:11:57 +08:00
parent 439e0d2502
commit c720d8d5d4
1 changed files with 5 additions and 5 deletions

View File

@ -116,12 +116,12 @@ struct cbfs_file *cbfs_get_file(struct cbfs_media *media, const char *name)
align = ntohl(header->align);
romsize = ntohl(header->romsize);
// TODO header->romsize seems broken now on ARM. Remove this when it's
// fixed.
#if defined(CONFIG_ARCH_ARMV7) && CONFIG_ARCH_ARMV7
romsize = CONFIG_ROM_SIZE;
// TODO Add a "size" in CBFS header for a platform independent way to
// determine the end of CBFS data.
#if defined(CONFIG_ARCH_X86) && CONFIG_ARCH_X86
romsize -= htonl(header->bootblocksize);
#endif
DEBUG("offset: 0x%x, align: %d, romsize: %d\n", offset, align, romsize);
DEBUG("CBFS location: 0x%x~0x%x, align: %d\n", offset, romsize, align);
LOG("Looking for '%s' starting from 0x%x.\n", name, offset);
media->open(media);