On 19/10/26 17:22, Brian Cain wrote:
On 10/19/2026 8:51 AM, Brian Cain wrote:
On 10/19/2026 8:47 AM, Philippe Mathieu-Daudé wrote:
On 19/10/26 07:52, Brian Cain wrote:
Download the firmware and run it on the corresponding DSP machine.
The images are third-party binaries, so the tests run only when
untrusted
code is allowed.
Signed-off-by: Brian Cain <[email protected]>
---
tests/functional/hexagon/meson.build | 2 +
.../hexagon/test_qcom_dsp_firmware.py | 89 +++++++++++++++
++++
2 files changed, 91 insertions(+)
create mode 100755 tests/functional/hexagon/test_qcom_dsp_firmware.py
diff --git a/tests/functional/hexagon/test_qcom_dsp_firmware.py b/
tests/functional/hexagon/test_qcom_dsp_firmware.py
new file mode 100755
index 00000000000..86a0628d9f3
--- /dev/null
+++ b/tests/functional/hexagon/test_qcom_dsp_firmware.py
@@ -0,0 +1,89 @@
+#!/usr/bin/env python3
+#
+# Boot the production DSP firmware on the Qualcomm DSP machines
+#
+# Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+from qemu_test import QemuSystemTest, Asset, skipUntrustedTest
+from qemu_test import wait_for_console_pattern
+
+
+class QcomDspFirmwareTest(QemuSystemTest):
+ """Base class: the firmware is the ELF that -kernel starts
running."""
+
+ REPO = 'https://gitlab.com/kernel-firmware/linux-firmware/-/
raw/' \
+ 'd947e4e8e314e9254a1242dc1a5d9cede2cce33d/qcom'
404: Page not found
Huh. Maybe I picked a funny commit and somehow the asset cache fooled
me? Will take a closer look.
Disregard: all is well. A "wget" of one of these assets works for me.
If I paste the URL into chrome, it downloads the asset.
But if I browse to https://gitlab.com/kernel-firmware/linux-firmware/-/
raw/d947e4e8e314e9254a1242dc1a5d9cede2cce33d/qcom I do get a 404. I
think this is the expected behavior, though. That "raw" mode for the URL
expects a path to a file object that git could serve up.
If you browse to https://gitlab.com/kernel-firmware/linux-firmware/-/
tree/d947e4e8e314e9254a1242dc1a5d9cede2cce33d/qcom you can see the
directory listing that you might have expected.
Oops sorry, I indeed checked a wrong URL 🤦🏼♂️
If you apply these
changes to master I would expect `check-functional` will download and
run them (w/the untrusted code bit set).
The sha in the URL is inconvenient and unclear so in v2 I will switch to
a recent tag instead.
-Brian