20 Feb, 2014

2 commits

  • We had switched to Kbuild, so we do not need to
    delete sandburst board files at every build.

    U-Boot conventional build system did not check the
    update of command line option, -DBUILDUSER.

    Kbuild can handle it nicely and re-builds object files
    when command line options are changed.
    (The file ".*.cmd" stores the information how the file
    was generated at the previous build.)

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • 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
     

18 Nov, 2013

1 commit


01 Nov, 2013

1 commit


15 Oct, 2013

1 commit


24 Jul, 2013

2 commits


23 Jul, 2013

2 commits


03 Apr, 2013

1 commit

  • Simon Glass' commit 3929fb0a141530551b3fce15ee08629f80d5ef2a,
    which changed all occurrences of __bss__end__ into __bss_end,
    left behind some untouched __bss_end__ occurrences in all 33
    u-boot.lds.debug files, in board/mousse/u-boot.lds.ram and
    in board/mousse/u-boot.lds.rom. These are replaced here.

    Signed-off-by: Albert ARIBAUD

    Albert ARIBAUD
     

13 Mar, 2013

1 commit

  • Refactor linker-generated array code so that symbols
    which were previously linker-generated are now compiler-
    generated. This causes relocation records of type
    R_ARM_ABS32 to become R_ARM_RELATIVE, which makes
    code which uses LGA able to run before relocation as
    well as after.

    Note: this affects more than ARM targets, as linker-
    lists span possibly all target architectures, notably
    PowerPC.

    Conflicts:
    arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds
    arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds
    arch/arm/cpu/armv7/omap-common/u-boot-spl.lds
    board/ait/cam_enc_4xx/u-boot-spl.lds
    board/davinci/da8xxevm/u-boot-spl-da850evm.lds
    board/davinci/da8xxevm/u-boot-spl-hawk.lds
    board/vpac270/u-boot-spl.lds

    Signed-off-by: Albert ARIBAUD

    Albert ARIBAUD
     

22 Oct, 2012

2 commits

  • The command declaration now uses the new LG-array method to generate
    list of commands. Thus the __u_boot_cmd section is now superseded and
    redundant and therefore can be removed. Also, remove externed symbols
    associated with this section from include/command.h .

    Signed-off-by: Marek Vasut
    Cc: Joe Hershberger
    Cc: Mike Frysinger

    Marek Vasut
     
  • Add section for the linker-generated lists into all possible linker
    files, so that everyone can easily use these lists. This is mostly
    a mechanical adjustment.

    Signed-off-by: Marek Vasut
    Cc: Joe Hershberger
    Cc: Mike Frysinger

    Marek Vasut
     

02 Dec, 2011

1 commit


16 Oct, 2011

1 commit

  • The top level Makefile does not do any recursion into subdirs when
    cleaning, so these clean/distclean targets in random arch/board dirs
    never get used. Punt them all.

    MAKEALL didn't report any errors related to this that I could see.

    Signed-off-by: Mike Frysinger

    Mike Frysinger
     

28 Mar, 2011

1 commit


18 Nov, 2010

1 commit

  • Before this commit, weak symbols were not overridden by non-weak symbols
    found in archive libraries when linking with recent versions of
    binutils. As stated in the System V ABI, "the link editor does not
    extract archive members to resolve undefined weak symbols".

    This commit changes all Makefiles to use partial linking (ld -r) instead
    of creating library archives, which forces all symbols to participate in
    linking, allowing non-weak symbols to override weak symbols as intended.
    This approach is also used by Linux, from which the gmake function
    cmd_link_o_target (defined in config.mk and used in all Makefiles) is
    inspired.

    The name of each former library archive is preserved except for
    extensions which change from ".a" to ".o". This commit updates
    references accordingly where needed, in particular in some linker
    scripts.

    This commit reveals board configurations that exclude some features but
    include source files that depend these disabled features in the build,
    resulting in undefined symbols. Known such cases include:
    - disabling CMD_NET but not CMD_NFS;
    - enabling CONFIG_OF_LIBFDT but not CONFIG_QE.

    Signed-off-by: Sebastien Carlier

    Sebastien Carlier
     

19 Oct, 2010

2 commits

  • Clean up Makefile, and drop a lot of the config.mk files on the way.

    We now also automatically pick all boards that are listed in
    boards.cfg (and with all configurations), so we can drop the redundant
    entries from MAKEALL to avoid building these twice.

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     
  • The change is currently needed to be able to remove the board
    configuration scripting from the top level Makefile and replace it by
    a simple, table driven script.

    Moving this configuration setting into the "CONFIG_*" name space is
    also desirable because it is needed if we ever should move forward to
    a Kconfig driven configuration system.

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     

23 Sep, 2010

2 commits

  • This patch removes the PPC4xx UART driver. Instead the common NS16550
    driver is used, since all PPC4xx SoC's use this peripheral device.

    The file 4xx_uart.c now only implements the UART clock calculation
    function which also sets the SoC internal UART divisors.

    All PPC4xx board config headers are changed to use this common NS16550
    driver now.

    Tested on these boards:
    acadia, canyonlands, katmai, kilauea, sequoia, zeus

    Signed-off-by: Stefan Roese

    Stefan Roese
     
  • This patch moves some ppc4xx related headers from the common include
    directory (include/) to the powerpc specific one
    (arch/powerpc/include/asm/). This way to common include directory is not
    so cluttered with files.

    Signed-off-by: Stefan Roese

    Stefan Roese
     

