Skip to content
  1. Jul 05, 2024
  2. Jun 21, 2024
  3. Jun 20, 2024
  4. Jun 17, 2024
    • Jean-Philippe Brucker's avatar
      config: Fix SMMU registers · f2e38fd3
      Jean-Philippe Brucker authored and Ryan Roberts's avatar Ryan Roberts committed
      
      
      SMMU_IDR1 is too restrictive to be used by Linux:
      - StreamID size of 2 bits, means the SMMU can't support 16-bit PCI IDs
      - Event queue and command queues have a max size of 1 and 9. Linux needs at
        least 64 entries:
        [    1.485702] arm-smmu-v3 2b400000.iommu: command queue size <= 64 entries not supported
      
      Do the union of the current features and the default model features.
      
      Signed-off-by: default avatarJean-Philippe Brucker <jean-philippe@linaro.org>
      Signed-off-by: Ryan Roberts's avatarRyan Roberts <ryan.roberts@arm.com>
      f2e38fd3
    • Ryan Roberts's avatar
      test: Fix stdout encoding · e2a031fe
      Ryan Roberts authored
      
      
      test.py captures stdout/err from the FVP and dumps it to the test's
      stdout. It was previously encoding as utf-8 at source but in some cases
      an exception meant that stdout was remaining binary. Let's always
      capture it in binary then unconditionally encode as utf-8 when we write
      it to stdout. That way we should sidestep the write() error if an
      exception had occured.
      
      Signed-off-by: Ryan Roberts's avatarRyan Roberts <ryan.roberts@arm.com>
      e2a031fe
    • Ryan Roberts's avatar
      docker: Fix libdbus warning when booting fvp · 584a8c57
      Ryan Roberts authored
      
      
      Previously, the fvp would display "libdbus-1.so.3: cannot open shared
      object file: No such file or directory" during boot. This was caused by
      libdbus being missing. Once added to the container, the fvp started
      using dbus to setup audio and emitted more warnings due to libpulse
      being missing, so lets add that too.
      
      Signed-off-by: Ryan Roberts's avatarRyan Roberts <ryan.roberts@arm.com>
      584a8c57
  5. Jun 14, 2024
  6. Jun 12, 2024
  7. Jun 11, 2024
  8. Jun 09, 2024
    • Ryan Roberts's avatar
      docker: Enhance build.sh to support kaniko · ab7b137f
      Ryan Roberts authored
      
      
      When building images on CI, we need to use Kaniko, since docker doesn't
      work when running inside docker. So let's enhance the script to allow
      the user to specify the driver. While we are at it, also allow the user
      to specify the registry, since that will be needed for CI too, to store
      temporary images. Additionally, ensure the script runs under sh, since
      bash is not available in the kaniko container image.
      
      For some reason `uname -p` returns "unknown" on CI runners, so let's
      switch to the more standard `uname -m` instead.
      
      Signed-off-by: Ryan Roberts's avatarRyan Roberts <ryan.roberts@arm.com>
      ab7b137f
    • Ryan Roberts's avatar
      docker: Cache web packages while building · c2ac5220
      Ryan Roberts authored
      
      
      build.sh previously downloaded the toolchains and fvp from the web
      everytime it was invoked and deleted them when finished. This is
      expensive, but worse, on the CI, wget is not available in the container
      we must use to build the image.
      
      So let's store the packages in a separate `assets` subdirectory, and
      first check if what we need is there before downloading it. Additionally
      don't delete them when finished. Locally, this avoids subsequent
      invocations needing to download the packages. On the CI, we can cache
      the directory so that subsequent pipelines are faster.
      
      Finally add a special version, `none`, which if specified, syncs the
      package cache but exits without actually building any images. This is
      useful to enable separating the process of populating the cache on CI.
      
      Signed-off-by: Ryan Roberts's avatarRyan Roberts <ryan.roberts@arm.com>
      c2ac5220
    • Ryan Roberts's avatar
      test: Optionally output results in junit format · 701af5c1
      Ryan Roberts authored
      
      
      This format can be consumed by gitlab CI. While at it, exit with
      non-zero exit code if any tests fail.
      
      Signed-off-by: Ryan Roberts's avatarRyan Roberts <ryan.roberts@arm.com>
      701af5c1
    • Ryan Roberts's avatar
      test: Run multiple fvps in parallel · 8539f7f6
      Ryan Roberts authored
      
      
      When running on a system with enough RAM and multiple CPUs, we can do
      multiple FVP runs in parallel to save text execution time. This is
      useful for the CI. A new option, `--fvpjobs` is added to specify the
      maximum number of parallel instances. When 1 (the default), shrinkwrap
      continues to output directly to the console as before. When >1, the
      entire output of each run is captured then dumpped to stdout out
      atomically.
      
      Signed-off-by: Ryan Roberts's avatarRyan Roberts <ryan.roberts@arm.com>
      8539f7f6
    • Ryan Roberts's avatar
      test: Improve test list format and test naming · 048b3be6
      Ryan Roberts authored
      
      
      To make test.py more suitable for use in CI, let's do a better job of
      standardising the test names using type, config and overlay. And for run
      tests, let's add a tag to identify the run configuration, since we often
      run the same build in different configs.
      
      By reflecting this hierachy in the test list, we also fix a previous
      problem where the same build configuraiton was passed to Shrinkwrap
      multiple times, so this should speed up the test run.
      
      Signed-off-by: Ryan Roberts's avatarRyan Roberts <ryan.roberts@arm.com>
      048b3be6
  9. Jun 05, 2024
    • Ryan Roberts's avatar
      test: genassets.sh changes for CI compatibility. · f21710ef
      Ryan Roberts authored
      
      
      GitLab CI runners can only access git repos using the https protocol, so
      update the bootwrapper URL suitably.
      
      Additionally make the assets directory more friendly for caching by
      ensuring only generated files that we want to cache are put there. So
      move the script itself up a level, and make the build directory a
      sibling - if building fails, we would not want to accidentally cache
      that directory.
      
      Signed-off-by: Ryan Roberts's avatarRyan Roberts <ryan.roberts@arm.com>
      f21710ef
  10. May 15, 2024
  11. May 08, 2024
  12. May 07, 2024
    • Ryan Roberts's avatar
      build: Fix output to logfile · 3549013a
      Ryan Roberts authored
      
      
      Log files are per-script fragment and are named based on the component
      to which they are associated. Until commit 7be0dacf ("build: Split
      per-component artifact copy step"), there was at most, 1 script fragment
      associated with each component, so this all worked as intended. But that
      commit changed the "copy" script fragment to be per-component instead of
      global. This meant that there were multiple log files with the same name
      and the latter ones overwrote the former ones.
      
      Fix this by introducing a per-component log file number, which is
      appended to the log file name. It starts at 0 and increments for each
      script fragment that is bound to a component.
      
      Fixes: 7be0dacf ("build: Split per-component artifact copy step")
      Signed-off-by: Ryan Roberts's avatarRyan Roberts <ryan.roberts@arm.com>
      3549013a
    • Ryan Roberts's avatar
      utils: Squash SyntaxWarning with Python 3.12 · 4be91230
      Ryan Roberts authored
      
      
      When running with Python 3.12, the following warnings are emitted. Let's
      fix them.
      
      utils/config.py:240: SyntaxWarning: invalid escape sequence '\$'
      utils/config.py:241: SyntaxWarning: invalid escape sequence '\$'
      utils/config.py:242: SyntaxWarning: invalid escape sequence '\{'
      utils/config.py:245: SyntaxWarning: invalid escape sequence '\}'
      
      Signed-off-by: Ryan Roberts's avatarRyan Roberts <ryan.roberts@arm.com>
      4be91230
  13. Mar 21, 2024
  14. Mar 20, 2024
Loading