Re: [PATCH 1/2] MIPS: ZBOOT: copy appended dtb to the end of the kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 17 Jun 2016 14:07:39 +0200
Jonas Gorski <jogo@xxxxxxxxxxx> wrote:

> Instead of rewriting the arguments, just move the appended dtb to where
> the decompressed kernel expects it. This eliminates the need for special
> casing vmlinuz.bin appended dtb files.
> 
> Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx>
> ---
>  arch/mips/Kconfig                      | 22 ++--------------------
>  arch/mips/boot/compressed/Makefile     |  1 +
>  arch/mips/boot/compressed/decompress.c | 21 +++++++++++++++++++++
>  arch/mips/boot/compressed/head.S       | 16 ----------------
>  4 files changed, 24 insertions(+), 36 deletions(-)
> 
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index ac91939..0d0f71e 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -2885,10 +2885,10 @@ choice
>  		  the documented boot protocol using a device tree.
>  
>  	config MIPS_RAW_APPENDED_DTB
> -		bool "vmlinux.bin"
> +		bool "vmlinux.bin or vmlinuz.bin"
>  		help
>  		  With this option, the boot code will look for a device tree binary
> -		  DTB) appended to raw vmlinux.bin (without decompressor).
> +		  DTB) appended to raw vmlinux.bin or vmlinuz.bin.
>  		  (e.g. cat vmlinux.bin <filename>.dtb > vmlinux_w_dtb).
>  
>  		  This is meant as a backward compatibility convenience for those
> @@ -2900,24 +2900,6 @@ choice
>  		  look like a DTB header after a reboot if no actual DTB is appended
>  		  to vmlinux.bin.  Do not leave this option active in a production kernel
>  		  if you don't intend to always append a DTB.
> -
> -	config MIPS_ZBOOT_APPENDED_DTB
> -		bool "vmlinuz.bin"
> -		depends on SYS_SUPPORTS_ZBOOT
> -		help
> -		  With this option, the boot code will look for a device tree binary
> -		  DTB) appended to raw vmlinuz.bin (with decompressor).
> -		  (e.g. cat vmlinuz.bin <filename>.dtb > vmlinuz_w_dtb).
> -
> -		  This is meant as a backward compatibility convenience for those
> -		  systems with a bootloader that can't be upgraded to accommodate
> -		  the documented boot protocol using a device tree.
> -
> -		  Beware that there is very little in terms of protection against
> -		  this option being confused by leftover garbage in memory that might
> -		  look like a DTB header after a reboot if no actual DTB is appended
> -		  to vmlinuz.bin.  Do not leave this option active in a production kernel
> -		  if you don't intend to always append a DTB.
>  endchoice
>  
>  choice
> diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile
> index 90aca95..f31ec89 100644
> --- a/arch/mips/boot/compressed/Makefile
> +++ b/arch/mips/boot/compressed/Makefile
> @@ -29,6 +29,7 @@ KBUILD_AFLAGS := $(LINUXINCLUDE) $(KBUILD_AFLAGS) -D__ASSEMBLY__ \
>  	-DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) \
>  	-DKERNEL_ENTRY=$(VMLINUX_ENTRY_ADDRESS)
>  
> +

Could you please remote this extra empty line?

>  # decompressor objects (linked with vmlinuz)
>  vmlinuzobjs-y := $(obj)/head.o $(obj)/decompress.o $(obj)/string.o
>  
> diff --git a/arch/mips/boot/compressed/decompress.c b/arch/mips/boot/compressed/decompress.c
> index 080cd53..e18ab3e 100644
> --- a/arch/mips/boot/compressed/decompress.c
> +++ b/arch/mips/boot/compressed/decompress.c
> @@ -36,6 +36,12 @@ extern void puthex(unsigned long long val);
>  #define puthex(val) do {} while (0)
>  #endif
>  
> +#ifdef CONFIG_MIPS_RAW_APPENDED_DTB

Do we really need this '#ifdef' here?

> +#include <linux/libfdt.h>
> +
> +extern char __appended_dtb[];
> +#endif
> +

-- 
Best regards,
  Antony Pavlov




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux