Message ID | 20200210115346.1.I82bc82f60e739674bce1015b8a7906d3852f0b93@changeid |
---|---|
State | Accepted |
Commit | ac5769cba14ec737d3cab8dad0b30c566d1acc4c |
Headers | show |
Series | stm32mp1: remove fdt_high and initrd_high in environment | expand |
On Mon, Feb 10, 2020 at 11:54:11AM +0100, Patrick Delaunay wrote: > Remove fdt_high and initrd_high (set to 0xffffffff) in stm32mp1 board > enviromnent, and U-Boot always relocate FDT and initrd in bootm command. > > This relocation is limited by CONFIG_SYS_BOOTMAPSZ which indicates > the size of the memory region where it is safe to place data passed > to the Linux kernel (DTB, initrd), it is > a) Less than or equal to RAM size. > b) not within the kernel's highmem region > > So 256M seems large enough in most circumstances and users > can override this value via environment variable "bootm_mapsize" > if needed. > > This modification increases the boot time but avoid assumption > on aligned address for bootm command. > > A user can still define this variables themselves if the FDT or > initrd is either left in-place or copied to a specific location. > > Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com> Reviewed-by: Tom Rini <trini at konsulko.com>
Hi, > From: Patrick DELAUNAY <patrick.delaunay at st.com> > Sent: lundi 10 f?vrier 2020 11:54 > > Remove fdt_high and initrd_high (set to 0xffffffff) in stm32mp1 board enviromnent, > and U-Boot always relocate FDT and initrd in bootm command. > > This relocation is limited by CONFIG_SYS_BOOTMAPSZ which indicates the size > of the memory region where it is safe to place data passed to the Linux kernel > (DTB, initrd), it is > a) Less than or equal to RAM size. > b) not within the kernel's highmem region > > So 256M seems large enough in most circumstances and users can override this > value via environment variable "bootm_mapsize" > if needed. > > This modification increases the boot time but avoid assumption on aligned > address for bootm command. > > A user can still define this variables themselves if the FDT or initrd is either left in- > place or copied to a specific location. > > Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com> > --- Applied to u-boot-stm32/master, thanks! Regards Patrick
diff --git a/include/configs/stm32mp1.h b/include/configs/stm32mp1.h index a66534e027..42717c167e 100644 --- a/include/configs/stm32mp1.h +++ b/include/configs/stm32mp1.h @@ -43,8 +43,14 @@ #define CONFIG_SETUP_MEMORY_TAGS #define CONFIG_INITRD_TAG +/* + * For booting Linux, use the first 256 MB of memory, since this is + * the maximum mapped by the Linux kernel during initialization. + */ +#define CONFIG_SYS_BOOTMAPSZ SZ_256M + /* Extend size of kernel image for uncompression */ -#define CONFIG_SYS_BOOTM_LEN SZ_32M +#define CONFIG_SYS_BOOTM_LEN SZ_32M /* SPL support */ #ifdef CONFIG_SPL @@ -215,8 +221,6 @@ "pxefile_addr_r=0xc4200000\0" \ "splashimage=0xc4300000\0" \ "ramdisk_addr_r=0xc4400000\0" \ - "fdt_high=0xffffffff\0" \ - "initrd_high=0xffffffff\0" \ "altbootcmd=run bootcmd\0" \ "env_default=1\0" \ "env_check=if test $env_default -eq 1;"\
Remove fdt_high and initrd_high (set to 0xffffffff) in stm32mp1 board enviromnent, and U-Boot always relocate FDT and initrd in bootm command. This relocation is limited by CONFIG_SYS_BOOTMAPSZ which indicates the size of the memory region where it is safe to place data passed to the Linux kernel (DTB, initrd), it is a) Less than or equal to RAM size. b) not within the kernel's highmem region So 256M seems large enough in most circumstances and users can override this value via environment variable "bootm_mapsize" if needed. This modification increases the boot time but avoid assumption on aligned address for bootm command. A user can still define this variables themselves if the FDT or initrd is either left in-place or copied to a specific location. Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com> --- include/configs/stm32mp1.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)