1. 15 10月, 2019 3 次提交
    • S
      binman: Add support for Intel FIT · 5af1207e
      Simon Glass 提交于
      A Firmware Image Table (FIT) is a data structure defined by Intel which
      contains information about various things needed by the SoC, such as
      microcode.
      
      Add support for this entry as well as the pointer to it. The contents of
      FIT are fixed at present. Future work is needed to support adding
      microcode, etc.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      5af1207e
    • S
      binman: Add support for an x86 'reset' section · 2250ee6e
      Simon Glass 提交于
      At present binman has a single entry type for the 16-bit code code needed
      to start up an x86 processor. This entry is intended to include both the
      reset vector itself as well as the code to move to 32-bit mode.
      
      However this is not very flexible since in some cases other data needs to
      be included at the top of the SPI flash, in between these two pieces. For
      example Intel requires that a FIT (Firmware Image Table) pointer be placed
      0x40 bytes before the end of the ROM.
      
      To deal with this, add a new reset entry for just the reset vector. A
      subsequent change will adjust the existing 'start16' entry.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      2250ee6e
    • S
      binman: Correct use of 'replace' in IFWI tests · 3da9ce8d
      Simon Glass 提交于
      At present the Intel IFWI entry uses 'replace' without the 'ifwi-' prefix.
      This is a fairly generic name which might conflict with the main Entry
      base class at some point, if more features are added. Add a prefix.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      3da9ce8d
  2. 29 7月, 2019 8 次提交
    • S
      binman: Add command-line support for replacing entries · a6cb9950
      Simon Glass 提交于
      Add a 'replace' command to binman to permit entries to be replaced, either
      individually or all at once (using a filter).
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      a6cb9950
    • S
      binman: Support replacing data in a cbfs · eb0f4a4c
      Simon Glass 提交于
      At present binman cannot replace data within a CBFS since it does not
      allow rewriting of the files in that CBFS. Implement this by using the
      new WriteData() method to handle the case.
      
      Add a header to compressed data so that the amount of compressed data can
      be determined without reference to the size of the containing entry. This
      allows the entry to be larger that the contents, without causing errors in
      decompression. This is necessary to cope with a compressed device tree
      being updated in such a way that it shrinks after the entry size is
      already set (an obscure case). It is not used with CBFS since it has its
      own metadata for this. Increase the number of passes allowed to resolve
      the position of entries, to handle this case.
      
      Add a test for this new logic.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      eb0f4a4c
    • S
      binman: Place Intel descriptor at image start · 27145fd3
      Simon Glass 提交于
      The Intel descriptor must always appear at the start of an (x86) image,
      so it is supposed to position itself there always. However there is no
      explicit test for this. Add one and fix a bug introduced by the recent
      change to adjust Entry to read the node in a separate call.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      27145fd3
    • S
      binman: Support shrinking a entry after packing · 61ec04f9
      Simon Glass 提交于
      Sometimes an entry may shrink after it has already been packed. In that
      case we must repack the items. Of course it is always possible to just
      leave the entry at its original size and waste space at the end. This is
      what binman does by default, since there is the possibility of the entry
      changing size every time binman calculates its contents, thus causing a
      loop.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      61ec04f9
    • S
      binman: Allow updating entries that change size · 51014aab
      Simon Glass 提交于
      So far we don't allow entries to change size when repacking. But this is
      not very useful since it is common for entries to change size after an
      updated binary is built, etc.
      
      Add support for this, respecting the original offset/size/alignment
      constraints of the image layout. For this to work the original image
      must have been created with the 'allow-repack' property.
      
      This does not support entry types with sub-entries such as files and
      CBFS, but it does support sections.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      51014aab
    • S
      binman: Add more tests for image header position · eba1f0cc
      Simon Glass 提交于
      The positioning does not currently work correctly if at the end of an
      image with no fixed size. Also if the header is in the middle of an image
      it can cause a gap in the image since the header position is normally at
      the image end, so entries after it are placed after the end of the image.
      
      Fix these problems and add more tests to cover these cases.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      eba1f0cc
    • S
      binman: Add info to allow safely repacking an image later · 12bb1a99
      Simon Glass 提交于
      At present it is not possible to discover the contraints to repacking an
      image (e.g. maximum section size) since this information is not preserved
      from the original image description.
      
      Add new 'orig-offset' and 'orig-size' properties to hold this. Add them to
      the main device tree in the image.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      12bb1a99
    • S
      binman: Support updating entries in an existing image · 10f9d006
      Simon Glass 提交于
      While it is useful and efficient to build images in a single pass from a
      unified description, it is sometimes desirable to update the image later.
      
      Add support for replace an existing file with one of the same size. This
      avoids needing to repack the file. Support for more advanced updates will
      come in future patches.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      10f9d006
  3. 25 7月, 2019 14 次提交
  4. 24 7月, 2019 2 次提交
  5. 08 5月, 2019 1 次提交
  6. 23 10月, 2018 1 次提交
  7. 09 10月, 2018 1 次提交
  8. 30 9月, 2018 7 次提交
  9. 29 9月, 2018 3 次提交