mirror of
https://git.yoctoproject.org/poky
synced 2026-06-06 14:49:50 +00:00
u-boot: Update to 2016.01 release
Upgrade U-Boot to latest version and drop upstreamed patches. (From OE-Core rev: fd0a8923638217dfa0a61ee63f2013229429808c) Signed-off-by: Marek Vasut <marex@denx.de> Cc: Otavio Salvador <otavio@ossystems.com.br> Cc: Ross Burton <ross.burton@intel.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
e9280d13a8
commit
5abb69126c
+3
-3
@@ -4,12 +4,12 @@ LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
|
||||
SECTION = "bootloader"
|
||||
DEPENDS = "mtd-utils"
|
||||
|
||||
# This revision corresponds to the tag "v2015.10"
|
||||
# This revision corresponds to the tag "v2016.01"
|
||||
# We use the revision in order to avoid having to fetch it from the
|
||||
# repo during parse
|
||||
SRCREV = "5ec0003b19cbdf06ccd6941237cbc0d1c3468e2d"
|
||||
SRCREV = "fa85e826c16b9ce1ad302a57e9c4b24db0d8b930"
|
||||
|
||||
PV = "v2015.10+git${SRCPV}"
|
||||
PV = "v2016.01+git${SRCPV}"
|
||||
|
||||
SRC_URI = "git://git.denx.de/u-boot.git;branch=master"
|
||||
|
||||
+3
-3
@@ -5,12 +5,12 @@ SECTION = "bootloader"
|
||||
|
||||
DEPENDS = "openssl"
|
||||
|
||||
# This revision corresponds to the tag "v2015.10"
|
||||
# This revision corresponds to the tag "v2016.01"
|
||||
# We use the revision in order to avoid having to fetch it from the
|
||||
# repo during parse
|
||||
SRCREV = "5ec0003b19cbdf06ccd6941237cbc0d1c3468e2d"
|
||||
SRCREV = "fa85e826c16b9ce1ad302a57e9c4b24db0d8b930"
|
||||
|
||||
PV = "v2015.10+git${SRCPV}"
|
||||
PV = "v2016.01+git${SRCPV}"
|
||||
|
||||
SRC_URI = "git://git.denx.de/u-boot.git;branch=master"
|
||||
|
||||
-185
@@ -1,185 +0,0 @@
|
||||
From 47092c85a2d3dea6fb3ffa59ae6fe737112db93e Mon Sep 17 00:00:00 2001
|
||||
From: Zhenhua Luo <zhenhua.luo@freescale.com>
|
||||
Date: Mon, 9 Feb 2015 18:33:56 +0800
|
||||
Subject: [PATCH 1/6] powerpc/cpu/*/u-boot*.lds: remove _GLOBAL_OFFSET_TABLE_
|
||||
definition
|
||||
Organization: O.S. Systems Software LTDA.
|
||||
|
||||
In binutils-2.25, the _GLOBAL_OFFSET_TABLE_ symbols defined by PROVIDE in
|
||||
u-boot.lds overrides the linker built-in symbols
|
||||
(https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=b893397a4b1316610f49819344817715e4305de9),
|
||||
so the linker is treating _GLOBAL_OFFSET_TABLE_ as a definition into the .reloc section.
|
||||
|
||||
To align with the change of binutils-2.25, the _GLOBAL_OFFSET_TABLE_ symbol
|
||||
should not be defined in sections, and the symbols in linker generated .got
|
||||
section should be used(https://sourceware.org/ml/binutils/2008-09/msg00122.html).
|
||||
|
||||
Fixed the following build errors with binutils-2.25:
|
||||
| powerpc-poky-linux-gnuspe-ld.bfd: _GLOBAL_OFFSET_TABLE_ not defined in linker created .got
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
|
||||
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
||||
---
|
||||
arch/powerpc/cpu/mpc512x/u-boot.lds | 1 -
|
||||
arch/powerpc/cpu/mpc5xx/u-boot.lds | 1 -
|
||||
arch/powerpc/cpu/mpc5xxx/u-boot.lds | 1 -
|
||||
arch/powerpc/cpu/mpc8260/u-boot.lds | 1 -
|
||||
arch/powerpc/cpu/mpc83xx/u-boot-spl.lds | 1 -
|
||||
arch/powerpc/cpu/mpc83xx/u-boot.lds | 1 -
|
||||
arch/powerpc/cpu/mpc85xx/u-boot-nand.lds | 1 -
|
||||
arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 1 -
|
||||
arch/powerpc/cpu/mpc85xx/u-boot-spl.lds | 1 -
|
||||
arch/powerpc/cpu/mpc85xx/u-boot.lds | 1 -
|
||||
arch/powerpc/cpu/mpc86xx/u-boot.lds | 1 -
|
||||
arch/powerpc/cpu/ppc4xx/u-boot.lds | 1 -
|
||||
12 files changed, 12 deletions(-)
|
||||
|
||||
diff --git a/arch/powerpc/cpu/mpc512x/u-boot.lds b/arch/powerpc/cpu/mpc512x/u-boot.lds
|
||||
index 9658b21..b32f74e 100644
|
||||
--- a/arch/powerpc/cpu/mpc512x/u-boot.lds
|
||||
+++ b/arch/powerpc/cpu/mpc512x/u-boot.lds
|
||||
@@ -24,7 +24,6 @@ SECTIONS
|
||||
_GOT2_TABLE_ = .;
|
||||
KEEP(*(.got2))
|
||||
KEEP(*(.got))
|
||||
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
|
||||
_FIXUP_TABLE_ = .;
|
||||
KEEP(*(.fixup))
|
||||
*(.fixup)
|
||||
diff --git a/arch/powerpc/cpu/mpc5xx/u-boot.lds b/arch/powerpc/cpu/mpc5xx/u-boot.lds
|
||||
index 7198465..6a53571 100644
|
||||
--- a/arch/powerpc/cpu/mpc5xx/u-boot.lds
|
||||
+++ b/arch/powerpc/cpu/mpc5xx/u-boot.lds
|
||||
@@ -33,7 +33,6 @@ SECTIONS
|
||||
_GOT2_TABLE_ = .;
|
||||
KEEP(*(.got2))
|
||||
KEEP(*(.got))
|
||||
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
|
||||
_FIXUP_TABLE_ = .;
|
||||
KEEP(*(.fixup))
|
||||
}
|
||||
diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot.lds b/arch/powerpc/cpu/mpc5xxx/u-boot.lds
|
||||
index cd9e23f..aa80d3d 100644
|
||||
--- a/arch/powerpc/cpu/mpc5xxx/u-boot.lds
|
||||
+++ b/arch/powerpc/cpu/mpc5xxx/u-boot.lds
|
||||
@@ -28,7 +28,6 @@ SECTIONS
|
||||
_GOT2_TABLE_ = .;
|
||||
KEEP(*(.got2))
|
||||
KEEP(*(.got))
|
||||
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
|
||||
_FIXUP_TABLE_ = .;
|
||||
KEEP(*(.fixup))
|
||||
}
|
||||
diff --git a/arch/powerpc/cpu/mpc8260/u-boot.lds b/arch/powerpc/cpu/mpc8260/u-boot.lds
|
||||
index 50cbf85..469fc29 100644
|
||||
--- a/arch/powerpc/cpu/mpc8260/u-boot.lds
|
||||
+++ b/arch/powerpc/cpu/mpc8260/u-boot.lds
|
||||
@@ -27,7 +27,6 @@ SECTIONS
|
||||
_GOT2_TABLE_ = .;
|
||||
KEEP(*(.got2))
|
||||
KEEP(*(.got))
|
||||
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
|
||||
_FIXUP_TABLE_ = .;
|
||||
KEEP(*(.fixup))
|
||||
}
|
||||
diff --git a/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds b/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds
|
||||
index 774772b..4101eaf 100644
|
||||
--- a/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds
|
||||
+++ b/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds
|
||||
@@ -24,7 +24,6 @@ SECTIONS
|
||||
_GOT2_TABLE_ = .;
|
||||
KEEP(*(.got2))
|
||||
KEEP(*(.got))
|
||||
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
|
||||
}
|
||||
__got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
|
||||
|
||||
diff --git a/arch/powerpc/cpu/mpc83xx/u-boot.lds b/arch/powerpc/cpu/mpc83xx/u-boot.lds
|
||||
index 3c177fa..dbd8bbe 100644
|
||||
--- a/arch/powerpc/cpu/mpc83xx/u-boot.lds
|
||||
+++ b/arch/powerpc/cpu/mpc83xx/u-boot.lds
|
||||
@@ -26,7 +26,6 @@ SECTIONS
|
||||
_GOT2_TABLE_ = .;
|
||||
KEEP(*(.got2))
|
||||
KEEP(*(.got))
|
||||
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
|
||||
_FIXUP_TABLE_ = .;
|
||||
KEEP(*(.fixup))
|
||||
}
|
||||
diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
|
||||
index f933b21..0399f93 100644
|
||||
--- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
|
||||
+++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
|
||||
@@ -44,7 +44,6 @@ SECTIONS
|
||||
_GOT2_TABLE_ = .;
|
||||
KEEP(*(.got2))
|
||||
KEEP(*(.got))
|
||||
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
|
||||
_FIXUP_TABLE_ = .;
|
||||
KEEP(*(.fixup))
|
||||
}
|
||||
diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
|
||||
index b83c553..f044564 100644
|
||||
--- a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
|
||||
+++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
|
||||
@@ -22,7 +22,6 @@ SECTIONS
|
||||
_GOT2_TABLE_ = .;
|
||||
KEEP(*(.got2))
|
||||
KEEP(*(.got))
|
||||
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
|
||||
_FIXUP_TABLE_ = .;
|
||||
KEEP(*(.fixup))
|
||||
}
|
||||
diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
|
||||
index 5ae7b3e..889a4c2 100644
|
||||
--- a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
|
||||
+++ b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
|
||||
@@ -29,7 +29,6 @@ SECTIONS
|
||||
_GOT2_TABLE_ = .;
|
||||
KEEP(*(.got2))
|
||||
KEEP(*(.got))
|
||||
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
|
||||
_FIXUP_TABLE_ = .;
|
||||
KEEP(*(.fixup))
|
||||
}
|
||||
diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds b/arch/powerpc/cpu/mpc85xx/u-boot.lds
|
||||
index 2cf0b25..f15eaf3 100644
|
||||
--- a/arch/powerpc/cpu/mpc85xx/u-boot.lds
|
||||
+++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds
|
||||
@@ -50,7 +50,6 @@ SECTIONS
|
||||
_GOT2_TABLE_ = .;
|
||||
KEEP(*(.got2))
|
||||
KEEP(*(.got))
|
||||
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
|
||||
_FIXUP_TABLE_ = .;
|
||||
KEEP(*(.fixup))
|
||||
}
|
||||
diff --git a/arch/powerpc/cpu/mpc86xx/u-boot.lds b/arch/powerpc/cpu/mpc86xx/u-boot.lds
|
||||
index 58467c2..6c48f40 100644
|
||||
--- a/arch/powerpc/cpu/mpc86xx/u-boot.lds
|
||||
+++ b/arch/powerpc/cpu/mpc86xx/u-boot.lds
|
||||
@@ -32,7 +32,6 @@ SECTIONS
|
||||
_GOT2_TABLE_ = .;
|
||||
KEEP(*(.got2))
|
||||
KEEP(*(.got))
|
||||
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
|
||||
_FIXUP_TABLE_ = .;
|
||||
KEEP(*(.fixup))
|
||||
}
|
||||
diff --git a/arch/powerpc/cpu/ppc4xx/u-boot.lds b/arch/powerpc/cpu/ppc4xx/u-boot.lds
|
||||
index 1980508..55dd4e1 100644
|
||||
--- a/arch/powerpc/cpu/ppc4xx/u-boot.lds
|
||||
+++ b/arch/powerpc/cpu/ppc4xx/u-boot.lds
|
||||
@@ -46,7 +46,6 @@ SECTIONS
|
||||
_GOT2_TABLE_ = .;
|
||||
KEEP(*(.got2))
|
||||
KEEP(*(.got))
|
||||
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
|
||||
_FIXUP_TABLE_ = .;
|
||||
KEEP(*(.fixup))
|
||||
}
|
||||
--
|
||||
2.6.2
|
||||
|
||||
-36
@@ -1,36 +0,0 @@
|
||||
From 0a8c59720155c30f01d4cd1c53da3647a3f4decd Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@konsulko.com>
|
||||
Date: Tue, 27 Oct 2015 19:04:40 -0400
|
||||
Subject: [PATCH 2/6] image.c: Fix non-Android booting with ramdisk and/or
|
||||
device tree
|
||||
Organization: O.S. Systems Software LTDA.
|
||||
|
||||
In 1fec3c5 I added a check that if we had an Android image we default to
|
||||
trying the kernel address for a ramdisk. However when we don't have an
|
||||
Android image buf is NULL and we oops here. Ensure that we have 'buf'
|
||||
to check first.
|
||||
|
||||
Upstream-Status: Backport [2016.01]
|
||||
|
||||
Reported-by: elipe Balbi <balbi@ti.com>
|
||||
Signed-off-by: Tom Rini <trini@konsulko.com>
|
||||
---
|
||||
common/image.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/common/image.c b/common/image.c
|
||||
index e607109..85c4f39 100644
|
||||
--- a/common/image.c
|
||||
+++ b/common/image.c
|
||||
@@ -913,7 +913,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
|
||||
* Look for an Android boot image.
|
||||
*/
|
||||
buf = map_sysmem(images->os.start, 0);
|
||||
- if (genimg_get_format(buf) == IMAGE_FORMAT_ANDROID)
|
||||
+ if (buf && genimg_get_format(buf) == IMAGE_FORMAT_ANDROID)
|
||||
select = argv[0];
|
||||
#endif
|
||||
|
||||
--
|
||||
2.6.2
|
||||
|
||||
-59
@@ -1,59 +0,0 @@
|
||||
From e5ebba40a3b8a1405e48d49dc873ffe2fa1963a1 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
|
||||
Date: Sun, 1 Nov 2015 17:36:13 +0100
|
||||
Subject: [PATCH 3/6] common/board_f: enable setup_board_part1() for MIPS
|
||||
Organization: O.S. Systems Software LTDA.
|
||||
|
||||
The variables bd_t:bi_memstart and bd_t:bi_memsize have to be
|
||||
initialized also on MIPS. Otherwise LMB and cmd_bdinfo do not
|
||||
correctly work. This currently breaks the booting of FIT images
|
||||
on MIPS. Enable the board_init_f hook setup_board_part1()
|
||||
for MIPS to fix this.
|
||||
|
||||
Upstream-Status: Backport [2016.01]
|
||||
|
||||
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
|
||||
Reviewed-by: Tom Rini <trini@konsulko.com>
|
||||
Reviewed-by: Simon Glass <sjg@chromium.org>
|
||||
---
|
||||
common/board_f.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/common/board_f.c b/common/board_f.c
|
||||
index 613332e..33cc5c0 100644
|
||||
--- a/common/board_f.c
|
||||
+++ b/common/board_f.c
|
||||
@@ -551,7 +551,7 @@ static int display_new_sp(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
|
||||
+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_MIPS)
|
||||
static int setup_board_part1(void)
|
||||
{
|
||||
bd_t *bd = gd->bd;
|
||||
@@ -580,7 +580,9 @@ static int setup_board_part1(void)
|
||||
|
||||
return 0;
|
||||
}
|
||||
+#endif
|
||||
|
||||
+#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
|
||||
static int setup_board_part2(void)
|
||||
{
|
||||
bd_t *bd = gd->bd;
|
||||
@@ -933,8 +935,10 @@ static init_fnc_t init_sequence_f[] = {
|
||||
reserve_stacks,
|
||||
setup_dram_config,
|
||||
show_dram_config,
|
||||
-#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
|
||||
+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_MIPS)
|
||||
setup_board_part1,
|
||||
+#endif
|
||||
+#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
|
||||
INIT_FUNC_WATCHDOG_RESET
|
||||
setup_board_part2,
|
||||
#endif
|
||||
--
|
||||
2.6.2
|
||||
|
||||
-254
@@ -1,254 +0,0 @@
|
||||
From da9d99765476b10fe0a75140a2d4c1f284ffc333 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
|
||||
Date: Sun, 1 Nov 2015 17:36:14 +0100
|
||||
Subject: [PATCH 4/6] MIPS: bootm: rework and fix broken bootm code
|
||||
Organization: O.S. Systems Software LTDA.
|
||||
|
||||
The move to 'generic board' as well as changes in the generic
|
||||
bootm code broke the boot of FIT uImage's. Especially uImage's
|
||||
with additional initramfs images or FDT's do not work anymore.
|
||||
|
||||
Refactor the bootm code to work again with the generic bootm code.
|
||||
|
||||
Always relocate ramdisk and FDT in step 'bootm prep' because the
|
||||
generic bootm code does this only for legacy uImage's.
|
||||
|
||||
Move the step 'bootm cmdline' to 'bootm prep' because the Linux
|
||||
kernel parameters rd_start and rd_size have to be initialized after
|
||||
the relocation of the ramdisk.
|
||||
|
||||
Furthermore support the step 'bootm fake'.
|
||||
|
||||
Upstream-Status: Backport [2016.01]
|
||||
|
||||
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
|
||||
Reviewed-by: Tom Rini <trini@konsulko.com>
|
||||
Reviewed-by: Simon Glass <sjg@chromium.org>
|
||||
---
|
||||
arch/mips/lib/bootm.c | 163 ++++++++++++++++++++++++--------------------------
|
||||
1 file changed, 78 insertions(+), 85 deletions(-)
|
||||
|
||||
diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
|
||||
index 9c647aa..a7eddd3 100644
|
||||
--- a/arch/mips/lib/bootm.c
|
||||
+++ b/arch/mips/lib/bootm.c
|
||||
@@ -21,18 +21,6 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
#define mips_boot_malta 0
|
||||
#endif
|
||||
|
||||
-#if defined(CONFIG_MIPS_BOOT_CMDLINE_LEGACY)
|
||||
-#define mips_boot_cmdline_legacy 1
|
||||
-#else
|
||||
-#define mips_boot_cmdline_legacy 0
|
||||
-#endif
|
||||
-
|
||||
-#if defined(CONFIG_MIPS_BOOT_ENV_LEGACY)
|
||||
-#define mips_boot_env_legacy 1
|
||||
-#else
|
||||
-#define mips_boot_env_legacy 0
|
||||
-#endif
|
||||
-
|
||||
static int linux_argc;
|
||||
static char **linux_argv;
|
||||
static char *linux_argp;
|
||||
@@ -62,50 +50,6 @@ void arch_lmb_reserve(struct lmb *lmb)
|
||||
lmb_reserve(lmb, sp, CONFIG_SYS_SDRAM_BASE + gd->ram_size - sp);
|
||||
}
|
||||
|
||||
-static int boot_setup_linux(bootm_headers_t *images)
|
||||
-{
|
||||
- int ret;
|
||||
- ulong rd_len;
|
||||
-
|
||||
- rd_len = images->rd_end - images->rd_start;
|
||||
- ret = boot_ramdisk_high(&images->lmb, images->rd_start,
|
||||
- rd_len, &images->initrd_start, &images->initrd_end);
|
||||
- if (ret)
|
||||
- return ret;
|
||||
-
|
||||
-#if defined(CONFIG_MIPS_BOOT_FDT) && defined(CONFIG_OF_LIBFDT)
|
||||
- if (images->ft_len) {
|
||||
- boot_fdt_add_mem_rsv_regions(&images->lmb, images->ft_addr);
|
||||
-
|
||||
- ret = boot_relocate_fdt(&images->lmb, &images->ft_addr,
|
||||
- &images->ft_len);
|
||||
- if (ret)
|
||||
- return ret;
|
||||
- }
|
||||
-#endif
|
||||
-
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
-static void boot_setup_fdt(bootm_headers_t *images)
|
||||
-{
|
||||
-#if defined(CONFIG_MIPS_BOOT_FDT) && defined(CONFIG_OF_LIBFDT)
|
||||
- u64 mem_start = 0;
|
||||
- u64 mem_size = gd->ram_size;
|
||||
-
|
||||
- debug("## setup FDT\n");
|
||||
-
|
||||
- fdt_chosen(images->ft_addr);
|
||||
- fdt_fixup_memory_banks(images->ft_addr, &mem_start, &mem_size, 1);
|
||||
- fdt_fixup_ethernet(images->ft_addr);
|
||||
- fdt_initrd(images->ft_addr, images->initrd_start, images->initrd_end);
|
||||
-
|
||||
-#if defined(CONFIG_OF_BOARD_SETUP)
|
||||
- ft_board_setup(images->ft_addr, gd->bd);
|
||||
-#endif
|
||||
-#endif
|
||||
-}
|
||||
-
|
||||
static void linux_cmdline_init(void)
|
||||
{
|
||||
linux_argc = 1;
|
||||
@@ -197,18 +141,6 @@ static void linux_cmdline_append(bootm_headers_t *images)
|
||||
}
|
||||
}
|
||||
|
||||
-static void boot_cmdline_linux(bootm_headers_t *images)
|
||||
-{
|
||||
- if (mips_boot_cmdline_legacy && !images->ft_len) {
|
||||
- linux_cmdline_legacy(images);
|
||||
-
|
||||
- if (!mips_boot_env_legacy)
|
||||
- linux_cmdline_append(images);
|
||||
-
|
||||
- linux_cmdline_dump();
|
||||
- }
|
||||
-}
|
||||
-
|
||||
static void linux_env_init(void)
|
||||
{
|
||||
linux_env = (char **)(((ulong) linux_argp + 15) & ~15);
|
||||
@@ -288,13 +220,81 @@ static void linux_env_legacy(bootm_headers_t *images)
|
||||
}
|
||||
}
|
||||
|
||||
+static int boot_reloc_ramdisk(bootm_headers_t *images)
|
||||
+{
|
||||
+ ulong rd_len = images->rd_end - images->rd_start;
|
||||
+
|
||||
+ /*
|
||||
+ * In case of legacy uImage's, relocation of ramdisk is already done
|
||||
+ * by do_bootm_states() and should not repeated in 'bootm prep'.
|
||||
+ */
|
||||
+ if (images->state & BOOTM_STATE_RAMDISK) {
|
||||
+ debug("## Ramdisk already relocated\n");
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ return boot_ramdisk_high(&images->lmb, images->rd_start,
|
||||
+ rd_len, &images->initrd_start, &images->initrd_end);
|
||||
+}
|
||||
+
|
||||
+static int boot_reloc_fdt(bootm_headers_t *images)
|
||||
+{
|
||||
+ /*
|
||||
+ * In case of legacy uImage's, relocation of FDT is already done
|
||||
+ * by do_bootm_states() and should not repeated in 'bootm prep'.
|
||||
+ */
|
||||
+ if (images->state & BOOTM_STATE_FDT) {
|
||||
+ debug("## FDT already relocated\n");
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+#if CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && CONFIG_IS_ENABLED(OF_LIBFDT)
|
||||
+ boot_fdt_add_mem_rsv_regions(&images->lmb, images->ft_addr);
|
||||
+ return boot_relocate_fdt(&images->lmb, &images->ft_addr,
|
||||
+ &images->ft_len);
|
||||
+#else
|
||||
+ return 0;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+int arch_fixup_memory_node(void *blob)
|
||||
+{
|
||||
+#if CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && CONFIG_IS_ENABLED(OF_LIBFDT)
|
||||
+ u64 mem_start = 0;
|
||||
+ u64 mem_size = gd->ram_size;
|
||||
+
|
||||
+ return fdt_fixup_memory_banks(blob, &mem_start, &mem_size, 1);
|
||||
+#else
|
||||
+ return 0;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+static int boot_setup_fdt(bootm_headers_t *images)
|
||||
+{
|
||||
+ return image_setup_libfdt(images, images->ft_addr, images->ft_len,
|
||||
+ &images->lmb);
|
||||
+}
|
||||
+
|
||||
static void boot_prep_linux(bootm_headers_t *images)
|
||||
{
|
||||
- if (mips_boot_env_legacy && !images->ft_len)
|
||||
- linux_env_legacy(images);
|
||||
+ boot_reloc_ramdisk(images);
|
||||
|
||||
- if (images->ft_len)
|
||||
+ if (CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && images->ft_len) {
|
||||
+ boot_reloc_fdt(images);
|
||||
boot_setup_fdt(images);
|
||||
+ } else {
|
||||
+ if (CONFIG_IS_ENABLED(CONFIG_MIPS_BOOT_ENV_LEGACY))
|
||||
+ linux_env_legacy(images);
|
||||
+
|
||||
+ if (CONFIG_IS_ENABLED(MIPS_BOOT_CMDLINE_LEGACY)) {
|
||||
+ linux_cmdline_legacy(images);
|
||||
+
|
||||
+ if (!CONFIG_IS_ENABLED(CONFIG_MIPS_BOOT_ENV_LEGACY))
|
||||
+ linux_cmdline_append(images);
|
||||
+
|
||||
+ linux_cmdline_dump();
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
static void boot_jump_linux(bootm_headers_t *images)
|
||||
@@ -327,35 +327,28 @@ static void boot_jump_linux(bootm_headers_t *images)
|
||||
int do_bootm_linux(int flag, int argc, char * const argv[],
|
||||
bootm_headers_t *images)
|
||||
{
|
||||
- int ret;
|
||||
-
|
||||
/* No need for those on MIPS */
|
||||
if (flag & BOOTM_STATE_OS_BD_T)
|
||||
return -1;
|
||||
|
||||
- if (flag & BOOTM_STATE_OS_CMDLINE) {
|
||||
- boot_cmdline_linux(images);
|
||||
+ /*
|
||||
+ * Cmdline init has been moved to 'bootm prep' because it has to be
|
||||
+ * done after relocation of ramdisk to always pass correct values
|
||||
+ * for rd_start and rd_size to Linux kernel.
|
||||
+ */
|
||||
+ if (flag & BOOTM_STATE_OS_CMDLINE)
|
||||
return 0;
|
||||
- }
|
||||
|
||||
if (flag & BOOTM_STATE_OS_PREP) {
|
||||
boot_prep_linux(images);
|
||||
return 0;
|
||||
}
|
||||
|
||||
- if (flag & BOOTM_STATE_OS_GO) {
|
||||
+ if (flag & (BOOTM_STATE_OS_GO | BOOTM_STATE_OS_FAKE_GO)) {
|
||||
boot_jump_linux(images);
|
||||
return 0;
|
||||
}
|
||||
|
||||
- ret = boot_setup_linux(images);
|
||||
- if (ret)
|
||||
- return ret;
|
||||
-
|
||||
- boot_cmdline_linux(images);
|
||||
- boot_prep_linux(images);
|
||||
- boot_jump_linux(images);
|
||||
-
|
||||
/* does not return */
|
||||
return 1;
|
||||
}
|
||||
--
|
||||
2.6.2
|
||||
|
||||
@@ -1,93 +0,0 @@
|
||||
From ebaf1eda6f3b8a339837bc0dbcbb9002d751ab75 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
|
||||
Date: Sun, 1 Nov 2015 17:36:15 +0100
|
||||
Subject: [PATCH 5/6] MIPS: bootm: use CONFIG_IS_ENABLED() everywhere
|
||||
Organization: O.S. Systems Software LTDA.
|
||||
|
||||
Upstream-Status: Backport [2016.01]
|
||||
|
||||
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
|
||||
Reviewed-by: Tom Rini <trini@konsulko.com>
|
||||
---
|
||||
arch/mips/lib/bootm.c | 33 ++++++++++++++-------------------
|
||||
1 file changed, 14 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
|
||||
index a7eddd3..eed159c 100644
|
||||
--- a/arch/mips/lib/bootm.c
|
||||
+++ b/arch/mips/lib/bootm.c
|
||||
@@ -15,12 +15,6 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
#define LINUX_MAX_ENVS 256
|
||||
#define LINUX_MAX_ARGS 256
|
||||
|
||||
-#if defined(CONFIG_MALTA)
|
||||
-#define mips_boot_malta 1
|
||||
-#else
|
||||
-#define mips_boot_malta 0
|
||||
-#endif
|
||||
-
|
||||
static int linux_argc;
|
||||
static char **linux_argv;
|
||||
static char *linux_argp;
|
||||
@@ -157,7 +151,7 @@ static void linux_env_set(const char *env_name, const char *env_val)
|
||||
strcpy(linux_env_p, env_name);
|
||||
linux_env_p += strlen(env_name);
|
||||
|
||||
- if (mips_boot_malta) {
|
||||
+ if (CONFIG_IS_ENABLED(MALTA)) {
|
||||
linux_env_p++;
|
||||
linux_env[++linux_env_idx] = linux_env_p;
|
||||
} else {
|
||||
@@ -178,14 +172,15 @@ static void linux_env_legacy(bootm_headers_t *images)
|
||||
const char *cp;
|
||||
ulong rd_start, rd_size;
|
||||
|
||||
-#ifdef CONFIG_MEMSIZE_IN_BYTES
|
||||
- sprintf(env_buf, "%lu", (ulong)gd->ram_size);
|
||||
- debug("## Giving linux memsize in bytes, %lu\n", (ulong)gd->ram_size);
|
||||
-#else
|
||||
- sprintf(env_buf, "%lu", (ulong)(gd->ram_size >> 20));
|
||||
- debug("## Giving linux memsize in MB, %lu\n",
|
||||
- (ulong)(gd->ram_size >> 20));
|
||||
-#endif /* CONFIG_MEMSIZE_IN_BYTES */
|
||||
+ if (CONFIG_IS_ENABLED(MEMSIZE_IN_BYTES)) {
|
||||
+ sprintf(env_buf, "%lu", (ulong)gd->ram_size);
|
||||
+ debug("## Giving linux memsize in bytes, %lu\n",
|
||||
+ (ulong)gd->ram_size);
|
||||
+ } else {
|
||||
+ sprintf(env_buf, "%lu", (ulong)(gd->ram_size >> 20));
|
||||
+ debug("## Giving linux memsize in MB, %lu\n",
|
||||
+ (ulong)(gd->ram_size >> 20));
|
||||
+ }
|
||||
|
||||
rd_start = UNCACHED_SDRAM(images->initrd_start);
|
||||
rd_size = images->initrd_end - images->initrd_start;
|
||||
@@ -214,7 +209,7 @@ static void linux_env_legacy(bootm_headers_t *images)
|
||||
if (cp)
|
||||
linux_env_set("eth1addr", cp);
|
||||
|
||||
- if (mips_boot_malta) {
|
||||
+ if (CONFIG_IS_ENABLED(MALTA)) {
|
||||
sprintf(env_buf, "%un8r", gd->baudrate);
|
||||
linux_env_set("modetty0", env_buf);
|
||||
}
|
||||
@@ -307,13 +302,13 @@ static void boot_jump_linux(bootm_headers_t *images)
|
||||
|
||||
bootstage_mark(BOOTSTAGE_ID_RUN_OS);
|
||||
|
||||
- if (mips_boot_malta)
|
||||
+ if (CONFIG_IS_ENABLED(MALTA))
|
||||
linux_extra = gd->ram_size;
|
||||
|
||||
-#ifdef CONFIG_BOOTSTAGE_FDT
|
||||
+#if CONFIG_IS_ENABLED(BOOTSTAGE_FDT)
|
||||
bootstage_fdt_add_report();
|
||||
#endif
|
||||
-#ifdef CONFIG_BOOTSTAGE_REPORT
|
||||
+#if CONFIG_IS_ENABLED(BOOTSTAGE_REPORT)
|
||||
bootstage_report();
|
||||
#endif
|
||||
|
||||
--
|
||||
2.6.2
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,19 +0,0 @@
|
||||
require u-boot.inc
|
||||
|
||||
DEPENDS += "dtc-native"
|
||||
|
||||
# This revision corresponds to the tag "v2015.10"
|
||||
# We use the revision in order to avoid having to fetch it from the
|
||||
# repo during parse
|
||||
SRCREV = "5ec0003b19cbdf06ccd6941237cbc0d1c3468e2d"
|
||||
|
||||
SRC_URI += " \
|
||||
file://0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch \
|
||||
file://0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch \
|
||||
file://0003-common-board_f-enable-setup_board_part1-for-MIPS.patch \
|
||||
file://0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch \
|
||||
file://0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch \
|
||||
file://0006-Replace-extern-inline-with-static-inline.patch \
|
||||
"
|
||||
|
||||
PV = "v2015.10+git${SRCPV}"
|
||||
@@ -0,0 +1,10 @@
|
||||
require u-boot.inc
|
||||
|
||||
DEPENDS += "dtc-native"
|
||||
|
||||
# This revision corresponds to the tag "v2016.01"
|
||||
# We use the revision in order to avoid having to fetch it from the
|
||||
# repo during parse
|
||||
SRCREV = "fa85e826c16b9ce1ad302a57e9c4b24db0d8b930"
|
||||
|
||||
PV = "v2016.01+git${SRCPV}"
|
||||
Reference in New Issue
Block a user