I think you should test before you check-in.


________________________________

        From: [email protected]
[mailto:[email protected]] On Behalf Of
[email protected]
        Sent: Wednesday, January 20, 2010 8:01 AM
        To: [email protected]
        Subject: [Linux-kernel-commits] [8199] trunk/arch/blackfin:
blackfin xip: push the 64 byte header into the build system and let the
xip version use arbitrary entry points too now that the mkimage util
doesnt require a specific -e with the -x option
        
        

                Revision 
                8199
<http://blackfin.uclinux.org/gf/project/linux-kernel/scmsvn/?action=brow
se&path=/&view=rev&root=linux-kernel&revision=8199>  
                Author 
                vapier <http://blackfin.uclinux.org/gf/user/vapier/>  
                Date 
                2010-01-19 19:01:26 -0500 (Tue, 19 Jan 2010) 


        Log Message

        blackfin xip: push the 64 byte header into the build system and
let the xip version use arbitrary entry points too now that the mkimage
util doesnt require a specific -e with the -x option

        Modified Paths


        *       trunk/arch/blackfin/Kconfig 
        *       trunk/arch/blackfin/Makefile 
        *       trunk/arch/blackfin/boot/Makefile 
        *       trunk/arch/blackfin/kernel/vmlinux.lds.S 
        *       trunk/arch/blackfin/mach-common/head.S 


        Diff

        

        Modified: trunk/arch/blackfin/Kconfig (8198 => 8199)

        
        --- trunk/arch/blackfin/Kconfig 2010-01-19 23:33:08 UTC (rev
8198)
        +++ trunk/arch/blackfin/Kconfig 2010-01-20 00:01:26 UTC (rev
8199)
        @@ -403,11 +403,19 @@
         config ROM_BASE
                hex "Kernel ROM Base"
                depends on ROMKERNEL
        -       default "0x20040000"
        +       default "0x20080040"
                range 0x20000000 0x20400000 if !(BF54x || BF561)
                range 0x20000000 0x30000000 if (BF54x || BF561)
                help
        +         Make sure your ROM base does not include any
file-header
        +         information that is prepended to the kernel.
         
        +         For example, the bootable U-Boot format (created with
        +         mkimage) has a 64 byte header (0x40).  So while the
image
        +         you write to flash might start at say 0x20080000, you
have
        +         to add 0x40 to get the kernel's ROM base as it will
come
        +         after the header.
        +
         comment "Clock/PLL Setup"
         
         config CLKIN_HZ
        
        

        Modified: trunk/arch/blackfin/Makefile (8198 => 8199)

        
        --- trunk/arch/blackfin/Makefile        2010-01-19 23:33:08 UTC
(rev 8198)
        +++ trunk/arch/blackfin/Makefile        2010-01-20 00:01:26 UTC
(rev 8199)
        @@ -141,7 +141,7 @@
         
         INSTALL_PATH ?= /tftpboot
         boot := arch/$(ARCH)/boot
        -BOOT_TARGETS = vmImage vmImage.bin vmImage.bz2 vmImage.gz
vmImage.lzma
        +BOOT_TARGETS = vmImage vmImage.bin vmImage.bz2 vmImage.gz
vmImage.lzma vmImage.xip
         PHONY += $(BOOT_TARGETS) install
         KBUILD_IMAGE := $(boot)/vmImage
         
        @@ -159,6 +159,7 @@
           echo  '  vmImage.bz2     - Kernel-only image for U-Boot
(arch/$(ARCH)/boot/vmImage.bz2)'
           echo  '* vmImage.gz      - Kernel-only image for U-Boot
(arch/$(ARCH)/boot/vmImage.gz)'
           echo  '  vmImage.lzma    - Kernel-only image for U-Boot
(arch/$(ARCH)/boot/vmImage.lzma)'
        +  echo  '  vmImage.xip     - XIP Kernel-only image for U-Boot
(arch/$(ARCH)/boot/vmImage.xip)'
           echo  '  install         - Install kernel using'
           echo  '                     (your) ~/bin/$(INSTALLKERNEL) or'
           echo  '                     (distribution) PATH:
$(INSTALLKERNEL) or'
        
        

        Modified: trunk/arch/blackfin/boot/Makefile (8198 => 8199)

        
        --- trunk/arch/blackfin/boot/Makefile   2010-01-19 23:33:08 UTC
(rev 8198)
        +++ trunk/arch/blackfin/boot/Makefile   2010-01-20 00:01:26 UTC
(rev 8199)
        @@ -8,21 +8,17 @@
         
         MKIMAGE := $(srctree)/scripts/mkuboot.sh
         
        -targets := vmImage vmImage.bin vmImage.bz2 vmImage.gz
vmImage.lzma
        -extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2
vmlinux.bin.lzma
        +targets := vmImage vmImage.bin vmImage.bz2 vmImage.gz
vmImage.lzma vmImage.xip
        +extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2
