All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/7] atp: fix failing test_readme
@ 2022-11-21 15:43 Jon Mason
  2022-11-21 15:43 ` [PATCH 2/7] atp: decouple m5readfile from m5ops Jon Mason
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Jon Mason @ 2022-11-21 15:43 UTC (permalink / raw)
  To: meta-arm; +Cc: Adrián Herrera Arcila

From: Adrián Herrera Arcila <adrian.herrera@arm.com>

Test failed because there was no reference to maintainers in the
meta-atp README.

Following the common structure of other layers in the meta-arm
repository, the README in meta-atp now refers to the top-level README,
and a documentation directory contains the guidance that was present in
the original meta-atp README.

Signed-off-by: Adrián Herrera Arcila <adrian.herrera@arm.com>
---
 README.md                                |  2 +-
 meta-atp/README.md                       | 77 +-----------------------
 meta-atp/documentation/atp-standalone.md | 13 ++++
 meta-atp/documentation/gem5-atp-arm64.md | 37 ++++++++++++
 meta-atp/documentation/summary.md        | 11 ++++
 5 files changed, 63 insertions(+), 77 deletions(-)
 create mode 100644 meta-atp/documentation/atp-standalone.md
 create mode 100644 meta-atp/documentation/gem5-atp-arm64.md
 create mode 100644 meta-atp/documentation/summary.md

diff --git a/README.md b/README.md
index 221633e0..e82f5532 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@ This repository contains the Arm layers for OpenEmbedded.
 
 * meta-atp
 
-  This layer contains recipes for the Adaptive Traffic Generation integration into meta-gem5.
+  This layer contains recipes for the [AMBA Adaptive Traffic Profiles (ATP)](https://developer.arm.com/documentation/ihi0082/latest) generation integration into meta-gem5.
 
 * meta-gem5
 
diff --git a/meta-atp/README.md b/meta-atp/README.md
index 15d0e29b..490ddca9 100644
--- a/meta-atp/README.md
+++ b/meta-atp/README.md
@@ -1,76 +1 @@
-# meta-atp layer
-
-The meta-atp layer supports building environments with traffic generation capabilities based on [AMBA Adaptive Traffic Profiles (ATP)](https://developer.arm.com/documentation/ihi0082/latest).
-
-## Recipes
-
-The meta-atp layer supports building the following software components:
-
-- Arm's implementation of the AMBA ATP specification, namely the [AMBA ATP Engine](https://github.com/ARM-software/ATP-Engine).
-- Linux kernel modules and user API (UAPI) for programming ATP devices.
-- Integration test suite for verification of kernel modules and UAPI.
-
-It is also possible to build the AMBA ATP Engine as part of the final [gem5](https://www.gem5.org/) executable. For this, meta-atp extends the `gem5-aarch64-native` recipe to add the AMBA ATP engine code as extra sources.
-
-## Machines
-
-The `gem5-atp-arm64` machine extends the `gem5-arm64` machine to instantiate a simulated platform with support for programmable AMBA ATP traffic generation. The platform includes the following models:
-
-- `ProfileGen` model. This is the adapter layer between gem5 and the AMBA ATP Engine. It is the source of traffic into the gem5 host platform.
-- `ATPDevice` model. Software can program it using the Linux kernel modules and UAPI to control traffic generation.
-
-## Usage
-
-Users should add the meta-atp layer and layer dependencies to `conf/bblayers.conf`. See `conf/layer.conf` for dependencies.
-
-### Standalone Engine executable
-
-Users can build the AMBA ATP Engine as a standalone native executable as follows:
-
-```bash
-bitbake atp-native
-```
-
-Users can run the executable through standard build scripts:
-
-```bash
-oe-run-native atp-native atpeng [--help | args...]
-```
-
-## Integration of the Engine in gem5
-
-Users should select the `gem5-atp-arm64` platform in their `conf/local.conf` file.
-
-Users can build the target image of preference, for example:
-
-```bash
-bitbake core-image-minimal
-```
-
-The resulting gem5 native executable contains the AMBA ATP Engine. The resulting target image contains the kernel modules, UAPI and test suite.
-
-Users should run the environment as follows:
-
-```bash
-./tmp/deploy/tools/start-gem5-atp.sh
-```
-
-This script launches a fast simulation to fast-forward Linux boot. Once Linux boot is completed, the fast simulation switches into a detailed simulation for the final usable environment. Users can connect and interact with the environment as follows:
-
-```bash
-oe-run-native gem5-m5term-native m5term <PORT>
-```
-
-The connection PORT is announced by the deploy script as:
-
-```bash
-system.terminal: Listening for connections on port <PORT>
-```
-
-This is usually port 3456.
-
-Users can verify access to the ATP device by running the integration test suite from within the simulated environment as follows:
-
-```bash
-test_atp.out
-```
+See ../README.md
diff --git a/meta-atp/documentation/atp-standalone.md b/meta-atp/documentation/atp-standalone.md
new file mode 100644
index 00000000..1ab4528a
--- /dev/null
+++ b/meta-atp/documentation/atp-standalone.md
@@ -0,0 +1,13 @@
+# Standalone ATP Engine executable
+
+Users can build the AMBA ATP Engine as a standalone native executable as follows:
+
+```bash
+bitbake atp-native
+```
+
+Users can run the executable through standard build scripts:
+
+```bash
+oe-run-native atp-native atpeng [--help | args...]
+```
diff --git a/meta-atp/documentation/gem5-atp-arm64.md b/meta-atp/documentation/gem5-atp-arm64.md
new file mode 100644
index 00000000..39f2f3b0
--- /dev/null
+++ b/meta-atp/documentation/gem5-atp-arm64.md
@@ -0,0 +1,37 @@
+## ATP Engine integration in gem5, and the gem5-atp-arm64 machine
+
+Users should select the `gem5-atp-arm64` machine in their `conf/local.conf` file.
+
+Users can build the target image of preference, for example:
+
+```bash
+bitbake core-image-minimal
+```
+
+The resulting gem5 native executable contains the AMBA ATP Engine. The resulting target image contains the kernel modules, UAPI and test suite.
+
+Users should run the environment as follows:
+
+```bash
+./tmp/deploy/tools/start-gem5-atp.sh
+```
+
+This script launches a fast simulation to fast-forward Linux boot. Once Linux boot is completed, the fast simulation switches into a detailed simulation for the final usable environment. Users can connect and interact with the environment as follows:
+
+```bash
+oe-run-native gem5-m5term-native m5term <PORT>
+```
+
+The connection PORT is announced by the deploy script as:
+
+```bash
+system.terminal: Listening for connections on port <PORT>
+```
+
+This is usually port 3456.
+
+Users can verify access to the ATP device by running the integration test suite from within the simulated environment as follows:
+
+```bash
+test_atp.out
+```
diff --git a/meta-atp/documentation/summary.md b/meta-atp/documentation/summary.md
new file mode 100644
index 00000000..7ac6c3f5
--- /dev/null
+++ b/meta-atp/documentation/summary.md
@@ -0,0 +1,11 @@
+# meta-atp summary
+
+The meta-atp layer supports building the following software components:
+
+- Arm's implementation of the AMBA ATP specification, namely the [AMBA ATP Engine](https://github.com/ARM-software/ATP-Engine).
+- Linux kernel modules and user API (UAPI) for programming ATP devices.
+- Integration test suite for verification of kernel modules and UAPI.
+
+It is also possible to build the AMBA ATP Engine as part of the final [gem5](https://www.gem5.org/) executable. For this, meta-atp extends the `gem5-aarch64-native` recipe to add the AMBA ATP engine code as extra sources.
+
+Users should add the meta-atp layer and layer dependencies to `conf/bblayers.conf`. See `conf/layer.conf` for dependencies.
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/7] atp: decouple m5readfile from m5ops
  2022-11-21 15:43 [PATCH 1/7] atp: fix failing test_readme Jon Mason
@ 2022-11-21 15:43 ` Jon Mason
  2022-11-21 15:43 ` [PATCH 3/7] atp: move m5readfile to meta-gem5 Jon Mason
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Jon Mason @ 2022-11-21 15:43 UTC (permalink / raw)
  To: meta-arm; +Cc: Adrian Herrera

From: Adrian Herrera <adrian.herrera@arm.com>

By making m5readfile into its own recipe, we avoid modifications to the
m5ops recipe when using the meta-atp layer, which break the Yocto
compatibility of the layer.

Signed-off-by: Adrian Herrera <adrian.herrera@arm.com>
---
 meta-atp/conf/machine/gem5-atp-arm64.conf       |  4 ++--
 .../gem5/gem5-m5ops_20.bbappend                 | 14 --------------
 .../recipes-devtools/gem5/gem5-m5readfile.bb    | 17 +++++++++++++++++
 .../m5-readfile.sh                              |  2 +-
 4 files changed, 20 insertions(+), 17 deletions(-)
 delete mode 100644 meta-atp/recipes-devtools/gem5/gem5-m5ops_20.bbappend
 create mode 100644 meta-atp/recipes-devtools/gem5/gem5-m5readfile.bb
 rename meta-atp/recipes-devtools/gem5/{gem5-m5ops => gem5-m5readfile}/m5-readfile.sh (65%)

diff --git a/meta-atp/conf/machine/gem5-atp-arm64.conf b/meta-atp/conf/machine/gem5-atp-arm64.conf
index d5fe22a7..4d0adac8 100644
--- a/meta-atp/conf/machine/gem5-atp-arm64.conf
+++ b/meta-atp/conf/machine/gem5-atp-arm64.conf
@@ -5,7 +5,7 @@ MACHINEOVERRIDES =. "gem5-arm64:"
 GEM5_RUN_PROFILE = "configs/baremetal_atp.py"
 # Require m5term
 EXTRA_IMAGEDEPENDS += "gem5-m5term-native"
-# Require ATP kernel modules, user API and gem5 m5ops
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-module-atp atp-uapi gem5-m5ops"
+# Require ATP kernel modules, user API and gem5 m5readfile
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-module-atp atp-uapi gem5-m5readfile"
 # Optionally provide ATP kernel tests
 MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "atp-test"
diff --git a/meta-atp/recipes-devtools/gem5/gem5-m5ops_20.bbappend b/meta-atp/recipes-devtools/gem5/gem5-m5ops_20.bbappend
deleted file mode 100644
index 3ba0c3ca..00000000
--- a/meta-atp/recipes-devtools/gem5/gem5-m5ops_20.bbappend
+++ /dev/null
@@ -1,14 +0,0 @@
-inherit update-rc.d
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
-
-# Add startup script calling m5 readfile for automatic checkpoint and restore
-SRC_URI += "file://m5-readfile.sh"
-
-INITSCRIPT_NAME = "m5-readfile.sh"
-INITSCRIPT_PARAMS = "defaults 99"
-
-do_install:append() {
-    install -d ${D}/${INIT_D_DIR}
-    install -m 755 ${WORKDIR}/m5-readfile.sh ${D}/${INIT_D_DIR}
-}
diff --git a/meta-atp/recipes-devtools/gem5/gem5-m5readfile.bb b/meta-atp/recipes-devtools/gem5/gem5-m5readfile.bb
new file mode 100644
index 00000000..9cddc270
--- /dev/null
+++ b/meta-atp/recipes-devtools/gem5/gem5-m5readfile.bb
@@ -0,0 +1,17 @@
+inherit update-rc.d
+
+SUMMARY = "Enables reading any script at simulation launch time"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+SRC_URI = "file://m5-readfile.sh"
+
+INITSCRIPT_NAME = "m5-readfile.sh"
+INITSCRIPT_PARAMS = "defaults 99"
+
+do_install() {
+    install -d ${D}/${INIT_D_DIR}
+    install -m 755 ${WORKDIR}/m5-readfile.sh ${D}/${INIT_D_DIR}
+}
+
+RDEPENDS:${PN} = "gem5-m5ops"
diff --git a/meta-atp/recipes-devtools/gem5/gem5-m5ops/m5-readfile.sh b/meta-atp/recipes-devtools/gem5/gem5-m5readfile/m5-readfile.sh
similarity index 65%
rename from meta-atp/recipes-devtools/gem5/gem5-m5ops/m5-readfile.sh
rename to meta-atp/recipes-devtools/gem5/gem5-m5readfile/m5-readfile.sh
index 44477e96..edf79b84 100755
--- a/meta-atp/recipes-devtools/gem5/gem5-m5ops/m5-readfile.sh
+++ b/meta-atp/recipes-devtools/gem5/gem5-m5readfile/m5-readfile.sh
@@ -3,7 +3,7 @@
 # Provides:         m5-readfile
 # Required-Start:   $all
 # Default-Start:    5
-# Description:      Enables reading any script at simulation launch time.
+# Description:      Enables reading any script at simulation launch time.
 ### END INIT INFO
 
 m5 readfile | sh
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/7] atp: move m5readfile to meta-gem5
  2022-11-21 15:43 [PATCH 1/7] atp: fix failing test_readme Jon Mason
  2022-11-21 15:43 ` [PATCH 2/7] atp: decouple m5readfile from m5ops Jon Mason
