[U-Boot] Pull request, u-boot-tegra/master

Message ID CACih+8VNw-m7fY4bf_f9ftpgiMgVzM-F+yUfyn1pAkrYXEomEw@mail.gmail.com
State Accepted
Delegated to: Tom Rini
Headers show
Series
  • [U-Boot] Pull request, u-boot-tegra/master
Related show

Pull-request

git://git.denx.de/u-boot-tegra.git master

Message

Tom Warren Jan. 12, 2018, 5:37 p.m.
Tom,

Please pull u-boot-tegra/master into U-Boot/master. Thanks!

All Tegra builds are OK, and Stephen's automated test system reports that
all tests pass.

The following changes since commit 373b9003410b44a1133060c2e63483b278fb476b:

  Merge git://git.denx.de/u-boot-sunxi (2018-01-11 14:14:19 -0500)

are available in the git repository at:

  git://git.denx.de/u-boot-tegra.git master

for you to fetch changes up to 5fed97af20da955625cc06563a725b49cebb99eb:

  Makefile: ensure DTB doesn't overflow into initial stack (2018-01-12
10:12:32 -0700)

----------------------------------------------------------------
Stephen Warren (14):
      ARM: tegra: don't use CONFIG_SPL_TEXT_BASE when no SPL
      ARM: tegra: remove SPL config for non-SPL SoCs
      ARMv8: Allow dynamic early stack pointer
      ARM: tegra: use CONFIG_SYS_INIT_SP_BSS_OFFSET
      ARMv8: add optional Linux kernel image header
      ARM: tegra: use LINUX_KERNEL_IMAGE_HEADER
      ARM: Tegra186: mem parsing fixes from downstream
      ARM: bootm: don't assume sp is in DRAM bank 0
      ARM: Tegra186: search for best RAM bank
      ARM: tegra: p2771-000: increase max DRAM bank count
      ARM: Tegra186: don't map memory not in RAM banks
      ARM: Tegra186: calculate load addresses at boot
      ARM: Tegra: p2771-0000: use calculate env var feature
      Makefile: ensure DTB doesn't overflow into initial stack

 Makefile                                           |  31 +++
 arch/arm/Kconfig                                   |  30 +++
 .../arm/cpu/armv8/linux-kernel-image-header-vars.h |  86 +++++++
 arch/arm/cpu/armv8/start.S                         |   4 +-
 arch/arm/cpu/armv8/u-boot.lds                      |   4 +
 arch/arm/dts/tegra-u-boot.dtsi                     |  15 +-
 arch/arm/include/asm/boot0-linux-kernel-header.h   |  49 ++++
 arch/arm/lib/bootm.c                               |  15 +-
 arch/arm/lib/crt0_64.S                             |   3 +
 arch/arm/mach-tegra/Kconfig                        |   6 +
 arch/arm/mach-tegra/arm64-mmu.c                    |   3 +-
 arch/arm/mach-tegra/tegra186/Kconfig               |   3 +
 arch/arm/mach-tegra/tegra186/nvtboot_board.c       | 265
++++++++++++++++++++-
 arch/arm/mach-tegra/tegra186/nvtboot_mem.c         | 144 ++++++++---
 arch/arm/mach-tegra/tegra210/Kconfig               |   3 +
 include/configs/p2771-0000.h                       |  23 ++
 include/configs/tegra-common.h                     |   4 +
 include/configs/tegra186-common.h                  |  10 -
 include/configs/tegra210-common.h                  |  10 -
 19 files changed, 646 insertions(+), 62 deletions(-)
 create mode 100644 arch/arm/cpu/armv8/linux-kernel-image-header-vars.h
 create mode 100644 arch/arm/include/asm/boot0-linux-kernel-header.h

Thanks,

Tom

Comments

Tom Rini Jan. 15, 2018, 1:53 p.m. | #1
On Fri, Jan 12, 2018 at 10:37:06AM -0700, Tom Warren wrote:

> Tom,
> 
> Please pull u-boot-tegra/master into U-Boot/master. Thanks!
> 
> All Tegra builds are OK, and Stephen's automated test system reports that
> all tests pass.
> 
> The following changes since commit 373b9003410b44a1133060c2e63483b278fb476b:
> 
>   Merge git://git.denx.de/u-boot-sunxi (2018-01-11 14:14:19 -0500)
> 
> are available in the git repository at:
> 
>   git://git.denx.de/u-boot-tegra.git master
> 
> for you to fetch changes up to 5fed97af20da955625cc06563a725b49cebb99eb:
> 
>   Makefile: ensure DTB doesn't overflow into initial stack (2018-01-12
> 10:12:32 -0700)
> 

