[PATCH 0/4] mvebu: Make 2nd-stage booting possible

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Sat Feb 25 12:52:38 PST 2017


one specialty of mvebu is that it has a movable register window. Its
base address is configured within this register range, so there is no
way to find out the current position. The BootROM leaves this window at
0xd0000000, however it is beneficial to move it further to the end of
the address range (usually 0xf1000000) to benefit from more continuous
RAM. For this reason one of the first things that barebox does it to
move the window accordingly. If however barebox is loaded as a second
stage image this results in a crash as the register base address
register is already moved.

This series implements that the called image gets the base address from
the barebox header. It defaults to 0xd0000000 which is right for the
(unaware) BootROM and when barebox jumps into such an image the register
position is passed accordingly.

Best regards

Uwe Kleine-König (4):
  mvebu: get initial position of register window from image header
  filetype: Add image type for boot images used on Armada 370 and XP
  kwbimage_v1: add support to boot a mvebu image
  mvebu: netgear-rn2120: make use of mvebu_get_initial_int_reg_base

 arch/arm/Kconfig                                   |  1 +
 arch/arm/boards/netgear-rn2120/lowlevel.c          | 12 ++--
 arch/arm/mach-mvebu/Makefile                       |  1 +
 arch/arm/mach-mvebu/common.c                       |  6 +-
 .../arm/mach-mvebu/include/mach/barebox-arm-head.h | 54 ++++++++++++++
 arch/arm/mach-mvebu/include/mach/common.h          | 17 +++++
 arch/arm/mach-mvebu/kwbootimage.c                  | 84 ++++++++++++++++++++++
 common/filetype.c                                  |  8 +++
 include/filetype.h                                 |  1 +
 9 files changed, 176 insertions(+), 8 deletions(-)
 create mode 100644 arch/arm/mach-mvebu/include/mach/barebox-arm-head.h
 create mode 100644 arch/arm/mach-mvebu/kwbootimage.c


More information about the barebox mailing list