@ 2022-11-21 15:43 ` Jon Mason
  2022-11-21 15:43 ` [PATCH 4/7] gem5: support for EXTRAS Jon Mason
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Jon Mason @ 2022-11-21 15:43 UTC (permalink / raw)
  To: meta-arm; +Cc: Adrian Herrera

From: Adrian Herrera <adrian.herrera@arm.com>

The m5 readfile recipe provides general utility for gem5 users to
run any script on OS boot. We hence move it to the meta-gem5 layer.

Signed-off-by: Adrian Herrera <adrian.herrera@arm.com>
---
 {meta-atp => meta-gem5}/recipes-devtools/gem5/gem5-m5readfile.bb  | 0
 .../recipes-devtools/gem5/gem5-m5readfile/m5-readfile.sh          | 0
 2 files changed, 0 insertions(+), 0 deletions(-)
 rename {meta-atp => meta-gem5}/recipes-devtools/gem5/gem5-m5readfile.bb (100%)
 rename {meta-atp => meta-gem5}/recipes-devtools/gem5/gem5-m5readfile/m5-readfile.sh (100%)

diff --git a/meta-atp/recipes-devtools/gem5/gem5-m5readfile.bb b/meta-gem5/recipes-devtools/gem5/gem5-m5readfile.bb
similarity index 100%
rename from meta-atp/recipes-devtools/gem5/gem5-m5readfile.bb
rename to meta-gem5/recipes-devtools/gem5/gem5-m5readfile.bb
diff --git a/meta-atp/recipes-devtools/gem5/gem5-m5readfile/m5-readfile.sh b/meta-gem5/recipes-devtools/gem5/gem5-m5readfile/m5-readfile.sh
similarity index 100%
rename from meta-atp/recipes-devtools/gem5/gem5-m5readfile/m5-readfile.sh
rename to meta-gem5/recipes-devtools/gem5/gem5-m5readfile/m5-readfile.sh
-- 
2.17.1



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 4/7] gem5: support for EXTRAS
  2022-11-21 15:43 [PATCH 1/7] atp: fix failing test_readme Jon Mason
  2022-11-21 15:43 ` [PATCH 2/7] atp: decouple m5readfile from m5ops Jon Mason
  2022-11-21 15:43 ` [PATCH 3/7] atp: move m5readfile to meta-gem5 Jon Mason
