1. 03 3月, 2020 1 次提交
  2. 26 1月, 2020 1 次提交
  3. 17 1月, 2020 1 次提交
  4. 15 12月, 2019 2 次提交
  5. 07 12月, 2019 4 次提交
  6. 03 12月, 2019 1 次提交
  7. 08 10月, 2019 1 次提交
  8. 21 6月, 2019 1 次提交
  9. 05 5月, 2019 2 次提交
    • M
      lib: add Zstandard decompression support · 8509f22a
      Marek Behún 提交于
      Add the zstd library from Linux kernel (only decompression support).
      There are minimal changes to build with U-Boot, otherwise the files are
      identical to Linux commit dc35da16 from March 2018, the files had not
      been touched since in kernel. Also SPDX lincese tags were added.
      Signed-off-by: NMarek Behún <marek.behun@nic.cz>
      8509f22a
    • M
      lib: Add xxhash support · 83a486b6
      Marek Behún 提交于
      This adds the xxhash support from Linux. Files are almost identical to
      those added to Linux in commit 5d240522 ("lib: Add xxhash module") (they
      haven't been touched since in Linux). The only difference is to add some
      includes to be compatible with U-Boot. Also SPDX lincese tags were
      added.
      Signed-off-by: NMarek Behún <marek.behun@nic.cz>
      83a486b6
  10. 09 2月, 2019 1 次提交
    • A
      initcall: Move to inline function · 47870afa
      Alexander Graf 提交于
      The board_r init function was complaining that we are looping through
      an array, calling all our tiny init stubs sequentially via indirect
      function calls (which can't be speculated, so they are slow).
      
      The solution to that is pretty easy though. All we need to do is inline
      the function that loops through the functions and the compiler will
      automatically convert almost all indirect calls into direct inlined code.
      
      With this patch, the overall code size drops (by 40 bytes on riscv64)
      and boot time should become measurably faster for every target.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      47870afa
  11. 17 1月, 2019 2 次提交
  12. 16 1月, 2019 1 次提交
  13. 09 12月, 2018 1 次提交
    • P
      Roll CRC16-CCITT into the hash infrastructure · 51c2345b
      Philipp Tomsich 提交于
      The CRC16-CCITT checksum function is useful for space-constrained
      applications (such as obtaining a checksum across a 2KBit or 4KBit
      EEPROM) in boot applications. It has not been accessible from boot
      scripts until now (due to not having a dedicated command and not being
      supported by the hash infrstructure) limiting its applicability
      outside of custom commands.
      
      This adds the CRC16-CCITT (poly 0x1021, init 0x0) algorithm to the
      list of available hashes and adds a new crc16_ccitt_wd_buf() to make
      this possible.
      Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
      [trini: Fix building crc16.o for SPL/TPL]
      Signed-off-by: NTom Rini <trini@konsulko.com>
      51c2345b
  14. 03 12月, 2018 1 次提交
  15. 21 11月, 2018 1 次提交
  16. 09 10月, 2018 1 次提交
  17. 24 9月, 2018 2 次提交
  18. 19 6月, 2018 1 次提交
  19. 13 6月, 2018 1 次提交
    • A
      lib: Add hexdump · f8c987f8
      Alexey Brodkin 提交于
      Often during debugging session it's very interesting to see
      what data we were dealing with. For example what we write or read
      to/from memory or peripherals.
      
      This change introduces functions that allow to dump binary
      data with one simple function invocation like:
      ------------------->8----------------
      print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, buf, len);
      ------------------->8----------------
      
      which gives us the following:
      ------------------->8----------------
      00000000: f2 b7 c9 88 62 61 75 64 72 61 74 65 3d 31 31 35  ....baudrate=115
      00000010: 32 30 30 00 62 6f 6f 74 61 72 67 73 3d 63 6f 6e  200.bootargs=con
      00000020: 73 6f 6c 65 3d 74 74 79 53 33 2c 31 31 35 32 30  sole=ttyS3,11520
      00000030: 30 6e 38 00 62 6f 6f 74 64 65 6c 61 79 3d 33 00  0n8.bootdelay=3.
      00000040: 62 6f 6f 74 66 69 6c 65 3d 75 49 6d 61 67 65 00  bootfile=uImage.
      00000050: 66 64 74 63 6f 6e 74 72 6f 6c 61 64 64 72 3d 39  fdtcontroladdr=9
      00000060: 66 66 62 31 62 61 30 00 6c 6f 61 64 61 64 64 72  ffb1ba0.loadaddr
      00000070: 3d 30 78 38 32 30 30 30 30 30 30 00 73 74 64 65  =0x82000000.stde
      00000080: 72 72 3d 73 65 72 69 61 6c 30 40 65 30 30 32 32  rr=serial0@e0022
      00000090: 30 30 30 00 73 74 64 69 6e 3d 73 65 72 69 61 6c  000.stdin=serial
      000000a0: 30 40 65 30 30 32 32 30 30 30 00 73 74 64 6f 75  0@e0022000.stdou
      000000b0: 74 3d 73 65 72 69 61 6c 30 40 65 30 30 32 32 30  t=serial0@e00220
      000000c0: 30 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00  00..............
      ...
      ------------------->8----------------
      
      Source of hexdump.c was copied from Linux kernel v4.7-rc2.
      Signed-off-by: NAlexey Brodkin <abrodkin@synopsys.com>
      Cc: Anatolij Gustschin <agust@denx.de>
      Cc: Mario Six <mario.six@gdsys.cc>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Stefan Roese <sr@denx.de>
      f8c987f8
  20. 30 5月, 2018 1 次提交
  21. 26 5月, 2018 3 次提交
    • M
      tpm: prepare support for TPMv2.x commands · ff32245b
      Miquel Raynal 提交于
      Choice between v1 and v2 compliant functions is done with the
      configuration.
      
      Create the various files that will receive TPMv2-only code on the same
      scheme as for the TPMv1 code.
      Signed-off-by: NMiquel Raynal <miquel.raynal@bootlin.com>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      ff32245b
    • M
      tpm: disociate TPMv1.x specific and generic code · d677bfe2
      Miquel Raynal 提交于
      There are no changes in this commit but a new organization of the code
      as follow.
      
      * cmd/ directory:
              > move existing code from cmd/tpm.c in cmd/tpm-common.c
      	> move specific code in cmd/tpm-v1.c
      	> create a specific header file with generic definitions for
      	  commands only called cmd/tpm-user-utils.h
      
      * lib/ directory:
              > move existing code from lib/tpm.c in lib/tpm-common.c
      	> move specific code in lib/tpm-v1.c
      	> create a specific header file with generic definitions for
      	  the library itself called lib/tpm-utils.h
      
      * include/ directory:
              > move existing code from include/tpm.h in include/tpm-common.h
      	> move specific code in include/tpm-v1.h
      
      Code designated as 'common' is compiled if TPM are used. Code designated
      as 'specific' is compiled only if the right specification has been
      selected.
      
      All files include tpm-common.h.
      Files in cmd/ include tpm-user-utils.h.
      Files in lib/ include tpm-utils.h.
      Depending on the specification, files may include either (not both)
      tpm-v1.h or tpm-v2.h.
      Signed-off-by: NMiquel Raynal <miquel.raynal@bootlin.com>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      [trini: Fix a few more cases of tpm.h -> tpm-v1.h, some Kconfig logic]
      Signed-off-by: NTom Rini <trini@konsulko.com>
      d677bfe2
    • M
      tpm: prepare introduction of TPMv2.x support in Kconfig · 9f9ce3c3
      Miquel Raynal 提交于
      Because both major revisions are not compatible at all, let's make them
      mutually exclusive in Kconfig. This way we will be sure, when using a
      command or a library function that it is supported by the right
      revision.
      
      Current drivers are currently prefixed by "tpm_", we will prefix TPMv2.x
      files by "tpm2_" to make the distinction without moving everything.
      
      The Kconfig menu about TPM drivers is now divided into two sections, one
      for each specification. Compliant drivers with one specification will
      only show up if this specification _only_ has been selected, otherwise a
      comment is displayed.
      
      Once a driver is selected by the user, it selects automatically a
      boolean value, that is needed in order to activate the TPM commands.
      Selecting the TPM commands will automatically select the right
      command/library files.
      Signed-off-by: NMiquel Raynal <miquel.raynal@bootlin.com>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      [trini: Rework deps as TPM_V1 and TPM_V2 depend on TPM,
              drop TPM_DRIVER_SELECTED]
      Signed-off-by: NTom Rini <trini@konsulko.com>
      9f9ce3c3
  22. 07 5月, 2018 1 次提交
    • T
      SPDX: Convert all of our single license tags to Linux Kernel style · 83d290c5
      Tom Rini 提交于
      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: NTom Rini <trini@konsulko.com>
      83d290c5
  23. 29 4月, 2018 1 次提交
    • A
      spl: Split sprintf, strto* from SPL serial in Kconfig · 14ad44ab
      Alex Kiernan 提交于
      When SPL serial is disabled, callers who need sprintf or strtoul fail
      because their inclusion is guarded by CONFIG_SPL_SERIAL_SUPPORT/
      CONFIG_TPL_SERIAL_SUPPORT.
      
      Split printf, sprintf and strto into their own entries and then select
      all of them if SERIAL_SUPPORT is enabled to match the current behaviour.
      
      Include panic.o unconditionally as it can be called from anywhere which
      uses BUG_ON().
      Signed-off-by: NAlex Kiernan <alex.kiernan@gmail.com>
      14ad44ab
  24. 20 3月, 2018 1 次提交
    • B
      optee: Add lib entries for sharing OPTEE code across ports · 32ce6179
      Bryan O'Donoghue 提交于
      This patch adds code to lib to enable sharing of useful OPTEE code between
      board-ports and architectures. The code on lib/optee/optee.c comes from the
      TI omap2 port. Eventually the OMAP2 code will be patched to include the
      shared code. The intention here is to add more useful OPTEE specific code
      as more functionality gets added.
      Signed-off-by: NBryan O'Donoghue <bryan.odonoghue@linaro.org>
      Cc: Harinarayan Bhatta <harinarayan@ti.com>
      Cc: Andrew F. Davis <afd@ti.com>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Kever Yang <kever.yang@rock-chips.com>
      Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
      Cc: Peng Fan <peng.fan@nxp.com>
      Tested-by: NPeng Fan <peng.fan@nxp.com>
      32ce6179
  25. 23 1月, 2018 1 次提交
    • H
      efi_driver: EFI block driver · 05ef48a2
      Heinrich Schuchardt 提交于
      This patch provides
      * a uclass for EFI drivers
      * a EFI driver for block devices
      
      For each EFI driver the uclass
      * creates a handle
      * adds the driver binding protocol
      
      The uclass provides the bind, start, and stop entry points for the driver
      binding protocol.
      
      In bind() and stop() it checks if the controller implements the protocol
      supported by the EFI driver. In the start() function it calls the bind()
      function of the EFI driver. In the stop() function it destroys the child
      controllers.
      
      The EFI block driver binds to controllers implementing the block io
      protocol.
      
      When the bind function of the EFI block driver is called it creates a
      new U-Boot block device. It installs child handles for all partitions and
      installs the simple file protocol on these.
      
      The read and write functions of the EFI block driver delegate calls to the
      controller that it is bound to.
      
      A usage example is as following:
      
      U-Boot loads the iPXE snp.efi executable. iPXE connects an iSCSI drive and
      exposes a handle with the block IO protocol. It calls ConnectController.
      
      Now the EFI block driver installs the partitions with the simple file
      protocol.
      
      iPXE uses the simple file protocol to load Grub or the Linux Kernel.
      Signed-off-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
      [agraf: add comment on calloc len]
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      05ef48a2
  26. 06 10月, 2017 1 次提交
  27. 03 10月, 2017 1 次提交
  28. 19 9月, 2017 1 次提交
    • H
      efi_selftest: provide an EFI selftest application · 623b3a57
      Heinrich Schuchardt 提交于
      A testing framework for the EFI API is provided.
      It can be executed with the 'bootefi selftest' command.
      
      It is coded in a way that at a later stage we may turn it
      into a standalone EFI application. The current build system
      does not allow this yet.
      
      All tests use a driver model and are run in three phases:
      setup, execute, teardown.
      
      A test may be setup and executed at boottime,
      it may be setup at boottime and executed at runtime,
      or it may be setup and executed at runtime.
      
      After executing all tests the system is reset.
      Signed-off-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      623b3a57
  29. 15 9月, 2017 1 次提交
  30. 13 9月, 2017 1 次提交
  31. 11 9月, 2017 1 次提交