mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-14 04:46:01 +01:00
image: Drop some other #ifdefs in image-board.c
Remove all but a few that are difficult, relying on legacy CONFIG options or optional global_data fields. Drop the duplicate function name in the comment for boot_get_cmdline(). Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
20f5d83fb1
commit
9c2e9128f3
@ -16,6 +16,7 @@
|
|||||||
#include <fpga.h>
|
#include <fpga.h>
|
||||||
#include <image.h>
|
#include <image.h>
|
||||||
#include <init.h>
|
#include <init.h>
|
||||||
|
#include <log.h>
|
||||||
#include <mapmem.h>
|
#include <mapmem.h>
|
||||||
#include <rtc.h>
|
#include <rtc.h>
|
||||||
#include <watchdog.h>
|
#include <watchdog.h>
|
||||||
@ -172,7 +173,7 @@ void memmove_wd(void *to, void *from, size_t len, ulong chunksz)
|
|||||||
if (to == from)
|
if (to == from)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
|
if (IS_ENABLED(CONFIG_HW_WATCHDOG) || IS_ENABLED(CONFIG_WATCHDOG)) {
|
||||||
if (to > from) {
|
if (to > from) {
|
||||||
from += len;
|
from += len;
|
||||||
to += len;
|
to += len;
|
||||||
@ -192,9 +193,9 @@ void memmove_wd(void *to, void *from, size_t len, ulong chunksz)
|
|||||||
}
|
}
|
||||||
len -= tail;
|
len -= tail;
|
||||||
}
|
}
|
||||||
#else /* !(CONFIG_HW_WATCHDOG || CONFIG_WATCHDOG) */
|
} else {
|
||||||
memmove(to, from, len);
|
memmove(to, from, len);
|
||||||
#endif /* CONFIG_HW_WATCHDOG || CONFIG_WATCHDOG */
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -551,7 +552,6 @@ int boot_get_ramdisk(int argc, char *const argv[], bootm_headers_t *images,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CONFIG_LMB)
|
|
||||||
/**
|
/**
|
||||||
* boot_ramdisk_high - relocate init ramdisk
|
* boot_ramdisk_high - relocate init ramdisk
|
||||||
* @lmb: pointer to lmb handle, will be used for memory mgmt
|
* @lmb: pointer to lmb handle, will be used for memory mgmt
|
||||||
@ -645,7 +645,6 @@ int boot_ramdisk_high(struct lmb *lmb, ulong rd_data, ulong rd_len,
|
|||||||
error:
|
error:
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
int boot_get_setup(bootm_headers_t *images, u8 arch,
|
int boot_get_setup(bootm_headers_t *images, u8 arch,
|
||||||
ulong *setup_start, ulong *setup_len)
|
ulong *setup_start, ulong *setup_len)
|
||||||
@ -839,15 +838,13 @@ int boot_get_loadable(int argc, char *const argv[], bootm_headers_t *images,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CONFIG_LMB)
|
|
||||||
#ifdef CONFIG_SYS_BOOT_GET_CMDLINE
|
|
||||||
/**
|
/**
|
||||||
* boot_get_cmdline - allocate and initialize kernel cmdline
|
* boot_get_cmdline - allocate and initialize kernel cmdline
|
||||||
* @lmb: pointer to lmb handle, will be used for memory mgmt
|
* @lmb: pointer to lmb handle, will be used for memory mgmt
|
||||||
* @cmd_start: pointer to a ulong variable, will hold cmdline start
|
* @cmd_start: pointer to a ulong variable, will hold cmdline start
|
||||||
* @cmd_end: pointer to a ulong variable, will hold cmdline end
|
* @cmd_end: pointer to a ulong variable, will hold cmdline end
|
||||||
*
|
*
|
||||||
* boot_get_cmdline() allocates space for kernel command line below
|
* This allocates space for kernel command line below
|
||||||
* BOOTMAPSZ + env_get_bootm_low() address. If "bootargs" U-Boot environment
|
* BOOTMAPSZ + env_get_bootm_low() address. If "bootargs" U-Boot environment
|
||||||
* variable is present its contents is copied to allocated kernel
|
* variable is present its contents is copied to allocated kernel
|
||||||
* command line.
|
* command line.
|
||||||
@ -858,10 +855,19 @@ int boot_get_loadable(int argc, char *const argv[], bootm_headers_t *images,
|
|||||||
*/
|
*/
|
||||||
int boot_get_cmdline(struct lmb *lmb, ulong *cmd_start, ulong *cmd_end)
|
int boot_get_cmdline(struct lmb *lmb, ulong *cmd_start, ulong *cmd_end)
|
||||||
{
|
{
|
||||||
|
int barg;
|
||||||
char *cmdline;
|
char *cmdline;
|
||||||
char *s;
|
char *s;
|
||||||
|
|
||||||
cmdline = (char *)(ulong)lmb_alloc_base(lmb, CONFIG_SYS_BARGSIZE, 0xf,
|
/*
|
||||||
|
* Help the compiler detect that this function is only called when
|
||||||
|
* CONFIG_SYS_BOOT_GET_CMDLINE is enabled
|
||||||
|
*/
|
||||||
|
if (!IS_ENABLED(CONFIG_SYS_BOOT_GET_CMDLINE))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
barg = IF_ENABLED_INT(CONFIG_SYS_BOOT_GET_CMDLINE, CONFIG_SYS_BARGSIZE);
|
||||||
|
cmdline = (char *)(ulong)lmb_alloc_base(lmb, barg, 0xf,
|
||||||
env_get_bootm_mapsize() + env_get_bootm_low());
|
env_get_bootm_mapsize() + env_get_bootm_low());
|
||||||
if (!cmdline)
|
if (!cmdline)
|
||||||
return -1;
|
return -1;
|
||||||
@ -907,22 +913,22 @@ int boot_get_kbd(struct lmb *lmb, struct bd_info **kbd)
|
|||||||
|
|
||||||
debug("## kernel board info at 0x%08lx\n", (ulong)*kbd);
|
debug("## kernel board info at 0x%08lx\n", (ulong)*kbd);
|
||||||
|
|
||||||
#if defined(DEBUG)
|
if (_DEBUG && IS_ENABLED(CONFIG_CMD_BDI))
|
||||||
if (IS_ENABLED(CONFIG_CMD_BDI))
|
|
||||||
do_bdinfo(NULL, 0, 0, NULL);
|
do_bdinfo(NULL, 0, 0, NULL);
|
||||||
#endif
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
int image_setup_linux(bootm_headers_t *images)
|
int image_setup_linux(bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
ulong of_size = images->ft_len;
|
ulong of_size = images->ft_len;
|
||||||
char **of_flat_tree = &images->ft_addr;
|
char **of_flat_tree = &images->ft_addr;
|
||||||
struct lmb *lmb = &images->lmb;
|
struct lmb *lmb = images_lmb(images);
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
/* This function cannot be called without lmb support */
|
||||||
|
if (!CONFIG_IS_ENABLED(LMB))
|
||||||
|
return -EFAULT;
|
||||||
if (CONFIG_IS_ENABLED(OF_LIBFDT))
|
if (CONFIG_IS_ENABLED(OF_LIBFDT))
|
||||||
boot_fdt_add_mem_rsv_regions(lmb, *of_flat_tree);
|
boot_fdt_add_mem_rsv_regions(lmb, *of_flat_tree);
|
||||||
|
|
||||||
@ -949,7 +955,6 @@ int image_setup_linux(bootm_headers_t *images)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void genimg_print_size(uint32_t size)
|
void genimg_print_size(uint32_t size)
|
||||||
{
|
{
|
||||||
|
@ -360,6 +360,12 @@ typedef struct bootm_headers {
|
|||||||
#endif
|
#endif
|
||||||
} bootm_headers_t;
|
} bootm_headers_t;
|
||||||
|
|
||||||
|
#ifdef CONFIG_LMB
|
||||||
|
#define images_lmb(_images) (&(_images)->lmb)
|
||||||
|
#else
|
||||||
|
#define images_lmb(_images) NULL
|
||||||
|
#endif
|
||||||
|
|
||||||
extern bootm_headers_t images;
|
extern bootm_headers_t images;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user