@ 2022-11-21 15:43 ` Jon Mason
  2022-11-21 15:43 ` [PATCH 5/7] atp: separate recipe for gem5 models Jon Mason
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Jon Mason @ 2022-11-21 15:43 UTC (permalink / raw)
  To: meta-arm; +Cc: Adrián Herrera Arcila

From: Adrián Herrera Arcila <adrian.herrera@arm.com>

External models can be added to gem5 through EXTRAS:
https://www.gem5.org/documentation/general_docs/building/EXTRAS

Added GEM5_EXTRAS to the gem5-native recipe to support it.

Signed-off-by: Adrián Herrera Arcila <adrian.herrera@arm.com>
---
 meta-gem5/recipes-devtools/gem5/gem5-native.inc | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/meta-gem5/recipes-devtools/gem5/gem5-native.inc b/meta-gem5/recipes-devtools/gem5/gem5-native.inc
index 91a554bb..0f794b3f 100644
--- a/meta-gem5/recipes-devtools/gem5/gem5-native.inc
+++ b/meta-gem5/recipes-devtools/gem5/gem5-native.inc
@@ -12,10 +12,15 @@ GEM5_BUILD_VARIANT ?= "opt"
 # What gem5 binary are we building
 GEM5_BUILD_CONFIGS ?= "build/X86/gem5.{GEM5_BUILD_VARIANT}"
 
