Skip to content
Snippets Groups Projects
  1. Apr 13, 2020
  2. Apr 10, 2020
    • Tom Rini's avatar
      kconfig / kbuild: Re-sync with Linux 4.19 · 587e4a42
      Tom Rini authored
      
      Align Kconfig and Kbuild logic to Linux 4.19 release with minimal impact
      on files outside of this scope.
      
      Our previous Kconfig sync was done by commit 5972ff07 ("kconfig /
      kbuild: re-sync with Linux 4.18").
      
      In this particular re-sync in order to keep clang support working a
      number of related changes needed to be pulled in that had been missed
      previously.  Not all of these changes we easily traceable and so have
      been omitted from the list below.
      
      The imported Linux commits are:
      [From prior to v4.18]
      9f3f1fd29976 kbuild: Add __cc-option macro
      d7f14c66c273 kbuild: Enable Large File Support for hostprogs
      6d79a7b424a5 kbuild: suppress warnings from 'getconf LFS_*'
      24403874316a Shared library support
      86a9df597cdd kbuild: fix linker feature test macros when cross compiling with Clang
      0294e6f4a000 kbuild: simplify ld-option implementation
      
      [From v4.18 to v4.19]
      96f14fe738b6 kbuild: Rename HOSTCFLAGS to KBUILD_HOSTCFLAGS
      10844aebf448 kbuild: Rename HOSTCXXFLAGS to KBUILD_HOSTCXXFLAGS
      b90a368000ab kbuild: Rename HOSTLDFLAGS to KBUILD_HOSTLDFLAGS
      8377bd2b9ee1 kbuild: Rename HOST_LOADLIBES to KBUILD_HOSTLDLIBS
      f92d19e0ef9b kbuild: Use HOST*FLAGS options from the command line
      4ab3b80159d4 kconfig: check for pkg-config on make {menu,n,g,x}config
      693359f7ac90 kconfig: rename SYMBOL_AUTO to SYMBOL_NO_WRITE
      f60b992e30ff kbuild: replace $(LDFLAGS) $(ldflags-y) with $(ld_flags)
      2fb9279f2c3e kbuild: change ld_flags to contain LDFLAGS_$(@F)
      c931d34ea085 arm64: build with baremetal linker target instead of Linux when available
      5accd7f3360e kconfig: handle format string before calling conf_message_callback()
      a2ff4040151a kconfig: rename file_write_dep and move it to confdata.c
      0608182ad542 kconfig: split out useful helpers in confdata.c
      adc18acf42a1 kconfig: remove unneeded directory generation from local*config
      79123b1389cc kconfig: create directories needed for syncconfig by itself
      16952b77d8b5 kconfig: make syncconfig update .config regardless of sym_change_count
      d6c6ab93e17f kbuild: remove deprecated host-progs variable
      56869d45e364 kconfig: fix the rule of mainmenu_stmt symbol
      c151272d1687 kconfig: remove unused sym_get_env_prop() function
      1880861226c1 kconfig: remove P_ENV property type
      e3fd9b5384f3 scripts/dtc: consolidate include path options in Makefile
      4bf6a9af0e91 kconfig: add build-only configurator targets
      f1575595d156 kconfig: error out when seeing recursive dependency
      5e8c5299d315 kconfig: report recursive dependency involving 'imply'
      f498926c47aa kconfig: improve the recursive dependency report
      98a4afbfafd2 kconfig: fix "Can't open ..." in parallel build
      9a9ddcf47831 kconfig: suppress "configuration written to .config" for syncconfig
      87a32e624037 kbuild: pass LDFLAGS to recordmcount.pl
      d503ac531a52 kbuild: rename LDFLAGS to KBUILD_LDFLAGS
      217c3e019675 disable stringop truncation warnings for now
      bc8d2e20a3eb kconfig: remove a spurious self-assignment
      fd65465b7016 kconfig: do not require pkg-config on make {menu,n}config
      5a4630aadb9a ftrace: Build with CPPFLAGS to get -Qunused-arguments
      
      Note that this adds new cleanup work to do in that we should adapt the
      shared library support we have to what is now upstream.
      
      Signed-off-by: default avatarTom Rini <trini@konsulko.com>
      Reviewed-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      587e4a42
  3. Apr 06, 2020
  4. Apr 03, 2020
    • Michal Simek's avatar
      arch: Add explicit linker script for u-boot-elf · e14ba8a5
      Michal Simek authored and Tom Rini's avatar Tom Rini committed
      Commit f4dc714a ("arm64: Turn u-boot.bin back into an ELF file after
      relocate-rela")
      introduce REMAKE_ELF option to recreate u-boot.elf from u-boot ->
      u-boot.bin + DT -> u-boot.elf.
      
      The best is to ilustrate it from make V=1 output
        cat u-boot-nodtb.bin dts/dt.dtb > u-boot-dtb.bin
        cp u-boot-dtb.bin u-boot.bin
      aarch64-linux-gnu-objcopy -I binary -B aarch64 -O elf64-littleaarch64  u-boot.bin u-boot-elf.o
        aarch64-linux-gnu-ld.bfd u-boot-elf.o -o u-boot.elf --defsym="_start"=0x8000000 -Ttext=0x8000000
      
      Last command has no explicit linker script passed that's why toolchain
      internal linker script is used.
      In Binutils 2.32 case it contains SIZEOF_HEADERS symbol which has changed
      behavior by commit
      https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=64029e93683a266c38d19789e780f3748bd6a188
      
      
      which result in situation that program headers has changed from
      (xilinx_zynqmp_mini_defconfig)
      
      Program Headers:
        Type           Offset             VirtAddr           PhysAddr
                       FileSiz            MemSiz              Flags  Align
        LOAD           0x0000000000010000 0x00000000fffc0000 0x00000000fffc0000
                       0x0000000000018918 0x0000000000018918  RW     0x10000
      
      to
      
      Program Headers:
        Type           Offset             VirtAddr           PhysAddr
                       FileSiz            MemSiz              Flags  Align
        LOAD           0x0000000000000000 0x00000000fffb0000 0x00000000fffb0000
                       0x0000000000028918 0x0000000000028918  RW     0x10000
      
      Xilinx tools like XSDB or Bootgen are using program headers for loading ELF
      to the right location and by above binutils change ELF is loaded to
      incorrect location.
      
      The patch is explicitly use u-boot-elf.lds (just cat now) for u-boot.elf
      recreation which is called when REMAKE_ELF is setup.
      By purpose u-boot-elf.lds doesn't contain OUTPUT_FORMAT/OUTPUT_ARCH to be
      able to use by all archs.
      
      Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
      Reviewed-by: default avatarTom Rini <trini@konsulko.com>
      Reviewed-by: Daniel Schwierzeck's avatarDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
      Tested-By: default avatarÁlvaro Fernández Rojas <noltari@gmail.com>
      e14ba8a5
  5. Mar 30, 2020
  6. Mar 16, 2020
    • Tom Rini's avatar
      kconfig / kbuild: re-sync with Linux 4.18 · 5972ff07
      Tom Rini authored
      
      Align Kconfig and Kbuild logic to Linux 4.18 release with minimal impact
      on files outside of this scope.
      
      Our previous Kconfig sync was done by commit e91610da ("kconfig:
      re-sync with Linux 4.17-rc4").
      
      A very small number of changes upstream since our sync with v4.17-rc4
      that exist in the v4.18 release have already been applied here and have
      been omitted from the list in this commit (and are readily available in
      our own git history).
      
      The imported Linux commits are:
      [From prior to v4.17-rc4]
      39a33ff80a25 kbuild: remove cc-option-align
      db547ef19064 Kbuild: don't add obj tree in additional includes
      b999596b963a Kbuild: don't add ../../ to include path
      
      [From v4.17 to v4.18]
      b3aa58d2e85d fixdep: suppress consecutive / from file paths in dependency list files
      74656b682902 kbuild: disable new dtc graph and unit-address warnings
      74d931716151 genksyms: remove symbol prefix support
      e6ecfb45072c kbuild: do not display CHK for filechk
      0b669a5076fd kconfig: refactor Qt package checks for building qconf
      b464ef583dc7 kconfig: refactor GTK+ package checks for building gconf
      1c5af5cf9308 kconfig: refactor ncurses package checks for building mconf and nconf
      694c49a7c01c kconfig: drop localization support
      96f60dfa5819 trace: Use -mcount-record for dynamic ftrace
      bb222ceeb327 kconfig: remove string expansion in file_lookup()
      96d8e48da55a kconfig: remove string expansion for mainmenu after yyparse()
      5b31a9746756 kconfig: remove sym_expand_string_value()
      137c0118a900 kconfig: make default prompt of mainmenu less specific
      e298f3b49def kconfig: add built-in function support
      2fd5b09c201e kconfig: add 'shell' built-in function
      9de071536c87 kconfig: begin PARAM state only when seeing a command keyword
      9ced3bddec08 kconfig: support user-defined function and recursively expanded variable
      1175c02506ff kconfig: support simply expanded variable
      ed2a22f277c6 kconfig: support append assignment operator
      82bc8bd82e5c kconfig: expand lefthand side of assignment statement
      1d6272e6fe43 kconfig: add 'info', 'warning-if', and 'error-if' built-in functions
      a702a6176e2f kconfig: add 'filename' and 'lineno' built-in variables
      915f64901eb3 kconfig: error out if a recursive variable references itself
      2bece88f89fa kconfig: test: add Kconfig macro language tests
      21c54b774744 kconfig: show compiler version text in the top comment
      59f7b5847b0c kbuild: $(CHECK) doesnt need NOSTDINC_FLAGS twice
      145167650b96 kbuild: add endianness flag to CHEKCFLAGS
      1f2f01b122d7 kbuild: add machine size to CHECKFLAGS
      d6a0c8a1326b kconfig: Add testconfig into make help output
      bb6d83dde191 kbuild: Move last word of nconfig help to the previous line
      8593080c0fcf kconfig: fix localmodconfig
      ed7d40bc67b8 tracing: Fix SKIP_STACK_VALIDATION=1 build due to bad merge with -mrecord-mcount
      b2d00d7c61c8 kconfig: fix line numbers for if-entries in menu tree
      ecd53ac2f2c6 kconfig: handle P_SYMBOL in print_symbol()
      73d1c580f92b kconfig: loop boundary condition fix
      48f6e3cf5bc6 kbuild: do not drop -I without parameter
      bd412d81b7ea kbuild: .PHONY is not a variable, but PHONY is
      6916162c7308 kbuild: remove duplicated comments about PHONY
      
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Signed-off-by: default avatarTom Rini <trini@konsulko.com>
      Reviewed-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      5972ff07
  7. Mar 13, 2020
  8. Mar 06, 2020
  9. Feb 26, 2020
  10. Feb 12, 2020
  11. Jan 30, 2020
  12. Jan 28, 2020
  13. Jan 24, 2020
  14. Jan 23, 2020
  15. Jan 17, 2020
  16. Jan 10, 2020
    • Andy Shevchenko's avatar
      gcc-9: silence 'address-of-packed-member' warning · 53dc8ae6
      Andy Shevchenko authored and Tom Rini's avatar Tom Rini committed
      
      GCC 9.x starts complaining about potential misalignment of the pointer to
      the array (in this case alignment=2) in the packed (alignment=1) structures.
      
      Repeating Linus' Torvalds commit 6f303d60534c in the Linux kernel.
      
      Original commit message:
      
        We already did this for clang, but now gcc has that warning too.
        Yes, yes, the address may be unaligned.  And that's kind of the point.
      
      This in particular hides the warnings like
      
      drivers/usb/gadget/composite.c:545:23: warning: taking address of packed member of ‘struct usb_string_descriptor’ may result in an unaligned pointer value [-Waddress-of-packed-member]
        545 |    collect_langs(sp, s->wData);
      
      drivers/usb/gadget/composite.c:550:24: warning: taking address of packed member of ‘struct usb_string_descriptor’ may result in an unaligned pointer value [-Waddress-of-packed-member]
        550 |     collect_langs(sp, s->wData);
      
      drivers/usb/gadget/composite.c:555:25: warning: taking address of packed member of ‘struct usb_string_descriptor’ may result in an unaligned pointer value [-Waddress-of-packed-member]
        555 |      collect_langs(sp, s->wData);
      
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      53dc8ae6
  17. Jan 08, 2020
  18. Jan 07, 2020
  19. Jan 06, 2020
  20. Dec 16, 2019
  21. Dec 06, 2019
  22. Dec 04, 2019
    • Miquel Raynal's avatar
      mtd: Makefile: deep cleanup · fb438449
      Miquel Raynal authored and Tom Rini's avatar Tom Rini committed
      
      Move MTD-related lines out of the root Makefile. Put them in their
      respective directories. Enclose some of these new lines to skip them
      when building the SPL. MTD core files and some MTD device drivers are
      compiled in a mtd.o object and included in the final object only if
      MTD support is required (there are two different symbols for that, one
      for U-Boot and one for the SPL).
      
      Now that all defconfigs have been fixed, we can stop the logic where
      enabling a command selects the core files to compile. This logic is
      broken since selecting a symbol with a 'depends on' will not enforce
      this secondary dependency.
      
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      fb438449
  23. Dec 03, 2019
  24. Nov 25, 2019
    • Marek Vasut's avatar
      ARM: socfpga: Introduce u-boot-with-nand-spl.sfp target · 533832c6
      Marek Vasut authored
      
      The NAND devices with 128 kiB erase blocks require extra 64 kiB padding
      between each SPL image. Generate U-Boot image with such a padding using
      this new target.
      
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Chin Liang See <chin.liang.see@intel.com>
      Cc: Dalon Westergreen <dwesterg@gmail.com>
      Cc: Dinh Nguyen <dinguyen@kernel.org>
      Cc: Ley Foon Tan <ley.foon.tan@intel.com>
      Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
      Cc: Tien Fong Chee <tien.fong.chee@intel.com>
      Reviewed-by: default avatarLey Foon Tan <ley.foon.tan@intel.com>
      533832c6
  25. Nov 19, 2019
  26. Nov 14, 2019
  27. Nov 12, 2019
  28. Nov 06, 2019
    • Vignesh Raghavendra's avatar
      usb: Add Cadence USB3 host and gadget driver · 7e91f6cc
      Vignesh Raghavendra authored
      
      Add support for USB3 host and gadget driver. This is a direct sync of
      Linux kernel Cadence USB stack that from v5.4-rc1 release.
      Driver has been modified so that it compiles without errors against
      U-Boot code base.
      Features not required for U-Boot such as scatter-gather DMA and OTG
      interrupt handling has been dropped.
      
      Signed-off-by: default avatarJean-Jacques Hiblot <jjhiblot@ti.com>
      [jjhiblot@ti.com: Add PHY support]
      Signed-off-by: default avatarVignesh Raghavendra <vigneshr@ti.com>
      7e91f6cc
    • Heiko Schocher's avatar
      Makefile: fix dependency for imx targets · 0f282c18
      Heiko Schocher authored and Tom Rini's avatar Tom Rini committed
      
      imx targets are defined in arch/arm/mach-imx/Makefile.
      Some of them are dependent on targets defined in main
      Makefile. For the Makefile in arch/arm/mach-imx this
      targets must be finished before the imx targets are
      build, if not you get for example the error:
      
      make -f /home/hs/abb/mainlining/u-boot/scripts/Makefile.build obj=arch/arm/mach-imx u-boot-dtb.imx
      make[2]: *** No rule to make target 'u-boot-fit-dtb.bin', needed by 'u-boot-dtb.imx'.  Stop.
      make[1]: *** [/home/hs/abb/mainlining/u-boot/Makefile:1123: u-boot-dtb.imx] Error 2
      make[1]: *** Waiting for unfinished jobs....
      make[1]: Leaving directory '/work/hs/compile/u-boot/aristainetos2_defconfig'
      make: *** [Makefile:148: sub-make] Error 2
      compile failed
      
      In above case of CONFIG_MULTI_DTB_FIT is defined, the
      u-boot-dtb.imx is dependent on the u-boot-fit-dtb.bin
      which may is not build yet ...
      
      I could reproduce this error on a travis build also if
      I build an out-of-tree build on a local machine with a
      build directory on a "slow" slow storage device. If
      building the same source target with a build dir on a
      fast storage device, the build works.
      
      I found no solution to tell the arch/arm/mach-imx/Makefile
      to find the targets in main Makefile, if there is a way
      this would be the better fix.
      
      I solved it by adding a IMX_DEPS var, which holds a list
      of main u-boot targets, which must be finished, before
      calling imx targets and fixed the build for imx
      targets which enabled CONFIG_MULTI_DTB_FIT.
      
      I think it is just luck, that imx targets with
      CONFIG_OF_SEPARATE enabled build, because the
      u-boot-dtb.imx target depends on u-boot-dtb.bin
      which gets build early enough before starting with
      u-boot-dtb.imx. May this targets should be fixed too.
      
      Signed-off-by: default avatarHeiko Schocher <hs@denx.de>
      Reviewed-by: default avatarTom Rini <trini@konsulko.com>
      0f282c18
Loading