ARM: rmobile: Convert to bootm_size

Convert all Renesas R-Car boards to bootm_size of 256 MiB and drop both
fdt_high and initrd_high. This change implies that the FDT and initrd
will always be copied into the first 256 MiB of RAM instead of being
used in place, which can cause various kinds of inobvious problems.

The simpler problems include FDT or initrd being overwritten or being
used from unaligned addresses, especially on ARM64. The overhead of
copying the FDT to aligned location is negligible and these problems
go away, so the benefit is significant.

Regarding alignment problems with fitImage. The alignment of DT properties
is always 32 bits, which implies that the alignment of the "data" property
in fitImage is also 32 bits. The /incbin/ syntax plays no role here. The
kernel expects all elements, including DT and initrd, to be aligned to
64 bits on ARM64, thus using them in place may not be possible. Using the
bootm_size assures correct alignment, again with negligible overhead.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Tom Rini <trini@konsulko.com>
This commit is contained in:
Marek Vasut 2018-11-27 00:19:03 +01:00 committed by Marek Vasut
parent cf345760bd
commit 07a8060a12
8 changed files with 8 additions and 16 deletions

View File

@ -39,8 +39,7 @@
#define CONFIG_SYS_CLK_FREQ RMOBILE_XTAL_CLK #define CONFIG_SYS_CLK_FREQ RMOBILE_XTAL_CLK
#define CONFIG_EXTRA_ENV_SETTINGS \ #define CONFIG_EXTRA_ENV_SETTINGS \
"fdt_high=0xffffffff\0" \ "bootm_size=0x10000000\0"
"initrd_high=0xffffffff\0"
/* SPL support */ /* SPL support */
#define CONFIG_SPL_TEXT_BASE 0xe6300000 #define CONFIG_SPL_TEXT_BASE 0xe6300000

View File

@ -35,8 +35,7 @@
#define CONFIG_SYS_CLK_FREQ RMOBILE_XTAL_CLK #define CONFIG_SYS_CLK_FREQ RMOBILE_XTAL_CLK
#define CONFIG_EXTRA_ENV_SETTINGS \ #define CONFIG_EXTRA_ENV_SETTINGS \
"fdt_high=0xffffffff\0" \ "bootm_size=0x10000000\0"
"initrd_high=0xffffffff\0"
/* SPL support */ /* SPL support */
#define CONFIG_SPL_TEXT_BASE 0xe6300000 #define CONFIG_SPL_TEXT_BASE 0xe6300000

View File

@ -35,8 +35,7 @@
#define CONFIG_SYS_CLK_FREQ RMOBILE_XTAL_CLK #define CONFIG_SYS_CLK_FREQ RMOBILE_XTAL_CLK
#define CONFIG_EXTRA_ENV_SETTINGS \ #define CONFIG_EXTRA_ENV_SETTINGS \
"fdt_high=0xffffffff\0" \ "bootm_size=0x10000000\0"
"initrd_high=0xffffffff\0"
/* SPL support */ /* SPL support */
#define CONFIG_SPL_TEXT_BASE 0xe6300000 #define CONFIG_SPL_TEXT_BASE 0xe6300000

View File

@ -36,8 +36,7 @@
#define CONFIG_SYS_CLK_FREQ RMOBILE_XTAL_CLK #define CONFIG_SYS_CLK_FREQ RMOBILE_XTAL_CLK
#define CONFIG_EXTRA_ENV_SETTINGS \ #define CONFIG_EXTRA_ENV_SETTINGS \
"fdt_high=0xffffffff\0" \ "bootm_size=0x10000000\0"
"initrd_high=0xffffffff\0"
/* SPL support */ /* SPL support */
#define CONFIG_SPL_TEXT_BASE 0xe6300000 #define CONFIG_SPL_TEXT_BASE 0xe6300000

View File

@ -40,8 +40,7 @@
#define CONFIG_SYS_CLK_FREQ RMOBILE_XTAL_CLK #define CONFIG_SYS_CLK_FREQ RMOBILE_XTAL_CLK
#define CONFIG_EXTRA_ENV_SETTINGS \ #define CONFIG_EXTRA_ENV_SETTINGS \
"fdt_high=0xffffffff\0" \ "bootm_size=0x10000000\0"
"initrd_high=0xffffffff\0"
/* SPL support */ /* SPL support */
#define CONFIG_SPL_TEXT_BASE 0xe6300000 #define CONFIG_SPL_TEXT_BASE 0xe6300000

View File

@ -59,8 +59,7 @@
#define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE) #define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE)
#define CONFIG_EXTRA_ENV_SETTINGS \ #define CONFIG_EXTRA_ENV_SETTINGS \
"fdt_high=0xffffffffffffffff\0" \ "bootm_size=0x10000000\0"
"initrd_high=0xffffffffffffffff\0"
#define CONFIG_BOOTCOMMAND \ #define CONFIG_BOOTCOMMAND \
"tftp 0x48080000 Image; " \ "tftp 0x48080000 Image; " \

View File

@ -40,8 +40,7 @@
#define CONFIG_SYS_CLK_FREQ RMOBILE_XTAL_CLK #define CONFIG_SYS_CLK_FREQ RMOBILE_XTAL_CLK
#define CONFIG_EXTRA_ENV_SETTINGS \ #define CONFIG_EXTRA_ENV_SETTINGS \
"fdt_high=0xffffffff\0" \ "bootm_size=0x10000000\0"
"initrd_high=0xffffffff\0"
/* SPL support */ /* SPL support */
#define CONFIG_SPL_TEXT_BASE 0xe6300000 #define CONFIG_SPL_TEXT_BASE 0xe6300000

View File

@ -44,8 +44,7 @@
#define CONFIG_SYS_CLK_FREQ RMOBILE_XTAL_CLK #define CONFIG_SYS_CLK_FREQ RMOBILE_XTAL_CLK
#define CONFIG_EXTRA_ENV_SETTINGS \ #define CONFIG_EXTRA_ENV_SETTINGS \
"fdt_high=0xffffffff\0" \ "bootm_size=0x10000000\0"
"initrd_high=0xffffffff\0"
/* SPL support */ /* SPL support */
#define CONFIG_SPL_TEXT_BASE 0xe6300000 #define CONFIG_SPL_TEXT_BASE 0xe6300000