15 Mar, 2019

1 commit

  • Since commit f51a226436a87 ("efi_loader: provide freestanding library") in
    parallel builds errors

    lib/efi_selftest/../efi_loader/efi_freestanding.o:
    file not recognized: File truncated

    occur. Obviously make cannot correctly sequence parallel builds with a
    dependency like ../efi_loader/efi_freestanding.o.

    Fixes: f51a226436a87 ("efi_loader: provide freestanding library")
    Signed-off-by: Heinrich Schuchardt

    Heinrich Schuchardt
     

01 Mar, 2019

1 commit

  • *.dts are processed using a custom command, then the C pre-processor is
    run on them, then they are compiled using dtc. Thus, the dependency
    files generated by both cpp and dtc reference a temporary file name
    rather than the actual source file. While this information isn't used
    for any purpose by the build system, and hence this causes no functional
    issue, it does cause the dependency files to contain invalid and
    confusing data, which is unhelpful while debugging build problems. Fix
    this using sed.

    Signed-off-by: Stephen Warren
    Reviewed-by: Masahiro Yamada

    Stephen Warren
     

19 Feb, 2019

1 commit


13 Feb, 2019

2 commits

  • Symbolic links are not supported on all file systems, e.g. not on FAT. So
    it is not wise to use them in our source tree.

    Use a qualified path to refer to lib/efi_loader/efi_freestanding.c in
    scripts/Makefile.lib instead.

    Reported-by: Alexander Graf
    Signed-off-by: Heinrich Schuchardt
    [agraf: Fix build with O=]
    Signed-off-by: Alexander Graf

    Heinrich Schuchardt
     
  • GCC requires that freestanding programs provide memcpy(), memmove(),
    memset(), and memcmp().

    Add the library functions when building a *.efi files.

    The EFI selftests might use other compilation flags. So use a symbolic
    link to provide lib/efi_selftest/efi_freestanding.c and compile it
    separately.

    Reported-by: Alexander Graf
    Fixes: 5be444d14b38 ("efi_loader: consistent build flags for EFI applications")
    Signed-off-by: Heinrich Schuchardt
    Signed-off-by: Alexander Graf

    Heinrich Schuchardt
     

16 Jan, 2019

1 commit


03 Dec, 2018

1 commit

  • Per Microsoft PE Format documentation [1], PointerToSymbolTable and
    NumberOfSymbols should be zero for an image in the COFF file header.
    Currently U-Boot is generating *.efi images (eg: helloworld.efi) in
    which these two members are not zero.

    This updates the build rules to tell linker to remove the symbol
    table completely so that we can generate compliant *.efi images.

    [1] https://docs.microsoft.com/zh-cn/windows/desktop/Debug/pe-format

    Reported-by: Heinrich Schuchardt
    Signed-off-by: Bin Meng
    Reviewed-by: Heinrich Schuchardt
    Signed-off-by: Alexander Graf

    Bin Meng
     

01 Oct, 2018

1 commit


15 Jun, 2018

1 commit


14 Jun, 2018

1 commit

  • When U-Boot is built with 'make -j' there is not guarantee that targets in
    directory arch/ are built before targets in directory lib/. The current
    build instruction for EFI binaries in lib/ rely on dependencies in arch/.
    If $(EFI_CRT0) or $(EFI_RELOC) is not yet built before trying to build
    %.efi an error
    *** No rule to make target '%.efi'
    occurs.

    With the patch separate copies of $(EFI_CRT0) and $(EFI_RELOC) named
    efi_crt0.o and efi_reloc.o are built in lib/efi_loader and
    lib/efi_selftest.

    Signed-off-by: Heinrich Schuchardt
    Signed-off-by: Alexander Graf

    Heinrich Schuchardt
     

13 Jun, 2018

1 commit

  • The commit

    f9a88a4c1cd0 ("iASL: Enhance the -tc option (create AML hex file in C)")

    in ACPICA project changed a template of the variable that is used
    in the generated C-file. Now, instead of hard coded "AmlCode" the
    "%s_aml_code" is in use, where the prefix is a lowered case base
    name of the output file. In our case it will be "dsdt" producing
    a name as "dsdt_aml_code".

    The quick solution is to call sed which replaces new name by the
    old one to keep compatibility with old version of iASL.

    The long term solution would be to modify code to use the new name
    because it is more scalable.

    Cc: Robert Moore
    Cc: Sami Mujawar
    Cc: Evan Lloyd
    Signed-off-by: Andy Shevchenko
    Reviewed-by: Bin Meng
    [bmeng: fixed two sentences in the commit message]
    Signed-off-by: Bin Meng

    Andy Shevchenko
     

