1. 12 11月, 2019 1 次提交
    • S
      binman: tegra: Adjust symbol calculation depending on end-at-4gb · 7c150136
      Simon Glass 提交于
      A recent change adjusted the symbol calculation to work on x86 but broke
      it for Tegra. In fact this is because they have different needs.
      
      On x86 devices the code is linked to a ROM address and the end-at-4gb
      property is used for the image. In this case there is no need to add the
      base address of the image, since the base address is already built into
      the offset and image-pos properties.
      
      On other devices we must add the base address since the offsets start at
      zero.
      
      In addition the base address is currently added to the 'offset' and 'size'
      values. It should in fact only be added to 'image-pos', since 'offset' is
      relative to its parent and 'size' is not actually an address. This code
      should have been adjusted when support for 'image-pos' and 'size' was
      added, but it was not.
      
      To correct these problems:
      - move the code that handles adding the base address to section.py, which
        can check the end-at-4gb property and which property
        (offset/size/image-pos) is being read
      - add the base address only when needed (only for image-pos and not if the
        image uses end-at-4gb)
      - add a note to the documentation
      - add a separate test to cover x86 behaviour
      
      Fixes: 15c981cc (binman: Correct symbol calculation with non-zero image base)
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      Tested-by: NStephen Warren <swarren@nvidia.com>
      7c150136
  2. 05 11月, 2019 5 次提交
  3. 02 11月, 2019 4 次提交
  4. 15 10月, 2019 30 次提交