diff options
author | Aaron Durbin <adurbin@chromium.org> | 2015-10-01 16:27:55 -0500 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2015-10-02 12:16:57 +0000 |
commit | 3c96e808f0bbe2957fc26bdc5e04900a8c5af58c (patch) | |
tree | dd0e3b6e2b61f1a9fd786d05feb1f3c84ead04cc | |
parent | 5a4f289c42d1fb04e6e1f3973ed1f635b9f5dfb1 (diff) | |
download | coreboot-staging-3c96e808f0bbe2957fc26bdc5e04900a8c5af58c.zip coreboot-staging-3c96e808f0bbe2957fc26bdc5e04900a8c5af58c.tar.gz |
vboot: provide CHIPSET_PROVIDES_VERSTAGE_MAIN_SYMBOL option
Certain chipsets provide their own main symbol for verstage.
Therefore, it's necessary to know this so that those chipsets
can leverage the common verstage flow.
BUG=chrome-os-partner:44827
BRANCH=None
TEST=Built nyan using this option.
Change-Id: If80784aa47b27f0ad286babcf0f42ce198b929e9
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/11777
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
-rw-r--r-- | src/vendorcode/google/chromeos/vboot2/Kconfig | 7 | ||||
-rw-r--r-- | src/vendorcode/google/chromeos/vboot2/verstage.c | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/vendorcode/google/chromeos/vboot2/Kconfig b/src/vendorcode/google/chromeos/vboot2/Kconfig index c5c46e5..33c33a5 100644 --- a/src/vendorcode/google/chromeos/vboot2/Kconfig +++ b/src/vendorcode/google/chromeos/vboot2/Kconfig @@ -65,6 +65,13 @@ config RETURN_FROM_VERSTAGE reused by the succeeding stage. This is useful if a ram space is too small to fit both the verstage and the succeeding stage. +config CHIPSET_PROVIDES_VERSTAGE_MAIN_SYMBOL + bool "The chipset provides the main() entry point for verstage" + default n + depends on SEPARATE_VERSTAGE + help + The chipset code provides their own main() entry point. + # These VBOOT_X_INDEX are the position of X in FW_MAIN_A/B region. The index # table is created by cros_bundle_firmware at build time based on the positions # of the blobs listed in fmap.dts and stored at the top of FW_MAIN_A/B region. diff --git a/src/vendorcode/google/chromeos/vboot2/verstage.c b/src/vendorcode/google/chromeos/vboot2/verstage.c index 9556359..751f588 100644 --- a/src/vendorcode/google/chromeos/vboot2/verstage.c +++ b/src/vendorcode/google/chromeos/vboot2/verstage.c @@ -42,5 +42,7 @@ void verstage(void) } } +#if !IS_ENABLED(CONFIG_CHIPSET_PROVIDES_VERSTAGE_MAIN_SYMBOL) /* This is for boards that rely on main() for an entry point of a stage. */ void main(void) __attribute__((alias ("verstage"))); +#endif |