diff options
author | Julius Werner <jwerner@chromium.org> | 2014-11-10 13:11:50 -0800 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-04-14 09:01:23 +0200 |
commit | f780c40f40306a21489f8ddd6e17c979ba0fd7a3 (patch) | |
tree | eb5768bc0d1f48bff99744342ce2bc97f66cd664 /src/mainboard/google | |
parent | e95db22c7517d7c3b02b0aa1efc79a21af8b0844 (diff) |
CBFS: Correct ROM_SIZE for ARM boards, use CBFS_SIZE for cbfstool
Some projects (like ChromeOS) put more content than described by CBFS
onto their image. For top-aligned images (read: x86), this has
traditionally been achieved with a CBFS_SIZE Kconfig (which denotes the
area actually managed by CBFS, as opposed to ROM_SIZE) that is used to
calculate the CBFS entry start offset. On bottom-aligned boards, many
define a fake (smaller) ROM_SIZE for only the CBFS part, which is not
consistently done and can be an issue because ROM_SIZE is expected to be
a power of two.
This patch changes all non-x86 boards to describe their actual
(physical) ROM size via one of the BOARD_ROMSIZE_KB_xxx options as a
mainboard Kconfig select (which is the correct place to declare
unchangeable physical properties of the board). It also changes the
cbfstool create invocation to use CBFS_SIZE as the -s parameter for
those architectures, which defaults to ROM_SIZE but gets overridden for
special use cases like ChromeOS. This has the advantage that cbfstool
has a consistent idea of where the area it is responsible for ends,
which offers better bounds-checking and is needed for a subsequent fix.
Also change the FMAP offset to default to right behind the (now
consistently known) CBFS region for non-x86 boards, which has emerged as
a de-facto standard on those architectures and allows us to reduce the
amount of custom configuration. In the future, the nightmare that is
ChromeOS's image build system could be redesigned to enforce this
automatically, and also confirm that it doesn't overwrite any space used
by CBFS (which is now consistently defined as the file size of
coreboot.rom on non-x86).
CQ-DEPEND=CL:231576,CL:231475
BRANCH=None
BUG=chromium:422501
TEST=Built and booted on Veyron_Pinky.
Change-Id: I89aa5b30e25679e074d4cb5eee4c08178892ada6
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: e707c67c69599274b890d0686522880aa2e16d71
Original-Change-Id: I4fce5a56a8d72f4c4dd3a08c129025f1565351cc
Original-Signed-off-by: Julius Werner <jwerner@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/229974
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/9619
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/mainboard/google')
-rw-r--r-- | src/mainboard/google/cosmos/Kconfig | 2 | ||||
-rw-r--r-- | src/mainboard/google/nyan/Kconfig | 2 | ||||
-rw-r--r-- | src/mainboard/google/nyan_big/Kconfig | 2 | ||||
-rw-r--r-- | src/mainboard/google/nyan_blaze/Kconfig | 2 | ||||
-rw-r--r-- | src/mainboard/google/rush_ryu/Kconfig | 2 | ||||
-rw-r--r-- | src/mainboard/google/storm/Kconfig | 2 | ||||
-rw-r--r-- | src/mainboard/google/veyron_jerry/Kconfig | 2 | ||||
-rw-r--r-- | src/mainboard/google/veyron_mighty/Kconfig | 2 |
8 files changed, 8 insertions, 8 deletions
diff --git a/src/mainboard/google/cosmos/Kconfig b/src/mainboard/google/cosmos/Kconfig index 0ebeae91d7..dc4a3b6efd 100644 --- a/src/mainboard/google/cosmos/Kconfig +++ b/src/mainboard/google/cosmos/Kconfig @@ -21,7 +21,7 @@ if BOARD_GOOGLE_COSMOS config BOARD_SPECIFIC_OPTIONS # dummy def_bool y - select BOARD_ROMSIZE_KB_1024 + select BOARD_ROMSIZE_KB_2048 select BOARD_ID_SUPPORT select CHROMEOS_VBNV_FLASH select COMMON_CBFS_SPI_WRAPPER diff --git a/src/mainboard/google/nyan/Kconfig b/src/mainboard/google/nyan/Kconfig index 082985d211..2f554ff4ca 100644 --- a/src/mainboard/google/nyan/Kconfig +++ b/src/mainboard/google/nyan/Kconfig @@ -29,7 +29,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select TEGRA124_MODEL_CD570M select MAINBOARD_HAS_BOOTBLOCK_INIT select MAINBOARD_DO_NATIVE_VGA_INIT - select BOARD_ROMSIZE_KB_1024 + select BOARD_ROMSIZE_KB_4096 select SPI_FLASH select SPI_FLASH_FAST_READ_DUAL_OUTPUT_3B select VIRTUAL_DEV_SWITCH diff --git a/src/mainboard/google/nyan_big/Kconfig b/src/mainboard/google/nyan_big/Kconfig index 22958a953c..6fc618a839 100644 --- a/src/mainboard/google/nyan_big/Kconfig +++ b/src/mainboard/google/nyan_big/Kconfig @@ -30,7 +30,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select TEGRA124_MODEL_CD570M select MAINBOARD_HAS_BOOTBLOCK_INIT select MAINBOARD_DO_NATIVE_VGA_INIT - select BOARD_ROMSIZE_KB_1024 + select BOARD_ROMSIZE_KB_4096 select SPI_FLASH select SPI_FLASH_FAST_READ_DUAL_OUTPUT_3B select VIRTUAL_DEV_SWITCH diff --git a/src/mainboard/google/nyan_blaze/Kconfig b/src/mainboard/google/nyan_blaze/Kconfig index 0902b4f236..025cc6efec 100644 --- a/src/mainboard/google/nyan_blaze/Kconfig +++ b/src/mainboard/google/nyan_blaze/Kconfig @@ -31,7 +31,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select MAINBOARD_HAS_BOOTBLOCK_INIT select MAINBOARD_HAS_CHROMEOS select MAINBOARD_DO_NATIVE_VGA_INIT - select BOARD_ROMSIZE_KB_1024 + select BOARD_ROMSIZE_KB_4096 select SPI_FLASH select SPI_FLASH_FAST_READ_DUAL_OUTPUT_3B select VIRTUAL_DEV_SWITCH diff --git a/src/mainboard/google/rush_ryu/Kconfig b/src/mainboard/google/rush_ryu/Kconfig index 6ba45e94c4..d6609e14ce 100644 --- a/src/mainboard/google/rush_ryu/Kconfig +++ b/src/mainboard/google/rush_ryu/Kconfig @@ -31,7 +31,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select SOC_NVIDIA_TEGRA132 select MAINBOARD_DO_DSI_INIT select MAINBOARD_HAS_BOOTBLOCK_INIT - select BOARD_ROMSIZE_KB_4096 + select BOARD_ROMSIZE_KB_8192 select VIRTUAL_DEV_SWITCH select ARCH_SPINTABLE diff --git a/src/mainboard/google/storm/Kconfig b/src/mainboard/google/storm/Kconfig index 00405e1b9a..29f0a734d9 100644 --- a/src/mainboard/google/storm/Kconfig +++ b/src/mainboard/google/storm/Kconfig @@ -23,7 +23,7 @@ config BOARD_SPECIFIC_OPTIONS def_bool y select SOC_QC_IPQ806X select BOARD_ID_SUPPORT - select BOARD_ROMSIZE_KB_4096 + select BOARD_ROMSIZE_KB_8192 select COMMON_CBFS_SPI_WRAPPER select HAVE_HARD_RESET select MAINBOARD_HAS_BOOTBLOCK_INIT diff --git a/src/mainboard/google/veyron_jerry/Kconfig b/src/mainboard/google/veyron_jerry/Kconfig index 273b36e45b..b5aa2a43d0 100644 --- a/src/mainboard/google/veyron_jerry/Kconfig +++ b/src/mainboard/google/veyron_jerry/Kconfig @@ -29,7 +29,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select SOC_ROCKCHIP_RK3288 select MAINBOARD_DO_NATIVE_VGA_INIT select MAINBOARD_HAS_CHROMEOS - select BOARD_ROMSIZE_KB_1024 + select BOARD_ROMSIZE_KB_4096 select MAINBOARD_HAS_BOOTBLOCK_INIT select HAVE_HARD_RESET select RETURN_FROM_VERSTAGE diff --git a/src/mainboard/google/veyron_mighty/Kconfig b/src/mainboard/google/veyron_mighty/Kconfig index 9a649bd90b..3436f88684 100644 --- a/src/mainboard/google/veyron_mighty/Kconfig +++ b/src/mainboard/google/veyron_mighty/Kconfig @@ -29,7 +29,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select SOC_ROCKCHIP_RK3288 select MAINBOARD_DO_NATIVE_VGA_INIT select MAINBOARD_HAS_CHROMEOS - select BOARD_ROMSIZE_KB_1024 + select BOARD_ROMSIZE_KB_4096 select MAINBOARD_HAS_BOOTBLOCK_INIT select HAVE_HARD_RESET select RETURN_FROM_VERSTAGE |