20 Feb, 2014

3 commits

  • Now we are ready to switch over to real Kbuild.

    This commit disables temporary scripts:
    scripts/{Makefile.build.tmp, Makefile.host.tmp}
    and enables real Kbuild scripts:
    scripts/{Makefile.build,Makefile.host,Makefile.lib}.

    This switch is triggered by the line in scripts/Kbuild.include
    -build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build.tmp obj
    +build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj

    We need to adjust some build scripts for U-Boot.
    But smaller amount of modification is preferable.

    Additionally, we need to fix compiler flags which are
    locally added or removed.

    In Kbuild, it is not allowed to change CFLAGS locally.
    Instead, ccflags-y, asflags-y, cppflags-y,
    CFLAGS_$(basetarget).o, CFLAGS_REMOVE_$(basetarget).o
    are prepared for that purpose.

    Signed-off-by: Masahiro Yamada
    Tested-by: Gerhard Sittig

    Masahiro Yamada
     
  • This commit changes the working directory
    where the build process occurs.

    Before this commit, build process occurred under the source
    tree for both in-tree and out-of-tree build.

    That's why we needed to add $(obj) prefix to all generated
    files in makefiles like follows:
    $(obj)u-boot.bin: $(obj)u-boot

    Here, $(obj) is empty for in-tree build, whereas it points
    to the output directory for out-of-tree build.

    And our old build system changes the current working directory
    with "make -C " syntax when descending into the
    sub-directories.

    On the other hand, Kbuild uses a different idea
    to handle out-of-tree build and directory descending.

    The build process of Kbuild always occurs under the output tree.
    When "O=dir/to/store/output/files" is given, the build system
    changes the current working directory to that directory and
    restarts the make.

    Kbuild uses "make -f $(srctree)/scripts/Makefile.build obj="
    syntax for descending into sub-directories.
    (We can write it like "make $(obj)=" with a shorthand.)
    This means the current working directory is always the top
    of the output directory.

    Signed-off-by: Masahiro Yamada
    Tested-by: Gerhard Sittig

    Masahiro Yamada
     
  • This commit moves suffix rules from config.mk
    to scripts/Makefile.build, which will allow us
    to switch smoothly to real Kbuild.

    Note1:
    post/lib_powerpc/fpu/Makefile has
    its own rule to compile C sources.
    We need to tweak it to keep the same behavior.

    Note2:
    There are two file2 with the same name:
    arch/arm/lib/crt0.S and eamples/api/crt0.S.
    To keep the same build behavior,
    examples/api/Makefile also has to be treaked.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

16 Dec, 2013

1 commit


13 Dec, 2013

1 commit


25 Nov, 2013

1 commit


01 Nov, 2013

1 commit


15 Oct, 2013

1 commit


20 Sep, 2013

1 commit


24 Jul, 2013

1 commit


01 May, 2013

1 commit


29 Oct, 2012

1 commit


16 Oct, 2012

1 commit


31 Mar, 2012

1 commit


19 Mar, 2012

3 commits


12 Mar, 2012

1 commit


13 Feb, 2012

1 commit


14 Jan, 2012

1 commit


24 Dec, 2011