vmlinux.bin.lzma vmlinux.bin.xip
         
         UIMAGE_OPTS-y :=
        -UIMAGE_OPTS-$(CONFIG_RAMKERNEL) += \
        -       -a $(CONFIG_BOOT_LOAD) \
        -       -e $(shell $(NM) vmlinux | awk '$$NF == "__start" {print
$$1}')
        -UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += \
        -       -x \
        -       -a $(CONFIG_ROM_BASE) \
        -       -e $$( printf '%x' $$(( $(CONFIG_ROM_BASE) + 64 )) )
        +UIMAGE_OPTS-$(CONFIG_RAMKERNEL) += -a $(CONFIG_BOOT_LOAD)
        +UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -a $(CONFIG_ROM_BASE) -x
         
         quiet_cmd_uimage = UIMAGE  $@
               cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(ARCH) -O
linux -T kernel \
        -                   -C $(2) -n '$(MACHINE)-$(KERNELRELEASE)' -a
$(CONFIG_BOOT_LOAD) \
        +                   -C $(2) -n '$(MACHINE)-$(KERNELRELEASE)' \
        +                   -e $(shell $(NM) vmlinux | awk '$$NF ==
"__start" {print $$1}') \
                            $(UIMAGE_OPTS-y) -d $< $@
         
         $(obj)/vmlinux.bin: vmlinux FORCE
        @@ -37,6 +33,12 @@
         $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
                $(call if_changed,lzma)
         
        +# The mkimage tool wants 64bytes prepended to the image
        +quiet_cmd_mk_bin_xip = BIN     $@
        +      cmd_mk_bin_xip = ( printf '%64s' | tr ' ' '\377' ; cat $<
) > $@
        +$(obj)/vmlinux.bin.xip: $(obj)/vmlinux.bin FORCE
        +       $(call if_changed,mk_bin_xip)
        +
         $(obj)/vmImage.bin: $(obj)/vmlinux.bin
                $(call if_changed,uimage,none)
         
        @@ -49,10 +51,15 @@
         $(obj)/vmImage.lzma: $(obj)/vmlinux.bin.lzma
                $(call if_changed,uimage,lzma)
         
        +$(obj)/vmImage.xip: $(obj)/vmlinux.bin.xip
        +       $(call if_changed,uimage,none)
        +
         suffix-y                      := bin
         suffix-$(CONFIG_KERNEL_GZIP)  := gz
         suffix-$(CONFIG_KERNEL_BZIP2) := bz2
         suffix-$(CONFIG_KERNEL_LZMA)  := lzma
        +suffix-$(CONFIG_ROMKERNEL)    := xip
        +
         $(obj)/vmImage: $(obj)/vmImage.$(suffix-y)
                @ln -sf $(notdir $<) $@
         
        
        

        Modified: trunk/arch/blackfin/kernel/vmlinux.lds.S (8198 =>
8199)

        
        --- trunk/arch/blackfin/kernel/vmlinux.lds.S    2010-01-19
23:33:08 UTC (rev 8198)
        +++ trunk/arch/blackfin/kernel/vmlinux.lds.S    2010-01-20
00:01:26 UTC (rev 8199)
        @@ -31,7 +31,6 @@
                        __text = .;
                        _text = .;
                        __stext = .;
        -               *(.romhead.text)
                        TEXT_TEXT
         #ifndef CONFIG_SCHEDULE_L1
                        SCHED_TEXT
        
        

        Modified: trunk/arch/blackfin/mach-common/head.S (8198 => 8199)

        
        --- trunk/arch/blackfin/mach-common/head.S      2010-01-19
23:33:08 UTC (rev 8198)
        +++ trunk/arch/blackfin/mach-common/head.S      2010-01-20
00:01:26 UTC (rev 8199)
        @@ -13,19 +13,22 @@
         #include <asm/trace.h>
         #include <asm/asm-offsets.h>
         
        -#ifdef CONFIG_ROMKERNEL
        -.section ".romhead.text","ax"
        -#else
         __INIT
        -#endif
         
        +ENTRY(__init_clear_bss)
        +       r2 = r2 - r1;
        +       cc = r2 == 0;
        +       if cc jump .L_bss_done;
        +       r2 >>= 2;
        +       p1 = r1;
        +       p2 = r2;
        +       lsetup (1f, 1f) lc0 = p2;
        +1:     [p1++] = r0;
        +.L_bss_done:
        +       rts;
        +ENDPROC(__init_clear_bss)
        +
         ENTRY(__start)
        -#ifdef CONFIG_ROMKERNEL
        -       /* mkimage requires entry address = load address + 64 */
        -       .rept 16;
        -       .long 0xFFFFFFFF
        -       .endr
        -#endif
                /* R0: argument of command line string, passed from
uboot, save it */
                R7 = R0;
                /* Enable Cycle Counter and Nesting Of Interrupts */
        @@ -241,21 +244,6 @@
                jump .LWAIT_HERE;
         ENDPROC(__start)
         
        -__INIT
        -
        -ENTRY(__init_clear_bss)
        -       r2 = r2 - r1;
        -       cc = r2 == 0;
        -       if cc jump .L_bss_done;
        -       r2 >>= 2;
        -       p1 = r1;
        -       p2 = r2;
        -       lsetup (1f, 1f) lc0 = p2;
        -1:     [p1++] = r0;
        -.L_bss_done:
        -       rts;
        -ENDPROC(__init_clear_bss)
        -
         /* A little BF561 glue ... */
         #ifndef WDOG_CTL
         # define WDOG_CTL WDOGA_CTL
        

_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to