On Tue, Mar 15, 2011 at 06:59:31PM +0100, Stephan Linz wrote:
> Generate a PIC executable blob tagged for XL-Boot that copies
> a image from FLASH to its linked address in RAM and executes it.
> 
> Signed-off-by: Stephan Linz <[email protected]>
> ---
>  platforms/image_xlblob.in    |   42 ++++++++++++++++++++++++
>  rules/post/image_xlblob.make |   73 
> ++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 115 insertions(+), 0 deletions(-)
>  create mode 100644 platforms/image_xlblob.in
>  create mode 100644 rules/post/image_xlblob.make
> 
> diff --git a/platforms/image_xlblob.in b/platforms/image_xlblob.in
> new file mode 100644
> index 0000000..4da802c
> --- /dev/null
> +++ b/platforms/image_xlblob.in
> @@ -0,0 +1,42 @@
> +## SECTION=image
> +
> +menuconfig IMAGE_XLBLOB
> +     bool
> +     select HOST_XL_TOOLS
> +     depends on ARCH_MICROBLAZE
> +     prompt "Generate XLBLOB Images        "
> +     help
> +       Generate a PIC executable blob tagged for XL-Boot that copies
> +       a image from FLASH to its linked address in RAM and executes it.
> +
> +if IMAGE_XLBLOB
> +
> +if U_BOOT
> +
> +config IMAGE_XLBLOB_U_BOOT
> +     bool
> +     depends on U_BOOT

"if U_BOOT" and "depends on U_BOOT" is exactly the same. Remove one.

> +     prompt "Generate images/u-boot-xl       "

padding with <space> is only needed to align the "-->" for submenus. I
don't think it's necessary here.

> +     default y
> +     help
> +       Generate a PIC executable blob tagged for XL-Boot that copies
> +       the U-Boot image from FLASH to its linked address in RAM and
> +       executes it.
> +
> +endif
> +
> +if KERNEL
> +
> +config IMAGE_XLBLOB_KERNEL
> +     bool
> +     depends on KERNEL

dito.

Michael

> +     prompt "Generate images/linuximage-xl   "
> +     default y
> +     help
> +       Generate a PIC executable blob tagged for XL-Boot that copies
> +       the Linux kernel image from FLASH to its linked address in RAM
> +       and executes it.
> +
> +endif
> +
> +endif
> diff --git a/rules/post/image_xlblob.make b/rules/post/image_xlblob.make
> new file mode 100644
> index 0000000..407931a
> --- /dev/null
> +++ b/rules/post/image_xlblob.make
> @@ -0,0 +1,73 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2011 by Stephan Linz <[email protected]>
> +#
> +# See CREDITS for details about who has contributed to this project.
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +ifeq ($(PTXCONF_IMAGE_XLBLOB_U_BOOT),y)
> +
> +U_BOOT_PAYLOAD               := $(U_BOOT_DIR)/u-boot
> +U_BOOT_PAYLOAD_TYPE  := U-Boot
> +U_BOOT_PAYLOAD_NAME  := U-Boot-$(U_BOOT_VERSION)
> +
> +SEL_ROOTFS-$(PTXCONF_U_BOOT) += $(IMAGEDIR)/u-boot-xl.bin
> +SEL_ROOTFS-$(PTXCONF_U_BOOT) += $(IMAGEDIR)/u-boot-xl.srec
> +SEL_ROOTFS-$(PTXCONF_U_BOOT) += $(IMAGEDIR)/u-boot-xl.elf
> +
> +$(U_BOOT_DIR)/u-boot-xl.bin \
> +$(U_BOOT_DIR)/u-boot-xl.srec \
> +$(U_BOOT_DIR)/u-boot-xl.elf: $(STATEDIR)/u-boot.xlblob
> +
> +$(IMAGEDIR)/u-boot-xl.%: $(U_BOOT_DIR)/u-boot-xl.% 
> $(STATEDIR)/u-boot.targetinstall
> +     @echo -n "Creating '$(notdir $(@))' from '$(notdir $(<))'..."
> +     @install -m 644 "$(<)" "$(@)"
> +     @echo "done."
> +
> +endif
> +
> +ifeq ($(PTXCONF_IMAGE_XLBLOB_KERNEL),y)
> +
> +KERNEL_PAYLOAD               := $(KERNEL_IMAGE_PATH_y)
> +KERNEL_PAYLOAD_TYPE  := Linux
> +KERNEL_PAYLOAD_NAME  := Linux-$(KERNEL_VERSION)
> +
> +SEL_ROOTFS-$(PTXCONF_IMAGE_KERNEL)   += $(IMAGEDIR)/linuximage-xl.bin
> +SEL_ROOTFS-$(PTXCONF_IMAGE_KERNEL)   += $(IMAGEDIR)/linuximage-xl.srec
> +SEL_ROOTFS-$(PTXCONF_IMAGE_KERNEL)   += $(IMAGEDIR)/linuximage-xl.elf
> +
> +$(KERNEL_IMAGE_PATH_y)-xl.bin \
> +$(KERNEL_IMAGE_PATH_y)-xl.srec \
> +$(KERNEL_IMAGE_PATH_y)-xl.elf: $(STATEDIR)/kernel.xlblob
> +
> +ifeq ($(PTXCONF_IMAGE_KERNEL_INITRAMFS),y)
> +$(IMAGEDIR)/linuximage-xl.bin \
> +$(IMAGEDIR)/linuximage-xl.srec \
> +$(IMAGEDIR)/linuximage-xl.elf: $(STATEDIR)/image_kernel.compile
> +endif
> +
> +$(IMAGEDIR)/linuximage-xl.%: $(KERNEL_IMAGE_PATH_y)-xl.% 
> $(STATEDIR)/kernel.targetinstall
> +     @echo -n "Creating '$(notdir $(@))' from '$(notdir $(<))'..."
> +     @install -m 644 "$(<)" "$(@)"
> +     @echo "done."
> +
> +endif
> +
> +$(STATEDIR)/%.xlblob: $(STATEDIR)/%.compile
> +     @$(call targetinfo)
> +     @$(call xilinx/xlblob, $(PTX_MAP_TO_PACKAGE_$(*)),                      
> \
> +             $($(PTX_MAP_TO_PACKAGE_$(*))_DIR),                              
> \
> +             $($(PTX_MAP_TO_PACKAGE_$(*))_PAYLOAD),                          
> \
> +             $($(PTX_MAP_TO_PACKAGE_$(*))_PAYLOAD_TYPE),                     
> \
> +             $($(PTX_MAP_TO_PACKAGE_$(*))_PAYLOAD_NAME))
> +     @$(call touch)
> +
> +xilinx/xlblob = \
> +     $(call world/env, $(1))                                                 
> \
> +     cd $(2) && $(CROSS_ENV)                                                 
> \
> +             $(PTXCONF_SYSROOT_HOST)/bin/mkxlblob -t $(4) -n $(5) -o $(3)-xl 
> $(3)
> +
> +# vim: syntax=make
> -- 
> 1.6.0.4
> 
> 
> -- 
> ptxdist mailing list
> [email protected]
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

-- 
ptxdist mailing list
[email protected]

Reply via email to