+# Extra directories with sources for gem5 build. Intended to be used from
+# machine configuration files, to add out-of-tree gem5 models of their
+# hardware components.
+GEM5_EXTRAS ?= ""
+
 # Scons build arguments
 GEM5_SCONS_ARGS ?= "CC=${BUILD_CC} CXX=${BUILD_CXX} \
     AS=${BUILD_AS} AR=${BUILD_AR} ${GEM5_BUILD_CONFIGS} \
-    PYTHON_CONFIG=python3-config"
+    PYTHON_CONFIG=python3-config EXTRAS=${GEM5_EXTRAS}"
 
 # Default profile to run
 GEM5_RUN_PROFILE ?= "configs/example/fs.py"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 5/7] atp: separate recipe for gem5 models
  2022-11-21 15:43 [PATCH 1/7] atp: fix failing test_readme Jon Mason
                   ` (2 preceding siblings ...)
  2022-11-21 15:43 ` [PATCH 4/7] gem5: support for EXTRAS Jon Mason
@ 2022-11-21 15:43 ` Jon Mason
  2022-11-21 15:43 ` [PATCH 6/7] atp: fix machine overrides in recipes Jon Mason
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Jon Mason @ 2022-11-21 15:43 UTC (permalink / raw)
  To: meta-arm; +Cc: Adrián Herrera Arcila

