diff options
author | Che-Liang Chiou <clchiou@chromium.org> | 2011-07-28 15:36:31 +0800 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2011-08-29 10:59:17 -0700 |
commit | 6632f3b0a10b793be6500a10883ee59b5c664cd6 (patch) | |
tree | 9e523518ebe550768f840eca192710ec1fa263f9 /lib/chromeos | |
parent | d25bbb5d20447606b6187603395c91b1fb7b91b2 (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.c | 18 |
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"); |