Open CI Scripts: Feature Update
* build_helper: Added --install argument to execute cmake install
* build_helper: Added the capability to parse axf files for
code/data/bss sizes and capture it to report
* build_helper: Added --relative-paths to calculate paths relative
to the root of the workspace
* build_helper_configs: Full restructure of config modules.
Extra build commands and expected artefacts can be defined per
platform basis
* Checkpatch: Added directive to ignore --ignore SPDX_LICENSE_TAG
and added the capability to run only on files changed in patch.
* CppCheck adjusted suppression directories for new external
libraries and code-base restructure
* Added fastmodel dispatcher. It will wrap around fastmodels
and test against a dynamically defined test_map. Fed with an
input of the build summary fastmodel dispatcher will detect
builds which have tests in the map and run them.
* Added Fastmodel configs for AN519 and AN521 platforms
* lava_helper. Added arguments for --override-jenkins-job/
--override-jenkins-url
* Adjusted JINJA2 template to include build number and
enable the overrides.
* Adjusted lava helper configs to support dual platform firmware
and added CoreIPC config
* Added report parser module to create/read/evaluate and
modify reports. Bash scripts for cppcheck checkpatch summaries
have been removed.
* Adjusted run_cppcheck/run_checkpatch for new project libraries,
new codebase structure and other tweaks.
* Restructured build manager, decoupling it from the tf-m
cmake requirements. Build manager can now dynamically build a
configuration from combination of parameters or can just execute
an array of build commands. Hardcoded tf-m assumptions have been
removed and moved into the configuration space.
* Build system can now produce MUSCA_A/ MUSCA_B1 binaries as well
as intel HEX files.
* Updated the utilities snippet collection in the tfm-ci-pylib.
Change-Id: Ifad7676e1cd47e3418e851b56dbb71963d85cd88
Signed-off-by: Minos Galanakis <minos.galanakis@linaro.org>
diff --git a/fastmodel_dispatcher/AN521.py b/fastmodel_dispatcher/AN521.py
new file mode 100644
index 0000000..8953aa1
--- /dev/null
+++ b/fastmodel_dispatcher/AN521.py
@@ -0,0 +1,319 @@
+#!/usr/bin/env python3
+
+""" an521.py:
+
+ Contains AN521 specific configuration variants. Each configuration is
+ created by a template(defines the expected output of the test) and a
+ decorated class setting the parameters. The whole scope of this module
+ is imported in the config map, to avoid keeping a manual list of the
+ configurations up to date. """
+
+from __future__ import print_function
+import os
+import sys
+
+__copyright__ = """
+/*
+ * Copyright (c) 2018-2019, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+ """
+__author__ = "Minos Galanakis"
+__email__ = "minos.galanakis@linaro.org"
+__project__ = "Trusted Firmware-M Open CI"
+__status__ = "stable"
+__version__ = "1.1"
+
+try:
+ from tfm_ci_pylib.fastmodel_wrapper import FastmodelConfigMap
+ from tfm_ci_pylib.fastmodel_wrapper import config_variant
+
+ from tfm_ci_pylib.fastmodel_wrapper import \
+ template_default_config, template_regression_config, \
+ template_coreipc_config, template_coreipctfmlevel2_config
+except ImportError:
+ dir_path = os.path.dirname(os.path.realpath(__file__))
+ sys.path.append(os.path.join(dir_path, "../"))
+ from tfm_ci_pylib.fastmodel_wrapper import FastmodelConfigMap
+ from tfm_ci_pylib.fastmodel_wrapper import config_variant
+ from tfm_ci_pylib.fastmodel_wrapper import \
+ template_default_config, template_regression_config, \
+ template_coreipc_config, template_coreipctfmlevel2_config
+
+# ===================== AN521 Configuration Classes ======================
+# Configurations will be dynamically defined
+
+# ===================== Default Config ======================
+
+
+@config_variant(platform="AN521",
+ compiler="ARMCLANG",
+ build_type="Debug",
+ bootloader="BL2")
+class an521_armclang_configdefault_debug_bl2(template_default_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="GNUARM",
+ build_type="Debug",
+ bootloader="BL2")
+class an521_gnuarm_configdefault_debug_bl2(template_default_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="ARMCLANG",
+ build_type="Debug",
+ bootloader="NOBL2")
+class an521_armclang_configdefault_debug_nobl2(template_default_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="GNUARM",
+ build_type="Debug",
+ bootloader="NOBL2")
+class an521_gnuarm_configdefault_debug_nobl2(template_default_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="ARMCLANG",
+ build_type="Release",
+ bootloader="BL2")
+class an521_armclang_configdefault_release_bl2(template_default_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="GNUARM",
+ build_type="Release",
+ bootloader="BL2")
+class an521_gnuarm_configdefault_release_bl2(template_default_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="ARMCLANG",
+ build_type="Release",
+ bootloader="NOBL2")
+class an521_armclang_configdefault_release_nobl2(template_default_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="GNUARM",
+ build_type="Release",
+ bootloader="NOBL2")
+class an521_gnuarm_configdefault_release_nobl2(template_default_config):
+ pass
+
+# ===================== Regressions Config ======================
+
+@config_variant(platform="AN521",
+ compiler="ARMCLANG",
+ build_type="Debug",
+ bootloader="BL2")
+class an521_armclang_configregression_debug_bl2(template_regression_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="GNUARM",
+ build_type="Debug",
+ bootloader="BL2")
+class an521_gnuarm_configregression_debug_bl2(template_regression_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="ARMCLANG",
+ build_type="Debug",
+ bootloader="NOBL2")
+class an521_armclang_configregression_debug_nobl2(template_regression_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="GNUARM",
+ build_type="Debug",
+ bootloader="NOBL2")
+class an521_gnuarm_configregression_debug_nobl2(template_regression_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="ARMCLANG",
+ build_type="Release",
+ bootloader="BL2")
+class an521_armclang_configregression_release_bl2(template_regression_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="GNUARM",
+ build_type="Release",
+ bootloader="BL2")
+class an521_gnuarm_configregression_release_bl2(template_regression_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="ARMCLANG",
+ build_type="Release",
+ bootloader="NOBL2")
+class an521_armclang_configregression_release_nobl2(
+ template_regression_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="GNUARM",
+ build_type="Release",
+ bootloader="NOBL2")
+class an521_gnuarm_configregression_release_nobl2(template_regression_config):
+ pass
+
+# ===================== CoreIPC Config ======================
+
+
+@config_variant(platform="AN521",
+ compiler="ARMCLANG",
+ build_type="Debug",
+ bootloader="BL2")
+class an521_armclang_configcoreipc_debug_bl2(template_coreipc_config):
+
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="ARMCLANG",
+ build_type="Debug",
+ bootloader="NOBL2")
+class an521_armclang_configcoreipc_debug_nobl2(template_coreipc_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="ARMCLANG",
+ build_type="Release",
+ bootloader="BL2")
+class an521_armclang_configcoreipc_release_bl2(template_coreipc_config):
+
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="ARMCLANG",
+ build_type="Release",
+ bootloader="NOBL2")
+class an521_armclang_configcoreipc_release_nobl2(template_coreipc_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="GNUARM",
+ build_type="Debug",
+ bootloader="BL2")
+class an521_gnuarm_configcoreipc_debug_bl2(template_coreipc_config):
+
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="GNUARM",
+ build_type="Debug",
+ bootloader="NOBL2")
+class an521_gnuarm_configcoreipc_debug_nobl2(template_coreipc_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="GNUARM",
+ build_type="Release",
+ bootloader="BL2")
+class an521_gnuarm_configcoreipc_release_bl2(template_coreipc_config):
+
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="GNUARM",
+ build_type="Release",
+ bootloader="NOBL2")
+class an521_gnuarm_configcoreipc_release_nobl2(template_coreipc_config):
+ pass
+
+# ===================== CoreIPCTfmLevel2 Config ======================
+
+
+@config_variant(platform="AN521",
+ compiler="ARMCLANG",
+ build_type="Debug",
+ bootloader="BL2")
+class an521_armclang_configcoreipctfmlevel2_debug_bl2(template_coreipctfmlevel2_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="ARMCLANG",
+ build_type="Debug",
+ bootloader="NOBL2")
+class an521_armclang_configcoreipctfmlevel2_debug_nobl2(template_coreipctfmlevel2_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="ARMCLANG",
+ build_type="Release",
+ bootloader="BL2")
+class an521_armclang_configcoreipctfmlevel2_release_bl2(template_coreipctfmlevel2_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="ARMCLANG",
+ build_type="Release",
+ bootloader="NOBL2")
+class an521_armclang_configcoreipctfmlevel2_release_nobl2(template_coreipctfmlevel2_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="GNUARM",
+ build_type="Debug",
+ bootloader="BL2")
+class an521_gnuarm_configcoreipctfmlevel2_debug_bl2(template_coreipctfmlevel2_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="GNUARM",
+ build_type="Debug",
+ bootloader="NOBL2")
+class an521_gnuarm_configcoreipctfmlevel2_debug_nobl2(template_coreipctfmlevel2_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="GNUARM",
+ build_type="Release",
+ bootloader="BL2")
+class an521_gnuarm_configcoreipctfmlevel2_release_bl2(template_coreipctfmlevel2_config):
+ pass
+
+
+@config_variant(platform="AN521",
+ compiler="GNUARM",
+ build_type="Release",
+ bootloader="NOBL2")
+class an521_gnuarm_configcoreipctfmlevel2_release_nobl2(template_coreipctfmlevel2_config):
+ pass
+
+AN521 = FastmodelConfigMap(globals(), "AN521")
+
+if __name__ == "__main__":
+ pass