31 May, 2018

1 commit

  • Align Kconfig to Linux 4.17-rc4 with minimal impact on non-kconfig files.

    Previous Kconfig sync was done by commit bf7ab1e70fd762 ("kconfig:
    re-sync with Linux 4.10") and it achieved almost perfect alignment with
    a few (intended) exceptions, caused by below U-boot commits:

    [A] v2015.04 5f9eb2207500 ("kbuild: remove scripts/multiconfig.sh")
    [B] v2015.07 20c20826efab ("Kconfig: Enable usage of escape char '\' in string values")
    [C] v2016.01 da58dec86616 ("Various Makefiles: Add SPDX-License-Identifier tags")
    [D] v2016.03 5b8031ccb4ed ("Add more SPDX-License-Identifier tags")
    [E] v2016.03 192bc6948b02 ("Fix GCC format-security errors and convert sprintfs.")

    Here is the list of Kconfig commits which followed the v4.10 alignment:

    [F] v2018.01 0931ed3c0d0f ("kconfig/symbol.c: use correct pointer type argument for sizeof")
    [G] v2018.03 1414e09b4f25 ("kconfig: revert change that was not needed for -Wformat-security")
    [H] v2018.05 83d290c56fab ("SPDX: Convert all of our single license tags to Linux Kernel style")

    Commit [F] was subsequently applied to Linux kernel as commit [I]
    with the same patch id, so it won't contribute to further misalignment.

    [I] v4.15-rc1 88127dae6ed9 ("kconfig/symbol.c: use correct pointer type argument for sizeof")

    Commit [G] is a Kconfig-specific revert of commit [E].
    Commit [H] relocated and reformatted the license doing no functional change.

    In summary, the only functional change that makes U-boot Kconfig
    diverge from Linux Kconfig is commit [B]. After a brief analysis,
    the purpose of [B] seems to be placing "\n" literals in string symbols
    like CONFIG_AUTOBOOT_PROMPT="autoboot in %d seconds\n" in order to pass
    them directly to printf and expect correct output at runtime. Currently,
    Linux doesn't seem to have this requirement, so for the moment [B] looks
    like a U-boot specific feature/fix. From point of view of further Kconfig
    alignment and backporting efforts, it is highly desired that commits
    like [B] are propagated to Linux and any Kconfig fixes/features are
    contributed to Linux kernel first. This specific Kconfig re-sync just
    keeps [B] in place.

    Contrary to 4.10 Kconfig re-sync (which achieves zero non-kconfig
    changes), 4.17-rc4 re-sync does some amount of updates in Kbuild
    (striving to keep them at minimum), due to a number of reasons:
    * Kbuild is affected by the removal of Kconfig "*shipped" files and now
    requires flex and bison pre-installed on the host.
    * PYTHON{2,3} variables are defined in top-level Makefile as
    prerequisite for running the newly developed Kconfig unit tests.
    * silentoldconfig becomes an "internal implementation detail" deprecated
    for external use, being renamed to syncconfig.

    The exact non-kconfig files touched by this commit are:

    $ git show --format="" --stat -- ':!scripts/kconfig'
    .gitignore | 2 ++
    Makefile | 9 +++++++--
    scripts/Makefile.build | 11 +++++++++++
    scripts/Makefile.lib | 41 ++++++++++++-----------------------------

    The imported Linux commits touching the above files are:

    c054be10ffdbd5 ("remove gperf left-overs from build system")
    73a4f6dbe70a1b ("kbuild: add LEX and YACC variables")
    033dba2ec06c47 ("kbuild: prepare to remove C files pre-generated by flex and bison")
    eea199b445f64c ("kbuild: remove unnecessary LEX_PREFIX and YACC_PREFIX")
    e71de5ee08dcb0 ("kbuild: remove remaining use of undefined YACC_PREFIX")
    d59fbbd09d5d6b ("kbuild: replace hardcoded bison in cmd_bison_h with $(YACC)")
    911a91c39cabcb H ("kconfig: rename silentoldconfig to syncconfig")
    59889300274569 (".gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignore")
    9a8dfb394c0467 ("kbuild: clean up *.lex.c and *.tab.[ch] patterns from top-level Makefile")
    833e622459432e H ("genksyms: generate lexer and parser during build instead of shipping")
    b23d1a241f4eb4 H ("kbuild: add %.lex.c and %.tab.[ch] to 'targets' automatically")
    e9781b52d4e0e3 H ("kbuild: add PYTHON2 and PYTHON3 variables")

    The commits marked with 'H' are assessed as "hard" (build will fail)
    prerequisites and the rest of them are assessed as "soft" prerequisites
    for the re-sync. In spite of relatively high number of non-H commits,
    they belong to this Kconfig update topic-wise and decrease the number of
    cherry pick conflicts for many commits in this series. Additional effort
    can be put in eliminating the soft prerequisites, if really needed.

    The commits which contributed to this Kconfig re-sync are listed below.
    Whenever a conflict resolution has been performed (mostly by hand, but
    sometimes automatically by git), it is revealed by the '!' sign in the
    second column, which means a patch id mismatch between Linux and U-boot
    commits:

    9be3213b14d44f ("gconfig: remove misleading parentheses around a condition")
    ff85a1a80e0034 ("kconfig: Check for libncurses before menuconfig")
    ad8181060788c8 ("kconfig: fix sparse warnings in nconfig")
    cb77f0d623ff33 ! ("scripts: Switch to more portable Perl shebang")
    bb3290d91695bb ! ("Remove gperf usage from toolchain")
    c054be10ffdbd5 ("remove gperf left-overs from build system")
    b24413180f5600 ! ("License cleanup: add SPDX GPL-2.0 license identifier to files with no license")
    9059a3493efea6 ! ("kconfig: fix relational operators for bool and tristate symbols")
    2c37e08464a850 ("kconfig: Warn if choice default is not in choice")
    33ca1a24866373 ("kconfig: Document the 'menu' struct")
    52aede4ba5efd1 ("kconfig: Document the 'symbol' struct")
    c873443430ebd1 ("kconfig: Sync zconf.y with zconf.tab.c_shipped")
    9a826842ff2fbd ("kconfig: Rename menu_check_dep() to rewrite_m()")
    fa8cedaef814ce ("kconfig: Clarify expression rewriting")
    f77850d3fe0c96 ("kconfig: Clean up modules handling and fix crash")
    e3b03bf29d6b99 ("kconfig: display recursive dependency resolution hint just once")
    73a4f6dbe70a1b ! ("kbuild: add LEX and YACC variables")
    033dba2ec06c47 ! ("kbuild: prepare to remove C files pre-generated by flex and bison")
    29c833061c1d8c ("kconfig: generate lexer and parser during build instead of shipping")
    26e47a3c11a25c ("kconfig: Don't leak symbol names during parsing")
    24161a6711c945 ("kconfig: Don't leak 'source' filenames during parsing")
    bc28fe1d5ede88 ("kconfig: Don't leak 'option' arguments during parsing")
    0724a7c32a54e3 ("kconfig: Don't leak main menus during parsing")
    ae7440ef0c8013 ("kconfig: Fix automatic menu creation mem leak")
    5b1374b3b3c2fc ("kconfig: Fix expr_free() E_NOT leak")
    7cf33f88e29410 ("kconfig: Fix choice symbol expression leak")
    05cccce580456d ("kconfig: Document automatic submenu creation code")
    0735f7e5def2ab ("kconfig: Document important expression functions")
    df60f4b92d3d0b ("kconfig: Remove menu_end_entry()")
    b92d804a51796b ("kconfig: drop 'boolean' keyword")
    6479f327dea60d ("kconfig: Warn if there is more than one help text")
    52e58a3caeba5d ("kconfig: make input_mode static")
    5a3dc717b3c785 ("kconfig: make xfgets() really static")
    84dd95d4f87a0d ("kconfig: make conf_unsaved a local variable of conf_read()")
    765f4cdef6f80d ("kconfig: use default 'yy' prefix for lexer and parser")
    eea199b445f64c ("kbuild: remove unnecessary LEX_PREFIX and YACC_PREFIX")
    e71de5ee08dcb0 ("kbuild: remove remaining use of undefined YACC_PREFIX")
    d59fbbd09d5d6b ! ("kbuild: replace hardcoded bison in cmd_bison_h with $(YACC)")
    3e41ba05b6d60c ("kconfig: Document SYMBOL_OPTIONAL logic")
    d3465af60f4471 ("kconfig: Clarify choice dependency propagation")
    9d1a9e8bc18bea ("kconfig: Document 'if' flattening logic")
    b53688014e3325 ("kconfig: Clarify menu and 'if' dependency propagation")
    d0fd0428ecf04b ("kconfig: fix make xconfig when gettext is missing")
    312ee68752faaa ("kconfig: announce removal of oldnoconfig if used")
    1ccb27143360bd ("kconfig: make "Selected by:" and "Implied by:" readable")
    cedd55d49dee94 ! ("kconfig: Remove silentoldconfig from help and docs; fix kconfig/conf's help")
    1b9eda2e4892cb ("kconfig: Warn if help text is blank")
    cb67ab2cd2b8ab ("kconfig: do not write choice values when their dependency becomes n")
    4f208f392103e8 ("kconfig: show '?' prompt even if no help text is available")
    cd58a91def2acc ("kconfig: remove 'config*' pattern from .gitignnore")
    d2a04648a5dbc3 ("kconfig: remove check_stdin()")
    f3ff6fb5db68bc ("kconfig: echo stdin to stdout if either is redirected")
    9e3e10c725360b ("kconfig: send error messages to stderr")
    d717f24d8c6808 ("kconfig: add xrealloc() helper")
    523ca58b7db2e3 ("kconfig: remove const qualifier from sym_expand_string_value()")
    cd81fc82b93fa4 ("kconfig: add xstrdup() helper")
    f4bc1eefc1608e ("kconfig: set SYMBOL_AUTO to the symbol marked with defconfig_list")
    bf0bbdcf100322 ("kconfig: Don't leak choice names during parsing")
    1a90ce36c6eff6 ("kconfig: Update ncurses package names for menuconfig")
    5ae6fcc4bb82bd ("kconfig: fix line number in recursive inclusion error message")
    07a422bb213adb ! ("kbuild: restore autoksyms.h touch to the top Makefile")
    9a47ceec543bfb ("kconfig: clean-up reverse dependency help implementation")
    d9119b5925a03b ("kconfig: Print reverse dependencies in groups")
    f467c5640c29ad ("kconfig: only write '# CONFIG_FOO is not set' for visible symbols")
    59a80b5e892dde ("kconfig: do not call check_conf() for olddefconfig")
    4bb3a5b085cd6f ("kconfig: remove unneeded input_mode test in conf()")
    99f0b6578bab44 ("kconfig: remove redundant input_mode test for check_conf() loop")
    2aad9b89621386 ("kconfig: hide irrelevant sub-menus for oldconfig")
    81d2bc2273052e ("kconfig: invoke oldconfig instead of silentoldconfig from local*config")
    911a91c39cabcb ! ("kconfig: rename silentoldconfig to syncconfig")
    2a61625835c7c8 ! ("kconfig: remove redundant streamline_config.pl prerequisite")
    022a4bf6b59dfd ("kconfig: tests: add framework for Kconfig unit testing")
    1903c511905984 ("kconfig: tests: add basic choice tests")
    49ac3c0c3aa3b7 ("kconfig: tests: test automatic submenu creation")
    b76960c0f6b25d ("kconfig: tests: test if new symbols in choice are asked")
    930c429a656fdb ("kconfig: tests: check unneeded "is not set" with unmet dependency")
    ee236610653ede ("kconfig: tests: check visibility of tristate choice values in y choice")
    beaaddb625400e ("kconfig: tests: test defconfig when two choices interact")
    3e4888c2e3d77d ("kconfig: tests: test randconfig for choice in choice")
    29c434f367ea7b ("kconfig: tests: test if recursive dependencies are detected")
    e2c75e7667c737 ("kconfig: tests: test if recursive inclusion is detected")
    f622f827958162 ("kconfig: warn unmet direct dependency of tristate symbols selected by y")
    f8f69dc0b4e070 ("kconfig: make unmet dependency warnings readable")
    26561514cc9def ("kconfig: do not include both curses.h and ncurses.h for nconfig")
    32a94b8b0c3e5a ("kconfig: remove duplicated file name and lineno of recursive inclusion")
    379a8eb8eb1a55 ("kconfig: detect recursive inclusion earlier")
    18492685e479fd ("kconfig: use yylineno option instead of manual lineno increments")
    59889300274569 ! (".gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignore")
    9a8dfb394c0467 ! ("kbuild: clean up *.lex.c and *.tab.[ch] patterns from top-level Makefile")
    833e622459432e ! ("genksyms: generate lexer and parser during build instead of shipping")
    b23d1a241f4eb4 ! ("kbuild: add %.lex.c and %.tab.[ch] to 'targets' automatically")
    17baab68d337a0 ("kconfig: extend output of 'listnewconfig'")
    e9781b52d4e0e3 ! ("kbuild: add PYTHON2 and PYTHON3 variables")

    The current Kconfig update generates below build-time warnings:
    YACC scripts/dtc/dtc-parser.tab.h
    scripts/dtc/dtc-parser.y: warning: 3 shift/reduce conflicts [-Wconflicts-sr]
    YACC scripts/dtc/dtc-parser.tab.c
    scripts/dtc/dtc-parser.y: warning: 3 shift/reduce conflicts [-Wconflicts-sr]

    This seems to happen because the Kbuild updates apparently didn't make
    room for both "*shipped"-based builds and flex/bison-based builds. A
    similar problem has been reported for genksyms parser in v4.17-rc1
    commit 833e622459432e ("genksyms: generate lexer and parser during build
    instead of shipping"). I have figured out empirically that the warnings
    are healed after updating the in-tree U-boot DTC to upstream v1.4.6-9,
    same as done by Linux v4.17-rc1 commit 9130ba88464032 ("scripts/dtc:
    Update to upstream version v1.4.6-9-gaadd0b65c987"). Whether fixing the
    DTC-related yacc warnings should be done together with the Kconfig
    re-sync, I would like to hear from community.

    My testing was limited to:
    - make defconfig all
    - make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- r8a7795_ulcb_defconfig all
    - comparing .config before and after the re-sync
    - running the newly imported Kconfig unit tests as seen below:

    $ make testconfig
    Tested-by: Petr Vorel

    ============================= test session starts =============================
    scripts/kconfig/tests/auto_submenu/__init__.py::test PASSED [ 7%]
    scripts/kconfig/tests/choice/__init__.py::test_oldask0 PASSED [ 14%]
    scripts/kconfig/tests/choice/__init__.py::test_oldask1 PASSED [ 21%]
    scripts/kconfig/tests/choice/__init__.py::test_allyes PASSED [ 28%]
    scripts/kconfig/tests/choice/__init__.py::test_allmod PASSED [ 35%]
    scripts/kconfig/tests/choice/__init__.py::test_allno PASSED [ 42%]
    scripts/kconfig/tests/choice/__init__.py::test_alldef PASSED [ 50%]
    scripts/kconfig/tests/choice_value_with_m_dep/__init__.py::test PASSED [ 57%]
    scripts/kconfig/tests/err_recursive_inc/__init__.py::test PASSED [ 64%]
    scripts/kconfig/tests/inter_choice/__init__.py::test PASSED [ 71%]
    scripts/kconfig/tests/new_choice_with_dep/__init__.py::test PASSED [ 78%]
    scripts/kconfig/tests/no_write_if_dep_unmet/__init__.py::test PASSED [ 85%]
    scripts/kconfig/tests/rand_nested_choice/__init__.py::test PASSED [ 92%]
    scripts/kconfig/tests/warn_recursive_dep/__init__.py::test PASSED [100%]
    ========================== 14 passed in 0.34 seconds ==========================

    Signed-off-by: Eugeniu Rosca
    Reviewed-by: Masahiro Yamada
    Tested-by: Petr Vorel

    Eugeniu Rosca
     

07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

15 Apr, 2018

1 commit

  • The current makefile logic disables creation of the
    SPL.log/u-boot-ivt.img.log etc. files when V=1 is given on the command
    line, the rationale presumably being that the user wants and gets the
    information on the console.

    However, from general principles, I don't think a higher V= level
    should affect which build artifacts get generated (and certainly
    shouldn't produce fewer). Concretely, it's also a problem that when
    doing a V=1 build in a terminal, the relevant HAB blocks lines easily
    drown in all the other V=1 output.

    Moreover, build systems such as Yocto by default pass V=1, so in that
    case the information gets hidden away in the do_compile log file, making
    it nigh impossible to create a recipe for creating signed U-boot images
    - I don't want to disable V=1, because having verbose output in the log
    file is valuable when things go wrong, but OTOH trying to go digging in
    the do_compile log file (and getting exactly the right lines) is not
    pleasant to even think about.

    So change the logic so that for V=0, the mkimage output is redirected
    to MKIMAGEOUTPUT (which is also the current behaviour), while for any
    other value of V, we _additionally_ write the information to make's
    stdout, whatever that might be.

    Signed-off-by: Rasmus Villemoes
    Tested-by: Breno Lima

    Rasmus Villemoes
     

15 Feb, 2018

1 commit

  • With commit 9bd76b807636 ("spl: make CONFIG_OF_EMBED pass dts through
    fdtgrep"), CONFIG_SPL_MULTI_DTB_FIT has been broken because
    cmd_fdtgrep was now unknown in scripts/Makefile.spl after moving
    it to dts/Makefile. This bug has been introduced with v2018.01.

    This patch moves cmd_fdtgrep from dts/Makefile to scripts/Makefile.lib
    and includes scripts/Makefile.lib in scripts/Makefile.spl.

    Fixes: 9bd76b807636 ("spl: make CONFIG_OF_EMBED pass dts through fdtgrep")
    Reported-by: Lokesh Vutla
    Signed-off-by: Simon Goldschmidt
    Reviewed-by: Lokesh Vutla

    Simon Goldschmidt
     

23 Nov, 2017

1 commit

  • There is a debugging option in the Makefile to allow people to figure out
    which u-boot.dtsi files are used in the build. But is it not easy to use
    since it only shows files it finds, not those it is looking for. Update it
    and update the mention of it to the docs.

    Signed-off-by: Simon Glass

    Simon Glass
     

16 Oct, 2017

1 commit

  • I saw a DT build issue report some time before [1]. I was able to
    reproduce the bug, and figure out the root cause.

    Since commit 6d427c6b1fa0 ("binman: Automatically include a U-Boot
    .dtsi file"), invalid .*.cmd files are generated.

    Since that commit, DTS files are put into sed and piped to CPP.
    Because CPP reads the stream from stdin, -Wp,-MD,$(depfile).pre.tmp
    option generates a depfile with the target name "-". This is not
    the format expected by fixdep.

    Use one more temporary file instead of using pipe. With this, deps_
    in the .*.cmd will be fixed. Having a temp file name in source_ is
    odd, but it is unsed in the build system. Not a big deal.

    [1] https://lists.denx.de/pipermail/u-boot/2017-June/294451.html

    Fiexes: 6d427c6b1fa0 ("binman: Automatically include a U-Boot .dtsi file")
    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

19 Sep, 2017

3 commits

  • Replace all occurences of helloworld by generalized forms.
    This allows us to build additional EFI applications that are
    included into the U-Boot binary without loading
    scripts/Makefile.lib with specific filenames.

    Signed-off-by: Heinrich Schuchardt
    Signed-off-by: Alexander Graf

    Heinrich Schuchardt
     
  • In scripts/Makefile.lib we build section including helloworld.efi.
    This allows to load the EFI binary with command 'bootefi hello'.

    scripts/Makefile.lib contains explicit references to strings
    containing helloworld and hello_world. This makes it impossible
    to generalize the coding to accomodate additional built in
    EFI binaries.

    Let us rename the variables __efi_hello_world_* to
    __efi_helloworld_*.

    Signed-off-by: Heinrich Schuchardt
    Signed-off-by: Alexander Graf

    Heinrich Schuchardt
     
  • The target
    $(obj)/helloworld.so:
    exists twice in Makefile.lib.

    If you add an echo command to each of the two recipes you get
    warnings like:

    scripts/Makefile.lib:383: warning:
    overriding recipe for target 'drivers/power/battery/helloworld.so'
    scripts/Makefile.lib:379: warning:
    ignoring old recipe for target 'drivers/power/battery/helloworld.so'

    This patch removes the obsolete target.

    Signed-off-by: Heinrich Schuchardt
    Signed-off-by: Alexander Graf

    Heinrich Schuchardt
     

15 Sep, 2017

1 commit


30 Jul, 2017

1 commit

  • If ASL compiler failed by any reason do not produce output C file.
    Otherwise sequential run of make will shadow the actual error in ASL,
    i.e.

    CC board/intel/edison/dsdt.o
    board/intel/edison/dsdt.c:1:1: error: unterminated comment
    /*

    and user has to remove dsdt.c and run make in order to see the error again.

    Signed-off-by: Andy Shevchenko
    Reviewed-by: Bin Meng
    Tested-by: Bin Meng

    Andy Shevchenko
     

06 Jun, 2017

1 commit

  • We only want to apply files such as 'omap5-u-boot.dtsi', which resides
    in arch/arm/dts/ to other files in arch/arm/dts/ and not say
    test/overlay/. Rework the make logic to check for -u-boot.dtsi files in
    the same directory as their target dts.

    Cc: Simon Glass
    Reported-by: Pantelis Antoniou
    Signed-off-by: Tom Rini
    Tested-by: Pantelis Antoniou
    Reviewed-by: Simon Glass

    Tom Rini
     

19 May, 2017

1 commit

  • The intention of having a -u-boot.dtsi file is to be able to make
    changes to the provided upstream dts files as well as to be able to add
    nodes. Change the logic for adding the file from making it the last
    included file at the top of the dts to being included at the end of the
    file.

    Cc: Jean-Jacques Hiblot
    Cc: Simon Glass
    Signed-off-by: Tom Rini
    Tested-by: Jean-Jacques Hiblot
    Reviewed-by: Simon Glass

    Tom Rini
     

15 Jan, 2017

2 commits


03 Jan, 2017

1 commit

  • To being able to sign created binaries, we need to know the HAB Blocks
    for that image. Especially for the imximage type the HAB Blocks are
    only available during creation of the image. We want to preserve the
    information until we get to sign the files.
    In the verbose case we still get them printed out instead of writing
    to log files.

    Cc: sbabic@denx.de

    v2-Changes:
    - No usage of MKIMAGEOUTPUT_$(@F) macro.
    - Predefine default value /dev/null in every involved Makefile.

    Signed-off-by: Sven Ebenfeld
    Reviewed-by: George McCollister
    Tested-by: George McCollister

    Sven Ebenfeld
     

20 Dec, 2016

3 commits

  • Move sunxi boards to use binman. This involves adding the image definition
    to the device tree and using it in the Makefile.

    Signed-off-by: Simon Glass
    Reviewed-by: Tom Rini

    Simon Glass
     
  • For boards that need U-Boot-specific additions to the device tree, it is
    a minor annoyance to have to add these each time the tree is synced with
    upstream.

    Add a means to include a file (e.g. u-boot.dtsi) automatically into the .dts
    file before it is compiled.

    The file uses is the first one that exists in this list:

    arch//dts/-u-boot.dtsi
    arch//dts/-u-boot.dtsi
    arch//dts/-u-boot.dtsi
    arch//dts/-u-boot.dtsi
    arch//dts/u-boot.dtsi

    Signed-off-by: Simon Glass
    Suggested-by: Tom Rini
    Reviewed-by: Bin Meng
    Tested-by: Bin Meng

    Simon Glass
     
  • It is sometimes useful to be able to reference configuration options in a
    device tree source file. Add the necessary includes so that this works.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng
    Tested-by: Bin Meng

    Simon Glass
     

15 Nov, 2016

1 commit


20 Aug, 2016

1 commit

  • Having dashes as a separator in the DTB name is a quite common practice.

    However, the current code to generate objects from DTBs assumes the
    separator is an underscore, leading to a compilation error when building a
    device tree with dashes.

    Replace all the dashes in the DTB name to generate the symbols name, which
    should solve this issue.

    Acked-by: Simon Glass
    Acked-by: Pantelis Antoniou
    Signed-off-by: Maxime Ripard

    Maxime Ripard
     

30 May, 2016

1 commit

  • ASL files may include various U-Boot header files, but IASL compiler
    does not understand any C language embedded in these header files.
    To reuse those header files for ASL compiling, use __ASSEMBLY__ in
    the header files to exclude everything that is not liked by IASL.

    Signed-off-by: Bin Meng
    Reviewed-by: Simon Glass

    Bin Meng
     

23 May, 2016

5 commits


30 Jan, 2016

1 commit


19 Jan, 2016

1 commit