05 Jul, 2010

1 commit

  • The hush shell dynamically allocates (and re-allocates) memory for the
    argument strings in the "char *argv[]" argument vector passed to
    commands. Any code that modifies these pointers will cause serious
    corruption of the malloc data structures and crash U-Boot, so make
    sure the compiler can check that no such modifications are being done
    by changing the code into "char * const argv[]".

    This modification is the result of debugging a strange crash caused
    after adding a new command, which used the following argument
    processing code which has been working perfectly fine in all Unix
    systems since version 6 - but not so in U-Boot:

    int main (int argc, char **argv)
    {
    while (--argc > 0 && **++argv == '-') {
    /* ====> */ while (*++*argv) {
    switch (**argv) {
    case 'd':
    debug++;
    break;
    ...
    default:
    usage ();
    }
    }
    }
    ...
    }

    The line marked "====>" will corrupt the malloc data structures and
    usually cause U-Boot to crash when the next command gets executed by
    the shell. With the modification, the compiler will prevent this with
    an
    error: increment of read-only location '*argv'

    N.B.: The code above can be trivially rewritten like this:

    while (--argc > 0 && **++argv == '-') {
    char *arg = *argv;
    while (*++arg) {
    switch (*arg) {
    ...

    Signed-off-by: Wolfgang Denk
    Acked-by: Mike Frysinger

    Wolfgang Denk
     

25 Apr, 2010

1 commit


22 Apr, 2010

1 commit

  • As discussed on the list, move "arch/ppc" to "arch/powerpc" to
    better match the Linux directory structure.

    Please note that this patch also changes the "ppc" target in
    MAKEALL to "powerpc" to match this new infrastructure. But "ppc"
    is kept as an alias for now, to not break compatibility with
    scripts using this name.

    Signed-off-by: Stefan Roese
    Acked-by: Wolfgang Denk
    Acked-by: Detlev Zundel
    Acked-by: Kim Phillips
    Cc: Peter Tyser
    Cc: Anatolij Gustschin

    Stefan Roese
     

19 Apr, 2010

1 commit

  • This patch adds new macros, with frequently used combinations of the
    4xx TLB access control and storage attibutes. Additionally the 4xx init.S
    files are updated to make use of these new macros. Resulting in easier
    to read TLB definitions.

    Additionally some init.S files are updated to use the mmu header for the
    TLB defines, instead of defining their own macros.

    Signed-off-by: Stefan Roese

    Stefan Roese
     

13 Apr, 2010

4 commits


22 Dec, 2009

1 commit

  • commit eb5eb2b0f744f0cba405160c5d01335c40f09acf

    ppc4xx: Cleanup PPC4xx I2C infrastructure

    This patch cleans up the PPC4xx I2C intrastructure:

    - Use C struct to describe the I2C registers instead of defines
    - Coding style cleanup (braces, whitespace, comments, line length)
    - Extract common code from i2c_read() and i2c_write()
    - Remove unneeded IIC defines from ppc405.h & ppc440.h

    breaks comiling for the KAREF and METROBOX boards.

    This patch fixes this issue.

    Signed-off-by: Heiko Schocher
    Signed-off-by: Stefan Roese

    Heiko Schocher
     

19 Nov, 2009

2 commits

  • This patch removes the duplicted implementations of the pci_pre_init()
    function by introducing a weak default function for it. This weak default
    has a different implementation for some PPC variants. It can be
    overridden by a board specific version.

    Signed-off-by: Stefan Roese

    Stefan Roese
     
  • This patch removes the duplicted implementations of the pci_target_init()
    function by introducing a weak default function for it. This weak default
    has a different implementation for 440EP(x)/GR(x) PPC's. It can be
    overridden by a board specific version (e.g. PMC440, korat).

    Signed-off-by: Stefan Roese
    Acked-by: Matthias Fuchs

    Stefan Roese
     

09 Nov, 2009

1 commit


02 Nov, 2009

1 commit


09 Oct, 2009

1 commit


07 Oct, 2009

1 commit


03 Oct, 2009

1 commit

  • The following changes allow U-Boot to fully relocate from flash to
    RAM:
    - Remove linker scripts' .fixup sections from the .text section
    - Add -mrelocatable to PLATFORM_RELFLAGS for all boards
    - Define CONFIG_RELOC_FIXUP_WORKS for all boards

    Previously, U-Boot would partially relocate, but statically initialized
    pointers needed to be manually relocated.

    Signed-off-by: Peter Tyser

    Peter Tyser
     

28 Sep, 2009

2 commits


11 Sep, 2009

1 commit

  • This patch cleans up multiple issues of the 4xx register (mostly
    DCR, SDR, CPR, etc) definitions:

    - Change lower case defines to upper case (plb4_acr -> PLB4_ACR)
    - Change the defines to better match the names from the
    user's manuals (e.g. cprpllc -> CPR0_PLLC)
    - Removal of some unused defines

    Please test this patch intensive on your PPC4xx platform. Even though
    I tried not to break anything and tested successfully on multiple
    4xx AMCC platforms, testing on custom platforms is recommended.

    Signed-off-by: Stefan Roese

    Stefan Roese