4 commits

  • The code and comment disagreed: the comment claimed that r6...r31
    were copied, and consequently the arrays for "src" and "dst" were
    declared with 26 entries, but the actual code ("lmw r5,0(r3)" and
    "stmw r5,0(r4)") copied _27_ words (r5 through r31), which resulted
    in false "POST cpu Error at multi test" messages.

    Fix the comment and the array sizes.

    Signed-off-by: Wolfgang Denk
    Cc: Anatolij Gustschin
    Cc: Stefan Roese
    Cc: Kumar Gala
    Cc: Kim Phillips
    Cc: Andy Fleming
    Acked-by: Anatolij Gustschin
    Tested-by: Anatolij Gustschin

    Wolfgang Denk
     
  • Clean up and document the code:

    - get rid of unneeded code block
    - add comment which code is generated

    Signed-off-by: Wolfgang Denk
    Cc: Anatolij Gustschin
    Cc: Stefan Roese
    Cc: Kumar Gala
    Cc: Kim Phillips
    Cc: Andy Fleming
    Acked-by: Anatolij Gustschin

    Wolfgang Denk
     
  • Signed-off-by: Wolfgang Denk
    Cc: Anatolij Gustschin
    Cc: Stefan Roese
    Cc: Kumar Gala
    Cc: Kim Phillips
    Cc: Andy Fleming
    Acked-by: Anatolij Gustschin

    Wolfgang Denk
     
  • It appears that with recent versions of GCC the explicit
    "-mhard-float" command line option takes precedence over the
    ``asm(".gnu_attribute 4, 2");'' in the source file, so this no longer
    helps to avoid the warnings we get when linking code that uses FP
    instructions with other code that was built using soft-float.

    We can remove the ".gnu_attribute" (which appears to carry no other
    information, at least so far) from the object files, but we also have
    to make sure we don't pull in the __gcc_qsub() and __gcc_qmul()
    functions from the standard libgcc, as these would again "infect" our
    linking. We copy this code from:
    gcc-4.2.2/gcc/config/rs6000/darwin-ldouble.c
    This old version was chosen because it was still available under a
    compatible license (GCC v2+). The file was stripped down to the
    needed parts, and reformatted so it passes checkpatch with only one
    warning (do not add new typedefs).

    Signed-off-by: Wolfgang Denk
    Cc: Kumar Gala
    Cc: Stefan Roese
    Cc: Andy Fleming
    Cc: Kim Phillips
    Tested-by: Stefan Roese
    Tested-by: Anatolij Gustschin

    Wolfgang Denk
     

11 Dec, 2011

2 commits


02 Dec, 2011

1 commit


17 Nov, 2011

1 commit


04 Nov, 2011

2 commits


28 Oct, 2011

2 commits


24 Oct, 2011

1 commit


06 Oct, 2011

4 commits

  • This test is similar to the actual POST memory test but quicker and
    far less complete. It checks the address and data lines and then only
    tests some regularly placed sub regions of the RAM.
    This can be useful when we want to test the RAM but we do not have enough
    time to run the full memory test.

    The POST memory test code was rearranged in order to avoid code duplication
    between the two tests but the memory test functionnality remains the same.

    Signed-off-by: Valentin Longchamp
    Signed-off-by: Holger Brunck
    Ackey-by: Mike Frysinger

    Valentin Longchamp
     
  • This is needed for a further patch adding a new memory test.

    Signed-off-by: Valentin Longchamp
    Acked-by: Mike Frysinger

    Valentin Longchamp
     
  • Some boards have the environment variables defined in a slow EEPROM. post_run
    accesses these environment variables to define which tests have to be run (in
    post_get_flags). This is very slow before the code relocation on some boards
    with a slow I2C EEPROM for environement variables.

    This patch adds a config option to skip the fetching of the test flags in the
    environment variables. The test flags assigned to the tests then only are the
    ones statically defined for the test in post/tests.c.

    Signed-off-by: Valentin Longchamp
    Signed-off-by: Holger Brunck

    Valentin Longchamp
     
  • The current post_log_word in global data is currently split into 2x
    16 bits: half for the test start, half for the test success.
    Since we alredy have more than 16 POST tests defined and more could
    be defined, this may result in an overflow and the post_output_backlog
    would not work for the tests defined further of these 16 positions.

    An additional field is added to global data so that we can now support up
    to 32 (depending of architecture) tests. The post_log_word is only used
    to record the start of the test and the new field post_log_res for the
    test success (or failure). The post_output_backlog is for this change
    also adapted.

    Signed-off-by: Valentin Longchamp

    Valentin Longchamp
     

30 Sep, 2011

1 commit


28 Jul, 2011

2 commits