summaryrefslogtreecommitdiff
path: root/lib/chromeos
diff options
context:
space:
mode:
authorChe-Liang Chiou <clchiou@chromium.org>2011-07-28 15:36:31 +0800
committerSimon Glass <sjg@chromium.org>2011-08-29 10:59:17 -0700
commit6632f3b0a10b793be6500a10883ee59b5c664cd6 (patch)
tree9e523518ebe550768f840eca192710ec1fa263f9 /lib/chromeos
parentd25bbb5d20447606b6187603395c91b1fb7b91b2 (diff)
CHROMIUM: remove using sprintf to convert a known constant to string
BUG=none TEST=emerge-{ARM board, x86 board} chromeos-u-boot Change-Id: Ib6c267d6624cebf2b83cb1996ae8135b9cb0e436 Reviewed-on: http://gerrit.chromium.org/gerrit/4911 Tested-by: Che-Liang Chiou <clchiou@chromium.org> Reviewed-by: Tom Wai-Hong Tam <waihong@chromium.org>
Diffstat (limited to 'lib/chromeos')
-rw-r--r--lib/chromeos/boot_kernel.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/lib/chromeos/boot_kernel.c b/lib/chromeos/boot_kernel.c
index 54ff83dcde0..1744046826c 100644
--- a/lib/chromeos/boot_kernel.c
+++ b/lib/chromeos/boot_kernel.c
@@ -165,6 +165,17 @@ static void update_cmdline(char *src, int devnum, int partnum, uint8_t *guid,
*dst = '\0';
}
+/* TODO Copy from tegra2-common.h so that coreboot can be built */
+#ifndef QUOTE
+/*
+ * QUOTE(m) will evaluate to a string version of the value of the macro m
+ * passed in. The extra level of indirection here is to first evaluate the
+ * macro m before applying the quoting operator.
+ */
+#define QUOTE_(m) #m
+#define QUOTE(m) QUOTE_(m)
+#endif
+
int boot_kernel(VbSelectAndLoadKernelParams *kparams, crossystem_data_t *cdata)
{
/* sizeof(CHROMEOS_BOOTARGS) reserves extra 1 byte */
@@ -172,10 +183,12 @@ int boot_kernel(VbSelectAndLoadKernelParams *kparams, crossystem_data_t *cdata)
/* Reserve EXTRA_BUFFER bytes for update_cmdline's string replacement */
char cmdline_out[sizeof(CHROMEOS_BOOTARGS) + CROS_CONFIG_SIZE +
EXTRA_BUFFER];
- char load_address[32];
- char *argv[2] = {"bootm", load_address};
char *cmdline;
+ /* Chrome OS kernel has to be loaded at fixed location */
+ char *argv[] = { "bootm", QUOTE(CHROMEOS_KERNEL_LOADADDR) };
+ assert(kparams->kernel_buffer == (void *)CHROMEOS_KERNEL_LOADADDR);
+
strcpy(cmdline_buf, CHROMEOS_BOOTARGS);
/*
@@ -205,7 +218,6 @@ int boot_kernel(VbSelectAndLoadKernelParams *kparams, crossystem_data_t *cdata)
g_crossystem_data = cdata;
- sprintf(load_address, "0x%p", kparams->kernel_buffer);
do_bootm(NULL, 0, sizeof(argv)/sizeof(*argv), argv);
VBDEBUG(PREFIX "failed to boot; is kernel broken?\n");