From: Adrián Herrera Arcila <adrian.herrera@arm.com>

Previously, meta-atp extended the original gem5 recipe to add the ATP
Engine models; the .bbappend was complex, because it pulled from two
sources, and it was not possible to make machine-based overrides, as it
is a native recipe.

To solve this, we use the recent EXTRAS feature to add the gem5 models
from a different recipe.

Signed-off-by: Adrián Herrera Arcila <adrian.herrera@arm.com>
---
 meta-atp/conf/machine/gem5-atp-arm64.conf     |  4 ++++
 meta-atp/documentation/gem5-atp-arm64.md      |  2 +-
 .../atp/atp-gem5-native_3.1.bb                | 24 +++++++++++++++++++
 .../atp-gem5}/start-gem5-atp.sh               |  0
 .../gem5/gem5-aarch64-native_20.bbappend      | 24 -------------------
 5 files changed, 29 insertions(+), 25 deletions(-)
 create mode 100644 meta-atp/recipes-devtools/atp/atp-gem5-native_3.1.bb
 rename meta-atp/recipes-devtools/{gem5/gem5-aarch64-native => atp/atp-gem5}/start-gem5-atp.sh (100%)
 delete mode 100644 meta-atp/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend

diff --git a/meta-atp/conf/machine/gem5-atp-arm64.conf b/meta-atp/conf/machine/gem5-atp-arm64.conf
index 4d0adac8..6e6d49a9 100644
--- a/meta-atp/conf/machine/gem5-atp-arm64.conf
+++ b/meta-atp/conf/machine/gem5-atp-arm64.conf
@@ -9,3 +9,7 @@ EXTRA_IMAGEDEPENDS += "gem5-m5term-native"
 MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-module-atp atp-uapi gem5-m5readfile"
 # Optionally provide ATP kernel tests
 MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "atp-test"
+
+# Use ATP Engine gem5 models in gem5 build
+DEPENDS:append:pn-gem5-aarch64-native = " atp-gem5-native"
+GEM5_EXTRAS:pn-gem5-aarch64-native = "${STAGING_DATADIR_NATIVE}/atp"
diff --git a/meta-atp/documentation/gem5-atp-arm64.md b/meta-atp/documentation/gem5-atp-arm64.md
index 39f2f3b0..018f374c 100644
--- a/meta-atp/documentation/gem5-atp-arm64.md
+++ b/meta-atp/documentation/gem5-atp-arm64.md
@@ -13,7 +13,7 @@ The resulting gem5 native executable contains the AMBA ATP Engine. The resulting
 Users should run the environment as follows:
 
 ```bash
-./tmp/deploy/tools/start-gem5-atp.sh
+oe-run-native atp-gem5-native start-gem5-atp.sh
 ```
 
 This script launches a fast simulation to fast-forward Linux boot. Once Linux boot is completed, the fast simulation switches into a detailed simulation for the final usable environment. Users can connect and interact with the environment as follows:
diff --git a/meta-atp/recipes-devtools/atp/atp-gem5-native_3.1.bb b/meta-atp/recipes-devtools/atp/atp-gem5-native_3.1.bb
new file mode 100644
index 00000000..634c9b11
--- /dev/null
+++ b/meta-atp/recipes-devtools/atp/atp-gem5-native_3.1.bb
@@ -0,0 +1,24 @@
+require atp-source_3.1.inc
+inherit native
+
+SUMMARY = "AMBA ATP Engine gem5 models"
+
+S = "${WORKDIR}/git"
+SRC_URI = "${ATP_SRC} file://start-gem5-atp.sh"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+    install -d ${D}${datadir}/gem5/configs ${D}${datadir}/atp ${D}${bindir}
+
+    # baremetal_atp.py machine configuration and sample stream.atp file
+    install ${S}/gem5/baremetal_atp.py ${S}/configs/stream.atp ${D}${datadir}/gem5/configs
+    # ATP Engine sources for gem5 to use
+    install ${S}/SConscript ${S}/*.hh ${S}/*.cc ${D}${datadir}/atp
+    cp -RL ${S}/gem5 ${S}/proto ${D}${datadir}/atp
+
+    install ${WORKDIR}/start-gem5-atp.sh ${D}${bindir}
+}
+
+addtask addto_recipe_sysroot after do_populate_sysroot before do_build
diff --git a/meta-atp/recipes-devtools/gem5/gem5-aarch64-native/start-gem5-atp.sh b/meta-atp/recipes-devtools/atp/atp-gem5/start-gem5-atp.sh
similarity index 100%
rename from meta-atp/recipes-devtools/gem5/gem5-aarch64-native/start-gem5-atp.sh
rename to meta-atp/recipes-devtools/atp/atp-gem5/start-gem5-atp.sh
diff --git a/meta-atp/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend b/meta-atp/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend
deleted file mode 100644
index 6607f0f8..00000000
--- a/meta-atp/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend
+++ /dev/null
@@ -1,24 +0,0 @@
-require recipes-devtools/atp/atp-source_3.1.inc
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
-
-SRC_URI += "${ATP_SRC};destsuffix=git/atp;name=atp \
-            file://start-gem5-atp.sh"
-SRCREV_FORMAT = "gem5_atp"
-SRCREV_atp = "${ATP_REV}"
-LICENSE += "& ${ATP_LIC}"
-LIC_FILES_CHKSUM += "file://atp/LICENSE;md5=${ATP_LIC_MD5}"
-
-EXTRA_OESCONS += "EXTRAS=${S}/atp"
-
-do_install:append() {
-    # baremetal_atp.py machine configuration and sample stream.atp file
-    install -m 644 ${B}/atp/gem5/baremetal_atp.py \
-                   ${B}/atp/configs/stream.atp \
-                   ${D}${datadir}/gem5/configs
-}
-
-do_deploy:append() {
-    # start-gem5-atp.sh launch script
-    install -m 755 ${WORKDIR}/start-gem5-atp.sh ${DEPLOYDIR}
-}
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 6/7] atp: fix machine overrides in recipes
  2022-11-21 15:43 [PATCH 1/7] atp: fix failing test_readme Jon Mason
                   ` (3 preceding siblings ...)
  2022-11-21 15:43 ` [PATCH 5/7] atp: separate recipe for gem5 models Jon Mason
@ 2022-11-21 15:43 ` Jon Mason
  2022-11-21 15:43 ` [PATCH 7/7] ci: add meta-atp to check-layers Jon Mason
  2022-11-21 20:00 ` [PATCH 1/7] atp: fix failing test_readme Jon Mason
  6 siblings, 0 replies; 8+ messages in thread
From: Jon Mason @ 2022-11-21 15:43 UTC (permalink / raw)
  To: meta-arm; +Cc: Adrián Herrera Arcila

From: Adrián Herrera Arcila <adrian.herrera@arm.com>

Ensure meta-atp recipes are only performed if a compatible machine is
selected.

Signed-off-by: Adrián Herrera Arcila <adrian.herrera@arm.com>
---
 meta-atp/recipes-devtools/gem5/gem5-aarch64-dtb.bbappend | 8 +++++---
 meta-atp/recipes-kernel/atp/atp-module_3.1.bb            | 1 +
 meta-atp/recipes-kernel/atp/atp-test_3.1.bb              | 1 +
 meta-atp/recipes-kernel/atp/atp-uapi_3.1.bb              | 1 +
 meta-atp/recipes-kernel/linux/linux-yocto_%.bbappend     | 4 ++--
 5 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/meta-atp/recipes-devtools/gem5/gem5-aarch64-dtb.bbappend b/meta-atp/recipes-devtools/gem5/gem5-aarch64-dtb.bbappend
index 2b55b892..c96f2cdc 100644
--- a/meta-atp/recipes-devtools/gem5/gem5-aarch64-dtb.bbappend
+++ b/meta-atp/recipes-devtools/gem5/gem5-aarch64-dtb.bbappend
@@ -1,3 +1,5 @@
-# Export datadir paths for baremetal_atp.py script
-export GEM5_DATADIR = "${STAGING_DATADIR_NATIVE}/gem5"
-export ATP_DATADIR = "${STAGING_DATADIR_NATIVE}/gem5"
+do_compile:prepend:gem5-atp-arm64() {
+    # Export datadir paths for baremetal_atp.py script
+    export GEM5_DATADIR="${STAGING_DATADIR_NATIVE}/gem5"
+    export ATP_DATADIR="${STAGING_DATADIR_NATIVE}/gem5"
+}
diff --git a/meta-atp/recipes-kernel/atp/atp-module_3.1.bb b/meta-atp/recipes-kernel/atp/atp-module_3.1.bb
index 0bf4949b..9b54e1c8 100644
--- a/meta-atp/recipes-kernel/atp/atp-module_3.1.bb
+++ b/meta-atp/recipes-kernel/atp/atp-module_3.1.bb
@@ -1,3 +1,4 @@
+COMPATIBLE_MACHINE = "gem5-atp-arm64"
 require recipes-devtools/atp/atp-source_3.1.inc
 inherit module
 
diff --git a/meta-atp/recipes-kernel/atp/atp-test_3.1.bb b/meta-atp/recipes-kernel/atp/atp-test_3.1.bb
index e98e13cd..3c88e08d 100644
--- a/meta-atp/recipes-kernel/atp/atp-test_3.1.bb
+++ b/meta-atp/recipes-kernel/atp/atp-test_3.1.bb
@@ -1,3 +1,4 @@
+COMPATIBLE_MACHINE = "gem5-atp-arm64"
 require recipes-devtools/atp/atp-source_3.1.inc
 
 SUMMARY = "End-to-end tests evaluating ATP kernel modules service correctness"
diff --git a/meta-atp/recipes-kernel/atp/atp-uapi_3.1.bb b/meta-atp/recipes-kernel/atp/atp-uapi_3.1.bb
index 140105f8..a8b14796 100644
--- a/meta-atp/recipes-kernel/atp/atp-uapi_3.1.bb
+++ b/meta-atp/recipes-kernel/atp/atp-uapi_3.1.bb
@@ -1,3 +1,4 @@
+COMPATIBLE_MACHINE = "gem5-atp-arm64"
 require recipes-devtools/atp/atp-source_3.1.inc
 
 SUMMARY = "User API for accessing services from ATP kernel modules"
diff --git a/meta-atp/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-atp/recipes-kernel/linux/linux-yocto_%.bbappend
index f59f8d44..8cb86a97 100644
--- a/meta-atp/recipes-kernel/linux/linux-yocto_%.bbappend
+++ b/meta-atp/recipes-kernel/linux/linux-yocto_%.bbappend
@@ -1,2 +1,2 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-SRC_URI += "file://no_ftrace.cfg file://smmuv3.cfg"
+FILESEXTRAPATHS:prepend:gem5-atp-arm64 := "${THISDIR}/files:"
+SRC_URI:append:gem5-atp-arm64 = " file://no_ftrace.cfg file://smmuv3.cfg"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 7/7] ci: add meta-atp to check-layers
  2022-11-21 15:43 [PATCH 1/7] atp: fix failing test_readme Jon Mason
                   ` (4 preceding siblings ...)
  2022-11-21 15:43 ` [PATCH 6/7] atp: fix machine overrides in recipes Jon Mason
@ 2022-11-21 15:43 ` Jon Mason
  2022-11-21 20:00 ` [PATCH 1/7] atp: fix failing test_readme Jon Mason
  6 siblings, 0 replies; 8+ messages in thread
From: Jon Mason @ 2022-11-21 15:43 UTC (permalink / raw)
  To: meta-arm; +Cc: Adrián Herrera Arcila

From: Adrián Herrera Arcila <adrian.herrera@arm.com>

Signed-off-by: Adrián Herrera Arcila <adrian.herrera@arm.com>
---
 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7d050a55..6bb42e85 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -210,7 +210,7 @@ check-layers:
       "yocto-check-layer-wrapper $CI_PROJECT_DIR/$LAYER --dependency $CI_PROJECT_DIR/meta-* $KAS_WORK_DIR/meta-openembedded/meta-oe --no-auto-dependency"
   parallel:
     matrix:
-      - LAYER: [meta-arm, meta-arm-bsp, meta-arm-toolchain, meta-gem5]
+      - LAYER: [meta-arm, meta-arm-bsp, meta-arm-toolchain, meta-gem5, meta-atp]
 
 pending-updates:
   extends: .setup
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/7] atp: fix failing test_readme
  2022-11-21 15:43 [PATCH 1/7] atp: fix failing test_readme Jon Mason
                   ` (5 preceding siblings ...)
  2022-11-21 15:43 ` [PATCH 7/7] ci: add meta-atp to check-layers Jon Mason
@ 2022-11-21 20:00 ` Jon Mason
  6 siblings, 0 replies; 8+ messages in thread
From: Jon Mason @ 2022-11-21 20:00 UTC (permalink / raw)
  To: meta-arm, Jon Mason; +Cc: Adrián Herrera Arcila

On Mon, 21 Nov 2022 10:43:46 -0500, Jon Mason wrote:
> Test failed because there was no reference to maintainers in the
> meta-atp README.
> 
> Following the common structure of other layers in the meta-arm
> repository, the README in meta-atp now refers to the top-level README,
> and a documentation directory contains the guidance that was present in
> the original meta-atp README.

Applied, thanks!

[1/7] atp: fix failing test_readme
      commit: ffd0aca508deb35cb6f61a1f57b7262d9dabd307
[2/7] atp: decouple m5readfile from m5ops
      commit: 3786d6d0162f1b87e085690940dc23628cfe8ee8
[3/7] atp: move m5readfile to meta-gem5
      commit: a68a2a206eeb1427b4217b8831439cbe56341a14
[4/7] gem5: support for EXTRAS
      commit: 29fa253f002f9808871b1bd3b4696e2ff3b055b5
[5/7] atp: separate recipe for gem5 models
      commit: 8023f902ac0fd3cbcdf0cdc146a8f7e594497b83
[6/7] atp: fix machine overrides in recipes
      commit: e695d0ee252e29ba3aa129012b26bfac91d223f8
[7/7] ci: add meta-atp to check-layers
      commit: 9699e6698e1e4de2b4b76c076a8ffc585ebab100

Best regards,
-- 
Jon Mason <jon.mason@arm.com>


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-11-21 20:06 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-21 15:43 [PATCH 1/7] atp: fix failing test_readme Jon Mason
2022-11-21 15:43 ` [PATCH 2/7] atp: decouple m5readfile from m5ops Jon Mason
2022-11-21 15:43 ` [PATCH 3/7] atp: move m5readfile to meta-gem5 Jon Mason
2022-11-21 15:43 ` [PATCH 4/7] gem5: support for EXTRAS Jon Mason
2022-11-21 15:43 ` [PATCH 5/7] atp: separate recipe for gem5 models Jon Mason
2022-11-21 15:43 ` [PATCH 6/7] atp: fix machine overrides in recipes Jon Mason
2022-11-21 15:43 ` [PATCH 7/7] ci: add meta-atp to check-layers Jon Mason
2022-11-21 20:00 ` [PATCH 1/7] atp: fix failing test_readme Jon Mason

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.