summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChe-Liang Chiou <clchiou@chromium.org>2011-07-26 16:55:33 +0800
committerSimon Glass <sjg@chromium.org>2011-08-29 10:59:13 -0700
commitdf4a451bb25ade57adcd5895b4fbfbec01c32371 (patch)
treefde584711208ee6190c0695e4d83bee5fd39e336
parent34b7b623417dc1ba47f9d18a2e59e05787f6839c (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/Makefile2
-rw-r--r--common/Makefile2
-rw-r--r--common/cmd_vboot_twostop.c6
-rw-r--r--include/configs/chromeos.h44
-rw-r--r--include/configs/chromeos_tegra2_twostop.h11
-rw-r--r--lib/chromeos/Makefile2
-rw-r--r--lib/vbexport/Makefile14
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))