[PATCH RFC xenomai-images 3/5] ci: Add the starfive visionfive2 board

Tobias Schaffner <[email protected]>
Newsgroups dev.linux.lists.xenomai
Message-ID <[email protected]>
Add everything needed to run the evl tests on the starfive visionfive2
board in the xenomai-images lava lab.

Signed-off-by: Tobias Schaffner <[email protected]>
---
 ci/lib/gitlab-ci-base.yml                   | 21 +++++++
 ci/lib/kernel/head.yml                      | 13 ++++
 conf/machine/visionfive2.conf               | 18 ++++++
 kas.yaml                                    |  1 +
 kas/board/starfive-visionfive2.yaml         | 15 +++++
 tests/jobs/xenomai-starfive-visionfive2.yml | 69 +++++++++++++++++++++
 6 files changed, 137 insertions(+)
 create mode 100644 conf/machine/visionfive2.conf
 create mode 100644 kas/board/starfive-visionfive2.yaml
 create mode 100644 tests/jobs/xenomai-starfive-visionfive2.yml

diff --git a/ci/lib/gitlab-ci-base.yml b/ci/lib/gitlab-ci-base.yml
index aaeb778..e297f54 100644
--- a/ci/lib/gitlab-ci-base.yml
+++ b/ci/lib/gitlab-ci-base.yml
@@ -227,3 +227,24 @@ default:
   resource_group: board-x86-64-efi
   variables:
     TARGET: x86-64-efi
+
+.build:starfive-visionfive2:
+  extends: .build
+  variables:
+    TARGET: starfive-visionfive2
+    CACHE_ARCH: riscv64
+  rules:
+    - if: '$XENOMAI_VERSION != "4-next"'
+      when: never
+    - when: always
+
+.lava-test:starfive-visionfive2:
+  extends: .test
+  resource_group: board-starfive-visionfive2
+  variables:
+    TARGET: starfive-visionfive2
+    EVL_TESTS_SKIP_PATTERN: "ptrace-sync"
+  rules:
+    - if: '$XENOMAI_VERSION != "4-next"'
+      when: never
+    - if: '$LAVA_TESTS_ENABLED == "true"'
diff --git a/ci/lib/kernel/head.yml b/ci/lib/kernel/head.yml
index e2884c2..e5af966 100644
--- a/ci/lib/kernel/head.yml
+++ b/ci/lib/kernel/head.yml
@@ -61,6 +61,19 @@ lava-test-head:qemu-riscv64:
   variables:
     KERNEL_VERSION: "head"
 
+build-head:starfive-visionfive2:
+  extends: .build:starfive-visionfive2
+  variables:
+    LINUX_BUILD_OPTION: ":kas/opt/linux-head.yaml"
+    KERNEL_VERSION: "head"
+    CACHE_KERNEL: evl
+
+lava-test-head:starfive-visionfive2:
+  needs: [ "build-head:starfive-visionfive2" ]
+  extends: .lava-test:starfive-visionfive2
+  variables:
+    KERNEL_VERSION: "head"
+
 build-head:rpi4:
   extends: .build:rpi4
   variables:
diff --git a/conf/machine/visionfive2.conf b/conf/machine/visionfive2.conf
new file mode 100644
index 0000000..ff42ecc
--- /dev/null
+++ b/conf/machine/visionfive2.conf
@@ -0,0 +1,18 @@
+#
+# Xenomai Real-Time System
+#
+# Copyright (c) Siemens AG, 2026
+#
+# Authors:
+#  Tobias Schaffner <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+
+require conf/machine/starfive-visionfive2.conf
+
+MACHINE = "starfive-visionfive2"
+
+DTB_FILES = "\
+	starfive/jh7110-starfive-visionfive-2-v1.2a.dtb \
+	starfive/jh7110-starfive-visionfive-2-v1.3b.dtb"
diff --git a/kas.yaml b/kas.yaml
index f856ae1..875132b 100644
--- a/kas.yaml
+++ b/kas.yaml
@@ -25,6 +25,7 @@ repos:
     commit: 9792d18e9334b3cec72e2ade6a1065084c0c24d6
     layers:
       meta:
+      meta-isar:
 
 bblayers_conf_header:
   standard: |
diff --git a/kas/board/starfive-visionfive2.yaml b/kas/board/starfive-visionfive2.yaml
new file mode 100644
index 0000000..4b38ef0
--- /dev/null
+++ b/kas/board/starfive-visionfive2.yaml
@@ -0,0 +1,15 @@
+#
+# Xenomai Real-Time System
+#
+# Copyright (c) Siemens AG, 2026
+#
+# Authors:
+#  Tobias Schaffner <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+
+header:
+  version: 14
+
+machine: visionfive2
diff --git a/tests/jobs/xenomai-starfive-visionfive2.yml b/tests/jobs/xenomai-starfive-visionfive2.yml
new file mode 100644
index 0000000..6155fdf
--- /dev/null
+++ b/tests/jobs/xenomai-starfive-visionfive2.yml
@@ -0,0 +1,69 @@
+#
+# Xenomai Real-Time System
+#
+# Copyright (c) Siemens AG, 2026
+#
+# Authors:
+#  Tobias Schaffner <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+job_name: xenomai-test-suite
+device_type: starfive-visionfive2
+
+timeouts:
+  job:
+    minutes: 90
+  action:
+    minutes: 65
+  connection:
+    minutes: 5
+priority: medium
+visibility: public
+
+metadata:
+  docs-source: xenomai-starfive-visionfive2
+  docs-filename: pipeline-xenomai-starfive-visionfive2
+# ACTION_BLOCK
+actions:
+- deploy:
+    timeout:
+      minutes: 30
+    to: tftp
+    kernel:
+      url: ${DEPLOY_URL}/${ISAR_IMAGE}-${ISAR_DISTRIBUTION}-${TARGET}-vmlinux
+      type: image
+    dtb:
+      url: ${DEPLOY_URL}/jh7110-starfive-visionfive-2-v1.2a.dtb
+    nfsrootfs:
+      url: ${DEPLOY_URL}/${ISAR_IMAGE}-${ISAR_DISTRIBUTION}-${TARGET}.tar.gz
+      compression: gz
+#  BOOT_BLOCK
+- boot:
+    failure_retry: 3
+    timeout:
+      minutes: 5
+    method: u-boot
+    commands: nfs
+    prompts: ["root@demo:"]
+    auto_login:
+      login_prompt: 'demo login:'
+      username: root
+      password_prompt: 'Password:'
+      password: root
+
+- test:
+    timeout:
+      minutes: ${TEST_TIMEOUT_MINUTES}
+    definitions:
+    - repository:
+        metadata:
+          format: Lava-Test Test Definition 1.0
+          name: xenomai-test-suite
+          description: "runs the xenomai test suite"
+        run:
+          steps:
+            - ${TEST_COMMAND} || lava-test-raise "xenomai-test failed!"
+      from: inline
+      path: inline/xenomai-test-suite.yaml
+      name: xenomai-test-suite
-- 
2.43.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.