Applied to u-boot/master, thanks!

But please note the following checkpatch.pl issues that should be looked
into and possibly addressed:

CHECK: Macro argument reuse 'data' - possible side-effects?
#93: FILE: arch/arm/cpu/armv8/linux-kernel-image-header-vars.h:36:
+#define DATA_LE32(data)				\
+	((((data) & 0x000000ff) << 24) |	\
+	 (((data) & 0x0000ff00) << 8)  |	\
+	 (((data) & 0x00ff0000) >> 8)  |	\
+	 (((data) & 0xff000000) >> 24))

CHECK: Macro argument reuse 'data' - possible side-effects?
#102: FILE: arch/arm/cpu/armv8/linux-kernel-image-header-vars.h:45:
+#define DEFINE_IMAGE_LE64(sym, data)				\
+	sym##_lo32 = DATA_LE32((data) & 0xffffffff);		\
+	sym##_hi32 = DATA_LE32((data) >> 32)

CHECK: Macro argument reuse 'a' - possible side-effects?
#106: FILE: arch/arm/cpu/armv8/linux-kernel-image-header-vars.h:49:
+#define __MAX(a, b)		(((a) > (b)) ? (a) : (b))

CHECK: Macro argument reuse 'b' - possible side-effects?
#106: FILE: arch/arm/cpu/armv8/linux-kernel-image-header-vars.h:49:
+#define __MAX(a, b)		(((a) > (b)) ? (a) : (b))

WARNING: macros should not use a trailing semicolon
#138: FILE: arch/arm/cpu/armv8/linux-kernel-image-header-vars.h:81:
+#define HEAD_SYMBOLS						\
+	DEFINE_IMAGE_LE64(_kernel_size_le, __MEM_USAGE);	\
+	DEFINE_IMAGE_LE64(_kernel_offset_le, TEXT_OFFSET);	\
+	DEFINE_IMAGE_LE64(_kernel_flags_le, __HEAD_FLAGS);

ERROR: spaces required around that ':' (ctx:VxE)
#213: FILE: arch/arm/include/asm/boot0-linux-kernel-header.h:36:
+_start:
       ^

WARNING: line over 80 characters
#217: FILE: arch/arm/include/asm/boot0-linux-kernel-header.h:40:
+	b	reset				/* branch to kernel start, magic */

WARNING: line over 80 characters
#219: FILE: arch/arm/include/asm/boot0-linux-kernel-header.h:42:
+	le64sym	_kernel_offset_le		/* Image load offset from start of RAM, little-endian */

WARNING: line over 80 characters
#220: FILE: arch/arm/include/asm/boot0-linux-kernel-header.h:43:
+	le64sym	_kernel_size_le			/* Effective size of kernel image, little-endian */

WARNING: line over 80 characters
#221: FILE: arch/arm/include/asm/boot0-linux-kernel-header.h:44:
+	le64sym	_kernel_flags_le		/* Informative flags, little-endian */

total: 1 errors, 6 warnings, 4 checks, 176 lines checked
ERROR: space required after that close brace '}'
#44: FILE: arch/arm/mach-tegra/tegra186/nvtboot_mem.c:32:
+} ram_banks[CONFIG_NR_DRAM_BANKS] = {{1}};

total: 1 errors, 0 warnings, 0 checks, 48 lines checked
WARNING: externs should be avoided in .c files
#58: FILE: arch/arm/mach-tegra/tegra186/nvtboot_mem.c:32:
+extern struct mm_region tegra_mem_map[];

total: 0 errors, 1 warnings, 0 checks, 138 lines checked
WARNING: externs should be avoided in .c files
#53: FILE: arch/arm/mach-tegra/tegra186/nvtboot_board.c:29:
+extern struct mm_region tegra_mem_map[];

