|
@@ -153,18 +153,6 @@ static boot_os_fn *boot_os[] = {
|
|
ulong load_addr = CONFIG_SYS_LOAD_ADDR; /* Default Load Address */
|
|
ulong load_addr = CONFIG_SYS_LOAD_ADDR; /* Default Load Address */
|
|
static bootm_headers_t images; /* pointers to os/initrd/fdt images */
|
|
static bootm_headers_t images; /* pointers to os/initrd/fdt images */
|
|
|
|
|
|
-void __board_lmb_reserve(struct lmb *lmb)
|
|
|
|
-{
|
|
|
|
- /* please define platform specific board_lmb_reserve() */
|
|
|
|
-}
|
|
|
|
-void board_lmb_reserve(struct lmb *lmb) __attribute__((weak, alias("__board_lmb_reserve")));
|
|
|
|
-
|
|
|
|
-void __arch_lmb_reserve(struct lmb *lmb)
|
|
|
|
-{
|
|
|
|
- /* please define platform specific arch_lmb_reserve() */
|
|
|
|
-}
|
|
|
|
-void arch_lmb_reserve(struct lmb *lmb) __attribute__((weak, alias("__arch_lmb_reserve")));
|
|
|
|
-
|
|
|
|
/* Allow for arch specific config before we boot */
|
|
/* Allow for arch specific config before we boot */
|
|
void __arch_preboot_os(void)
|
|
void __arch_preboot_os(void)
|
|
{
|
|
{
|
|
@@ -200,15 +188,11 @@ void arch_preboot_os(void) __attribute__((weak, alias("__arch_preboot_os")));
|
|
# error Unknown CPU type
|
|
# error Unknown CPU type
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-static int bootm_start(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
|
|
|
|
|
+static void bootm_start_lmb(void)
|
|
{
|
|
{
|
|
|
|
+#ifdef CONFIG_LMB
|
|
ulong mem_start;
|
|
ulong mem_start;
|
|
phys_size_t mem_size;
|
|
phys_size_t mem_size;
|
|
- void *os_hdr;
|
|
|
|
- int ret;
|
|
|
|
-
|
|
|
|
- memset ((void *)&images, 0, sizeof (images));
|
|
|
|
- images.verify = getenv_yesno ("verify");
|
|
|
|
|
|
|
|
lmb_init(&images.lmb);
|
|
lmb_init(&images.lmb);
|
|
|
|
|
|
@@ -219,6 +203,20 @@ static int bootm_start(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
|
|
|
|
|
arch_lmb_reserve(&images.lmb);
|
|
arch_lmb_reserve(&images.lmb);
|
|
board_lmb_reserve(&images.lmb);
|
|
board_lmb_reserve(&images.lmb);
|
|
|
|
+#else
|
|
|
|
+# define lmb_reserve(lmb, base, size)
|
|
|
|
+#endif
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static int bootm_start(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
|
|
|
+{
|
|
|
|
+ void *os_hdr;
|
|
|
|
+ int ret;
|
|
|
|
+
|
|
|
|
+ memset ((void *)&images, 0, sizeof (images));
|
|
|
|
+ images.verify = getenv_yesno ("verify");
|
|
|
|
+
|
|
|
|
+ bootm_start_lmb();
|
|
|
|
|
|
/* get kernel image header, start address and length */
|
|
/* get kernel image header, start address and length */
|
|
os_hdr = boot_get_kernel (cmdtp, flag, argc, argv,
|
|
os_hdr = boot_get_kernel (cmdtp, flag, argc, argv,
|