From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Graf Date: Thu, 9 Jun 2016 16:29:03 +0200 Subject: [U-Boot] [PATCH] libfdt: Add option to disable arch_fixup_fdt() calls In-Reply-To: <7bfd9751694a9be0b2c74e10345dfc6e51e5f86b.1465482210.git.michal.simek@xilinx.com> References: <7bfd9751694a9be0b2c74e10345dfc6e51e5f86b.1465482210.git.michal.simek@xilinx.com> Message-ID: <57597D2F.4000707@suse.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 06/09/2016 04:23 PM, Michal Simek wrote: > Disable arch_fixup_fdt() calls for cases where U-Boot shouldn't update > memory setup in DTB file. > One example of usage of this option is to boot OS with different memory > setup than U-Boot use. > > Signed-off-by: Michal Simek Could we instead just have the board file provide a fixup? It could then also fix up the efi memory map. Alex > --- > > Kconfig | 8 ++++++++ > arch/arm/lib/bootm-fdt.c | 2 ++ > common/image-fdt.c | 3 +++ > 3 files changed, 13 insertions(+) > > diff --git a/Kconfig b/Kconfig > index 4b4621666560..3efba624ecff 100644 > --- a/Kconfig > +++ b/Kconfig > @@ -291,6 +291,14 @@ config SYS_CLK_FREQ > help > TODO: Move CONFIG_SYS_CLK_FREQ for all the architecture > > +config DISABLE_ARCH_FIXUP_FDT > + bool "Disable arch_fixup_fdt() call" > + depends on ARM > + help > + Disable FDT memory map syncup before OS boot. This feature can be > + used for booting OS with different memory setup where the part of > + the memory location should be used for different purpose. > + > endmenu # Boot images > > source "common/Kconfig" > diff --git a/arch/arm/lib/bootm-fdt.c b/arch/arm/lib/bootm-fdt.c > index 7677358742e1..a873b778ade9 100644 > --- a/arch/arm/lib/bootm-fdt.c > +++ b/arch/arm/lib/bootm-fdt.c > @@ -24,6 +24,7 @@ > > DECLARE_GLOBAL_DATA_PTR; > > +#ifndef CONFIG_DISABLE_ARCH_FIXUP_FDT > int arch_fixup_fdt(void *blob) > { > bd_t *bd = gd->bd; > @@ -50,3 +51,4 @@ int arch_fixup_fdt(void *blob) > #endif > return ret; > } > +#endif > diff --git a/common/image-fdt.c b/common/image-fdt.c > index 6cac7dbb7f8b..9e05becd464a 100644 > --- a/common/image-fdt.c > +++ b/common/image-fdt.c > @@ -460,6 +460,9 @@ __weak int ft_verify_fdt(void *fdt) > > __weak int arch_fixup_fdt(void *blob) > { > +#ifdef CONFIG_DISABLE_ARCH_FIXUP_FDT > + printf("## Disable arch_fixup_fdt()\n"); > +#endif > return 0; > } >