total: 0 errors, 1 warnings, 0 checks, 286 lines checked
Stephen Warren Jan. 16, 2018, 5:47 p.m. | #2
On 01/15/2018 06:53 AM, Tom Rini wrote:
> On Fri, Jan 12, 2018 at 10:37:06AM -0700, Tom Warren wrote:
> 
>> Tom,
>>
>> Please pull u-boot-tegra/master into U-Boot/master. Thanks!
>>
>> All Tegra builds are OK, and Stephen's automated test system reports that
>> all tests pass.
>>
>> The following changes since commit 373b9003410b44a1133060c2e63483b278fb476b:
>>
>>    Merge git://git.denx.de/u-boot-sunxi (2018-01-11 14:14:19 -0500)
>>
>> are available in the git repository at:
>>
>>    git://git.denx.de/u-boot-tegra.git master
>>
>> for you to fetch changes up to 5fed97af20da955625cc06563a725b49cebb99eb:
>>
>>    Makefile: ensure DTB doesn't overflow into initial stack (2018-01-12
>> 10:12:32 -0700)
> 
> Applied to u-boot/master, thanks!
> 
> But please note the following checkpatch.pl issues that should be looked
> into and possibly addressed:

Most of these are due to importing code verbatim from the Linux kernel. 
I figured that keeping the code identical to upstream was better than 
locally fixing the checkpatch issues and putting the two sets of source 
out-of-sync. I believe the only two things I introduced were:

> ERROR: space required after that close brace '}'
> #44: FILE: arch/arm/mach-tegra/tegra186/nvtboot_mem.c:32:
> +} ram_banks[CONFIG_NR_DRAM_BANKS] = {{1}};

That's a bogus issue.

> total: 1 errors, 0 warnings, 0 checks, 48 lines checked
> WARNING: externs should be avoided in .c files
> #58: FILE: arch/arm/mach-tegra/tegra186/nvtboot_mem.c:32:
> +extern struct mm_region tegra_mem_map[];
> 
> total: 0 errors, 1 warnings, 0 checks, 138 lines checked
> WARNING: externs should be avoided in .c files
> #53: FILE: arch/arm/mach-tegra/tegra186/nvtboot_board.c:29:
> +extern struct mm_region tegra_mem_map[];

I suppose those could be fixed.
Tom Rini Jan. 16, 2018, 6:14 p.m. | #3
On Tue, Jan 16, 2018 at 10:47:43AM -0700, Stephen Warren wrote:
> On 01/15/2018 06:53 AM, Tom Rini wrote:
> >On Fri, Jan 12, 2018 at 10:37:06AM -0700, Tom Warren wrote:
> >
> >>Tom,
> >>
> >>Please pull u-boot-tegra/master into U-Boot/master. Thanks!
> >>
> >>All Tegra builds are OK, and Stephen's automated test system reports that
> >>all tests pass.
> >>
> >>The following changes since commit 373b9003410b44a1133060c2e63483b278fb476b:
> >>
> >>   Merge git://git.denx.de/u-boot-sunxi (2018-01-11 14:14:19 -0500)
> >>
> >>are available in the git repository at:
> >>
> >>   git://git.denx.de/u-boot-tegra.git master
> >>
> >>for you to fetch changes up to 5fed97af20da955625cc06563a725b49cebb99eb:
> >>
> >>   Makefile: ensure DTB doesn't overflow into initial stack (2018-01-12
> >>10:12:32 -0700)
> >
> >Applied to u-boot/master, thanks!
> >
> >But please note the following checkpatch.pl issues that should be looked
> >into and possibly addressed:
> 
> Most of these are due to importing code verbatim from the Linux kernel. I
> figured that keeping the code identical to upstream was better than locally
> fixing the checkpatch issues and putting the two sets of source out-of-sync.

Agreed.

> I believe the only two things I introduced were:
> 
> >ERROR: space required after that close brace '}'
> >#44: FILE: arch/arm/mach-tegra/tegra186/nvtboot_mem.c:32:
> >+} ram_banks[CONFIG_NR_DRAM_BANKS] = {{1}};
> 
> That's a bogus issue.
> 
> >total: 1 errors, 0 warnings, 0 checks, 48 lines checked
> >WARNING: externs should be avoided in .c files
> >#58: FILE: arch/arm/mach-tegra/tegra186/nvtboot_mem.c:32:
> >+extern struct mm_region tegra_mem_map[];
> >
> >total: 0 errors, 1 warnings, 0 checks, 138 lines checked
> >WARNING: externs should be avoided in .c files
> >#53: FILE: arch/arm/mach-tegra/tegra186/nvtboot_board.c:29:
> >+extern struct mm_region tegra_mem_map[];
> 
> I suppose those could be fixed.

Thanks for looking!