diff options
author | Che-Liang Chiou <clchiou@chromium.org> | 2011-07-26 16:55:33 +0800 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2011-08-29 10:59:13 -0700 |
commit | df4a451bb25ade57adcd5895b4fbfbec01c32371 (patch) | |
tree | fde584711208ee6190c0695e4d83bee5fd39e336 | |
parent | 34b7b623417dc1ba47f9d18a2e59e05787f6839c (diff) |
CHROMIUM: reorganize config headers
The headers are merged and split into the board-independent header
chromeos.h and a board-dependent header, e.g., chromeos_tegra2_twostop.h.
The board-independent header defines/enables all features that a
verified boot firmware must have, and is included by a board-dependent
header.
Moreover, the CONFIG_CHROMEOS_* flags are reduced into a single flag
CONFIG_CHROMEOS.
BUG=none
TEST=make chromeos_tegra2_twostop_config && make
Change-Id: I2ec9092ed898c640175095e86cfcb100efbefb3a
Reviewed-on: http://gerrit.chromium.org/gerrit/4731
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Tested-by: Che-Liang Chiou <clchiou@chromium.org>
-rw-r--r-- | board/nvidia/vbexport/Makefile | 2 | ||||
-rw-r--r-- | common/Makefile | 2 | ||||
-rw-r--r-- | common/cmd_vboot_twostop.c | 6 | ||||
-rw-r--r-- | include/configs/chromeos.h | 44 | ||||
-rw-r--r-- | include/configs/chromeos_tegra2_twostop.h | 11 | ||||
-rw-r--r-- | lib/chromeos/Makefile | 2 | ||||
-rw-r--r-- | lib/vbexport/Makefile | 14 |
7 files changed, 62 insertions, 19 deletions
diff --git a/board/nvidia/vbexport/Makefile b/board/nvidia/vbexport/Makefile index 327f0b2e41b..d4ae0d4fe91 100644 --- a/board/nvidia/vbexport/Makefile +++ b/board/nvidia/vbexport/Makefile @@ -12,7 +12,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)libvbexport_board.a -COBJS-$(CONFIG_CHROMEOS_VBEXPORT) += nvstorage.o +COBJS-$(CONFIG_CHROMEOS) += nvstorage.o COBJS := $(COBJS-y) OBJS := $(addprefix $(obj),$(COBJS)) diff --git a/common/Makefile b/common/Makefile index 6ca94401e6f..4c5eef031dd 100644 --- a/common/Makefile +++ b/common/Makefile @@ -78,7 +78,7 @@ COBJS-$(CONFIG_CMD_VBEXPORT_TEST) += cmd_vbexport_test.o COBJS-$(CONFIG_CMD_VBOOT_BOOTSTUB) += cmd_vboot_bootstub.o COBJS-$(CONFIG_CMD_VBOOT_MAIN) += cmd_vboot_main.o COBJS-$(CONFIG_CMD_VBOOT_TEST) += cmd_vboot_test.o -COBJS-$(CONFIG_CMD_VBOOT_TWOSTOP) += cmd_vboot_twostop.o +COBJS-$(CONFIG_CHROMEOS) += cmd_vboot_twostop.o COBJS-$(CONFIG_DATAFLASH_MMC_SELECT) += cmd_dataflash_mmc_mux.o COBJS-$(CONFIG_CMD_DATE) += cmd_date.o ifdef CONFIG_4xx diff --git a/common/cmd_vboot_twostop.c b/common/cmd_vboot_twostop.c index 1786374e1e3..96ef7e012c2 100644 --- a/common/cmd_vboot_twostop.c +++ b/common/cmd_vboot_twostop.c @@ -71,7 +71,7 @@ * VbSharedData), and finally, the GBB. */ #define CROSSYSTEM_DATA_ADDRESS \ - (CONFIG_CHROMEOS_KERNEL_LOADADDR + CONFIG_CHROMEOS_KERNEL_BUFSIZE) + (CHROMEOS_KERNEL_LOADADDR + CHROMEOS_KERNEL_BUFSIZE) #define CROSSYSTEM_DATA_MAXSIZE 0x8000 #define GBB_ADDRESS (CROSSYSTEM_DATA_ADDRESS + CROSSYSTEM_DATA_MAXSIZE) @@ -539,8 +539,8 @@ uint32_t twostop_main_firmware(struct fdt_twostop_fmap *fmap, return VB_SELECT_ERROR; } - kparams.kernel_buffer = (void *)CONFIG_CHROMEOS_KERNEL_LOADADDR; - kparams.kernel_buffer_size = CONFIG_CHROMEOS_KERNEL_BUFSIZE; + kparams.kernel_buffer = (void *)CHROMEOS_KERNEL_LOADADDR; + kparams.kernel_buffer_size = CHROMEOS_KERNEL_BUFSIZE; VBDEBUG(PREFIX "kparams:\n"); VBDEBUG(PREFIX "- kernel_buffer: : %p\n", kparams.kernel_buffer); diff --git a/include/configs/chromeos.h b/include/configs/chromeos.h new file mode 100644 index 00000000000..acdd5e28c9c --- /dev/null +++ b/include/configs/chromeos.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2011 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef __configs_chromeos_h__ +#define __configs_chromeos_h__ + +/* + * This config file defines platform-independent settings that a verified boot + * firmware must have. + */ + +/* Enable verified boot */ +#define CONFIG_CHROMEOS + +/* Enable graphics display */ +#define CONFIG_LCD_BMP_RLE8 +#define CONFIG_LZMA +#define CONFIG_SPLASH_SCREEN + +/* + * Use the fdt to decide whether to load the environment early in start-up + * (even before we decide if we're entering developer mode). + */ +#define CONFIG_OF_LOAD_ENVIRONMENT + +/* + * Enable this feature to embed crossystem data into device tree before booting + * the kernel. + */ +/* + * TODO If x86 firmware does not embedding crossystem data in a device tree (and + * pass the tree to kernel) but uses ACPI or whatever instead, move this to + * chromeos_tegra2_twostop.h. + */ +#define CONFIG_OF_UPDATE_FDT_BEFORE_BOOT + +/* For security reason, Chrome OS kernel must be loaded to specific location. */ +#define CHROMEOS_KERNEL_LOADADDR 0x00100000 +#define CHROMEOS_KERNEL_BUFSIZE 0x00800000 + +#endif /* __configs_chromeos_h__ */ diff --git a/include/configs/chromeos_tegra2_twostop.h b/include/configs/chromeos_tegra2_twostop.h index e7bcaea8979..357dd596bb0 100644 --- a/include/configs/chromeos_tegra2_twostop.h +++ b/include/configs/chromeos_tegra2_twostop.h @@ -7,13 +7,12 @@ #ifndef __configs_chromeos_tegra2_twostop_h__ #define __configs_chromeos_tegra2_twostop_h__ -/* TODO This should be renamed to chromeos_tegra2_common.h? */ -#include <configs/chromeos_seaboard_common.h> +/* So far all our tegra2-based boards share the seaboard config. */ +#include <configs/seaboard.h> -#define CONFIG_CHROMEOS_VBEXPORT -#define CONFIG_CHROMEOS_TWOSTOP +#include "chromeos.h" -/* entry point of twostop firmware */ -#define CONFIG_CMD_VBOOT_TWOSTOP +/* Store the VbNvContext in the first block of the disk. */ +#define CHROMEOS_VBNVCONTEXT_LBA 0 #endif /* __configs_chromeos_tegra2_twostop_h__ */ diff --git a/lib/chromeos/Makefile b/lib/chromeos/Makefile index 5ea27547406..6305673cc7e 100644 --- a/lib/chromeos/Makefile +++ b/lib/chromeos/Makefile @@ -21,7 +21,7 @@ COBJS-$(CONFIG_CHROMEOS) += memory_wipe.o # TODO(sjg): This MMC code is not needed as yet, and needs slight changes # to build now -#COBJS-$(CONFIG_CHROMEOS_TWOSTOP) += firmware_storage_twostop.o +#COBJS-$(CONFIG_CHROMEOS) += firmware_storage_twostop.o COBJS := $(COBJS-y) OBJS := $(addprefix $(obj),$(COBJS)) diff --git a/lib/vbexport/Makefile b/lib/vbexport/Makefile index 378e043ad24..64e633a46ba 100644 --- a/lib/vbexport/Makefile +++ b/lib/vbexport/Makefile @@ -12,13 +12,13 @@ include $(TOPDIR)/config.mk LIB = $(obj)libvbexport.a -COBJS-$(CONFIG_CHROMEOS_VBEXPORT) += boot_device.o -COBJS-$(CONFIG_CHROMEOS_VBEXPORT) += display.o -COBJS-$(CONFIG_CHROMEOS_VBEXPORT) += keyboard.o -COBJS-$(CONFIG_CHROMEOS_VBEXPORT) += load_firmware.o -COBJS-$(CONFIG_CHROMEOS_VBEXPORT) += misc.o -COBJS-$(CONFIG_CHROMEOS_VBEXPORT) += tlcl_stub.o -COBJS-$(CONFIG_CHROMEOS_VBEXPORT) += utility.o +COBJS-$(CONFIG_CHROMEOS) += boot_device.o +COBJS-$(CONFIG_CHROMEOS) += display.o +COBJS-$(CONFIG_CHROMEOS) += keyboard.o +COBJS-$(CONFIG_CHROMEOS) += load_firmware.o +COBJS-$(CONFIG_CHROMEOS) += misc.o +COBJS-$(CONFIG_CHROMEOS) += tlcl_stub.o +COBJS-$(CONFIG_CHROMEOS) += utility.o COBJS := $(COBJS-y) OBJS := $(addprefix $(obj),$(COBJS)) |