new file mode 100644
@@ -0,0 +1 @@
+DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map"
new file mode 100644
@@ -0,0 +1,4 @@
+BPFTOOL_NATIVE_TI = ""
+BPFTOOL_NATIVE_TI:ti-soc = "bpftool-native-ti.inc"
+
+require ${BPFTOOL_NATIVE_TI}
new file mode 100644
@@ -0,0 +1,14 @@
+SUMMARY = "Test cases for DMA-Heap framework"
+HOMEPAGE = "https://github.com/glneo/dma-heap-tests"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4c3b4cb87cfc8ccba69d579fbd7b0fb3"
+
+PV = "1.0"
+
+BRANCH = "master"
+SRC_URI = "git://github.com/glneo/dma-heap-tests.git;protocol=https;branch=${BRANCH}"
+SRCREV = "230b406e97c12be5f930125a432d0dfa0316aa39"
+
+DEPENDS = "googletest"
+
+inherit cmake pkgconfig
new file mode 100644
@@ -0,0 +1,69 @@
+From fb1bbf8342c4a87380964465443bbb4b61dc0259 Mon Sep 17 00:00:00 2001
+From: Chase Maupin <Chase.Maupin@ti.com>
+Date: Tue, 5 Nov 2013 05:22:10 -0600
+Subject: [PATCH] autoconf: fix for cross compilation for ARM
+
+* Based on changes from Yebio Mesfin fixup the input-utils to
+ cross compile for ARM.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
+---
+ mk/Autoconf.mk | 8 ++++++--
+ mk/Variables.mk | 4 ++--
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/mk/Autoconf.mk b/mk/Autoconf.mk
+index 7608ea5..95999cc 100644
+--- a/mk/Autoconf.mk
++++ b/mk/Autoconf.mk
+@@ -47,11 +47,13 @@ ac_uname = $(shell \
+ $(call ac_s_cmd,uname -s | tr 'A-Z' 'a-z');\
+ $(call ac_fini))
+
+-ac_uname_arch = $(shell \
++#ac_uname_arch = $(shell \
+ $(call ac_init,for arch);\
+ $(call ac_s_cmd,uname -m | tr 'A-Z' 'a-z');\
+ $(call ac_fini))
+
++ac_uname_arch = arm
++
+ # check for some header file
+ # args: header file
+ ac_header = $(shell \
+@@ -108,12 +110,14 @@ ac_binary = $(shell \
+ # $(call ac_s_cmd,$(CC) -print-search-dirs | grep -q lib64 &&\
+ # echo "lib64" || echo "lib");\
+ # $(call ac_fini))
+-ac_lib64 = $(shell \
++#ac_lib64 = $(shell \
+ $(call ac_init,for libdir name);\
+ $(call ac_s_cmd,/sbin/ldconfig -p | grep -q lib64 &&\
+ echo "lib64" || echo "lib");\
+ $(call ac_fini))
+
++ac_lib64 = gcc
++
+ # check for x11 ressource dir prefix
+ ac_resdir = $(shell \
+ $(call ac_init,for X11 app-defaults prefix);\
+diff --git a/mk/Variables.mk b/mk/Variables.mk
+index 99f787c..fd47f73 100644
+--- a/mk/Variables.mk
++++ b/mk/Variables.mk
+@@ -24,8 +24,8 @@ endif
+ RELTAG := v$(subst .,_,$(VERSION))
+
+ # programs
+-CC ?= gcc
+-CXX ?= g++
++CC ?= $(CROSS_COMPILE)gcc
++CXX ?= $(CROSS_COMPILE)g++
+ MOC ?= $(if $(QTDIR),$(QTDIR)/bin/moc,moc)
+
+ STRIP ?= -s
+--
+1.7.0.4
+
new file mode 100644
@@ -0,0 +1,21 @@
+Description: Fix FTBFS due to -e leaking into Make.config
+ If /bin/sh is configured to point to dash, echo does not support -e switch
+ which is used by mk/Autoconf.mk file to generate Make.config. Use 'env echo'
+ instead.
+Author: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
+Bug-Debian: http://bugs.debian.org/750265
+Forwarded: no
+Last-Update: 2014-07-09
+Upstream-Status: Inactive-Upstream [lastrelease: 2008-2012]
+
+--- input-utils-1.0.orig/mk/Autoconf.mk
++++ input-utils-1.0/mk/Autoconf.mk
+@@ -162,7 +162,7 @@ config: Make.config
+ @true
+
+ Make.config: $(srcdir)/GNUmakefile
+- @echo -e "$(make-config-q)" > $@
++ @env echo -e "$(make-config-q)" > $@
+ @echo
+ @echo "Make.config written, edit if needed"
+ @echo
new file mode 100644
@@ -0,0 +1,31 @@
+SUMMARY = "Utilities for the Linux input drivers"
+HOMEPAGE = "http://packages.tanglu.org/source/aequorea/input-utils"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+
+PV = "1.0"
+PR = "r0"
+
+SRC_URI = "http://ftp.de.debian.org/debian/pool/main/i/input-utils/input-utils_1.0.orig.tar.gz \
+ file://fix-ftbfs-echo.patch"
+SRC_URI:append:arm = " file://0001-autoconf-fix-for-cross-compilation-for-ARM.patch"
+
+SRC_URI[md5sum] = "3e58772e8647093b1de2f2c90bfb9ee8"
+SRC_URI[sha256sum] = "ab6f550f01bb5fcede492ab88711d82bacee4229cf2f5dc55a349b3bff4e3b13"
+
+S = "${UNPACKDIR}/input-1.0"
+
+do_compile () {
+ oe_runmake
+}
+
+# set the DESTDIR and the STRIP variables used by the GNUmakefile.
+# The STRIP variable is set to blank or else the variable setting from OE
+# is picked up as <TC>-strip and the install step sees that as another
+# file to install.
+EXTRA_OEMAKE = "DESTDIR=${D} STRIP=''"
+
+do_install () {
+ oe_runmake install
+}
new file mode 100644
@@ -0,0 +1,32 @@
+From a2ce04cb82d545f3dbab71de7fa55eaad3df3063 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 10 Jun 2024 22:52:56 -0700
+Subject: [PATCH] Add __clear_cache declaration for clang
+
+__clear_cache was enabled on RISCV recently with 7352ba02390116f1cd6a9b583860ba28aa0a1b7a
+however it fails to compile with clang19 on RISCV
+With this error
+
+ hugemmap15.c:51:2: error: call to undeclared function '__clear_cache'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+ 51 | __clear_cache(p, p + COPY_SIZE);
+ | ^
+
+Upstream-Status: Submitted [https://lists.linux.it/pipermail/ltp/2024-June/038762.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Cc: Hui Min Mina Chou <minachou@andestech.com>
+---
+ testcases/kernel/mem/hugetlb/hugemmap/hugemmap15.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap15.c b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap15.c
+index 1dde9e87b..6a6f5fe5e 100644
+--- a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap15.c
++++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap15.c
+@@ -19,6 +19,7 @@
+
+ #if defined(__clang__)
+ #pragma clang optimize off
++ void __clear_cache(void *start, void *end);
+ #endif
+
+ #define _GNU_SOURCE
new file mode 100644
@@ -0,0 +1,32 @@
+From bb9146dd322af98a7bb96ad0d84ec376589c6cde Mon Sep 17 00:00:00 2001
+From: "Mingde (Matthew) Zeng" <matthewzmd@gmail.com>
+Date: Wed, 29 Jul 2020 08:47:09 -0400
+Subject: [PATCH] Remove OOM tests from runtest/mm
+
+Disable OOM tests, as they might cause oeqa ssh connection lost
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Mingde (Matthew) Zeng <matthew.zeng@windriver.com>
+[ pvorel: rebased for 20210927 ]
+Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
+---
+ runtest/mm | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/runtest/mm b/runtest/mm
+index 41d624ad8..1e8c22638 100644
+--- a/runtest/mm
++++ b/runtest/mm
+@@ -69,12 +69,6 @@ ksm07 ksm07
+ cpuset01 cpuset01
+ cpuset02 cpuset02
+
+-oom01 oom01
+-oom02 oom02
+-oom03 oom03
+-oom04 oom04
+-oom05 oom05
+-
+ swapping01 swapping01 -i 5
+
+ thp01 thp01 -I 120
new file mode 100644
@@ -0,0 +1,49 @@
+From 5907227ad86a93b084a52a7ff8dd8cb791c228a5 Mon Sep 17 00:00:00 2001
+From: Ryan Eatmon <reatmon@ti.com>
+Date: Mon, 27 Apr 2026 11:02:32 -0500
+Subject: [PATCH] include/mk: Fix installing subdirs
+
+When installing sub directories, the INSTALL_MODE was being used for the
+dirs as well. But in runtest/Makefile the INSTALL_MODE is being set to
+00644. This causes the ddt dir to lose the execute bits and stop acting
+like a directory.
+
+Simple fix is create INSTALL_MODE_DIR and use it when installing
+directories.
+
+Upstream-Status: Pending
+
+Signed-off-by: Ryan Eatmon <reatmon@ti.com>
+---
+ include/mk/env_post.mk | 1 +
+ include/mk/functions.mk | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/include/mk/env_post.mk b/include/mk/env_post.mk
+index ab31da73a..c2e85439a 100644
+--- a/include/mk/env_post.mk
++++ b/include/mk/env_post.mk
+@@ -58,6 +58,7 @@ INSTALL_TARGETS := $(patsubst $(abs_srcdir)/%,%,$(INSTALL_TARGETS))
+ # The large majority of the files that we install are going to be apps and
+ # scripts, so let's chmod them like that.
+ INSTALL_MODE ?= 00775
++INSTALL_MODE_DIR ?= 00775
+
+ $(abspath $(addprefix $(DESTDIR)/$(INSTALL_DIR)/,$(sort $(dir $(INSTALL_TARGETS) $(MAKE_TARGETS))))):
+ mkdir -p "$@"
+diff --git a/include/mk/functions.mk b/include/mk/functions.mk
+index 60dbed395..8e4bc973c 100644
+--- a/include/mk/functions.mk
++++ b/include/mk/functions.mk
+@@ -18,7 +18,7 @@ INSTALL_FILES += $$(abspath $$(DESTDIR)/$(3)/$(1))
+
+ $$(abspath $$(DESTDIR)/$(3)/$(1)): \
+ $$(abspath $$(dir $$(DESTDIR)/$(3)/$(1)))
+- install -m $$(INSTALL_MODE) $(shell test -d "$(2)/$(1)" && echo "-d") $(PARAM) "$(2)/$(1)" $$@
++ install $(shell test -d "$(2)/$(1)" || echo "-m $(INSTALL_MODE)") $(shell test -d "$(2)/$(1)" && echo "-m $(INSTALL_MODE_DIR) -d") $(PARAM) "$(2)/$(1)" $$@
+ $(shell test -d "$(2)/$(1)" && echo "install -m "'$$(INSTALL_MODE) $(PARAM)' "$(2)/$(1)/*" -t '$$@')
+ endef
+
+--
+2.43.0
+
new file mode 100644
@@ -0,0 +1,33 @@
+ltp: fix build failure with glibc 2.43
+
+glibc 2.43 added native openat2() support for the first time. This
+caused compatibility issues with LTP's internal openat2 definitions
+in lapi/openat2.h. LTP's configure detects glibc's openat2() and
+sets HAVE_OPENAT2=1, causing lapi/openat2.h to skip its own
+definitions of struct open_how, RESOLVE_* constants and the openat2()
+wrapper, resulting in a build failure.
+
+Undef HAVE_OPENAT2 in lapi/openat2.h to force LTP to always use its
+own internal definitions.this is a workaround until the fix is found.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hemanth Kumar M D <Hemanth.KumarMD@windriver.com>
+
+diff --git a/include/lapi/openat2.h b/include/lapi/openat2.h
+index 03327bdb7..bd44573c9 100644
+--- a/include/lapi/openat2.h
++++ b/include/lapi/openat2.h
+@@ -14,6 +14,11 @@
+
+ #include "config.h"
+
++/* glibc 2.43 provides openat2 but LTP uses its own syscall wrapper */
++#ifdef HAVE_OPENAT2
++#undef HAVE_OPENAT2
++#endif
++
+ #ifndef HAVE_OPENAT2
+ /*
+ * Arguments for how openat2(2) should open the target path. If only @flags and
+
new file mode 100644
@@ -0,0 +1,45 @@
+From 09364a758df9d89a0968894376f82f636441addb Mon Sep 17 00:00:00 2001
+From: Jiaying Song <jiaying.song.cn@windriver.com>
+Date: Fri, 23 May 2025 15:17:49 +0800
+Subject: [PATCH] syscalls/semctl08: Skip semctl08 when __USE_TIME64_REDIRECTS
+ is defined
+
+When __USE_TIME64_REDIRECTS is defined, glibc redirects struct semid_ds to a
+64-bit time-safe version that omits the sem_otime_high and sem_ctime_high
+fields. As a result, the case becomes invalid and leads to incorrect behavior.
+
+This patch adds a check to skip the test when __USE_TIME64_REDIRECTS is
+defined, ensuring the test only runs when semid_ds structurally matches
+semid64_ds and the *_high fields are accessible.
+
+Upstream-Status: Submitted [https://lists.linux.it/pipermail/ltp/2025-May/043647.html]
+
+Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
+---
+ testcases/kernel/syscalls/ipc/semctl/semctl08.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/testcases/kernel/syscalls/ipc/semctl/semctl08.c b/testcases/kernel/syscalls/ipc/semctl/semctl08.c
+index f4549adf4..28776f266 100644
+--- a/testcases/kernel/syscalls/ipc/semctl/semctl08.c
++++ b/testcases/kernel/syscalls/ipc/semctl/semctl08.c
+@@ -12,7 +12,11 @@
+ #include "tst_test.h"
+ #include "libnewipc.h"
+
+-#ifdef HAVE_SEMID64_DS_TIME_HIGH
++#if !defined(HAVE_SEMID64_DS_TIME_HIGH)
++TST_TEST_TCONF("test requires struct semid64_ds to have the time_high fields");
++#elif defined(__USE_TIME64_REDIRECTS)
++TST_TEST_TCONF("test requires __USE_TIME64_REDIRECTS to be undefined");
++#else
+
+ static void run(void)
+ {
+@@ -49,6 +53,4 @@ static struct tst_test test = {
+ .test_all = run,
+ .needs_tmpdir = 1,
+ };
+-#else
+-TST_TEST_TCONF("test requires struct semid64_ds to have the time_high fields");
+ #endif
new file mode 100644
@@ -0,0 +1,45 @@
+FILESEXTRAPATHS:prepend := "${TITESTBASE}/recipes-devtools/ltp-ddt/ltp-ddt:"
+
+require ltp_${PV}.inc
+
+SUMMARY = "Embedded Linux Device Driver Tests based on Linux Test Project"
+HOMEPAGE = "https://git.ti.com/cgit/test-automation/ltp-ddt/"
+
+DEPENDS += "alsa-lib"
+
+PE = "1"
+PR = "r1"
+PV:append = "+git"
+
+SRCREV = "8c6d7c033f2523450068ec128ce6375a0e2afa80"
+BRANCH ?= "master"
+
+SRC_URI:remove = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https"
+SRC_URI:prepend = "git://git.ti.com/git/test-automation/ltp-ddt.git;protocol=https;branch=${BRANCH} "
+
+SRC_URI:append = " file://0001-include-mk-Fix-installing-subdirs.patch"
+
+export prefix = "/opt/ltp"
+export exec_prefix = "/opt/ltp"
+
+EXTRA_OEMAKE:append = " \
+ KERNEL_USR_INC=${WORKDIR} \
+ ALSA_INCPATH=${STAGING_INCDIR} \
+ ALSA_LIBPATH=${STAGING_LIBDIR} \
+"
+
+RDEPENDS:${PN} += "\
+ acl \
+ at \
+ pm-qa \
+ serialcheck \
+ memtester \
+ libgpiod-tools \
+ iproute2-bridge \
+"
+
+do_install:append() {
+ # Upstream ltp recipe wants to remove this test case in do_install
+ install -d ${D}${prefix}/runtest/
+ echo "memcg_stress" >> ${D}${prefix}/runtest/controllers
+}
new file mode 100644
@@ -0,0 +1,157 @@
+SUMMARY = "Linux Test Project"
+DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features."
+HOMEPAGE = "https://linux-test-project.github.io/"
+SECTION = "console/utils"
+LICENSE = "GPL-2.0-only & GPL-2.0-or-later & LGPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \
+ file://testcases/network/can/filter-tests/COPYING;md5=5b155ea7d7f86eae8e8832955d8b70bc \
+"
+
+DEPENDS = "attr libaio libcap acl openssl zip-native"
+DEPENDS:append:libc-musl = " fts "
+EXTRA_OEMAKE:append:libc-musl = " LIBC=musl "
+EXTRA_OECONF:append:libc-musl = " LIBS=-lfts "
+
+# since ltp contains x86-64 assembler which uses the frame-pointer register,
+# set -fomit-frame-pointer x86-64 to handle cases where optimisation
+# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer
+# earlier in CFLAGS, etc.
+CFLAGS:append:x86-64 = " -fomit-frame-pointer"
+TUNE_CCARGS:remove:x86 = "-mfpmath=sse"
+TUNE_CCARGS:remove:x86-64 = "-mfpmath=sse"
+
+CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__"
+CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
+SRCREV = "6a60ae592cd375f004df0694efc7d50ddae9aa5e"
+
+SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \
+ file://0001-Remove-OOM-tests-from-runtest-mm.patch \
+ file://0001-Add-__clear_cache-declaration-for-clang.patch \
+ file://0001-syscalls-semctl08-Skip-semctl08-when-__USE_TIME64_RE.patch \
+ file://0001-ltp-fix-build-failure-with-glibc-2.43.patch \
+ "
+
+inherit autotools-brokensep pkgconfig
+
+# Version 20220527 added KVM test infrastructure which currently fails to build with lld due to
+# SORT_NONE in linker script which isn't supported by gold:
+# https://sourceware.org/bugzilla/show_bug.cgi?id=18097
+# https://github.com/linux-test-project/ltp/commit/3fce2064b54843218d085aae326c8f7ecf3a8c41#diff-39268f0855c634ca48c8993fcd2c95b12a65b79e8d9fa5ccd6b0f5a8785c0dd6R36
+LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', '-fuse-ld=bfd', '', d)}"
+
+# After 0002-kvm-use-LD-instead-of-hardcoding-ld.patch
+# https://github.com/linux-test-project/ltp/commit/f94e0ef3b7280f886384703ef9019aaf2f2dfebb
+# it fails with lld also a bit later when trying to use *-payload.bin
+# http://errors.yoctoproject.org/Errors/Details/663094/
+# work around this by forcing .bfd linked in LD when ld-is-lld is in DISTRO_FEATURES
+KVM_LD = "${@bb.utils.contains_any('DISTRO_FEATURES', 'ld-is-lld', '${HOST_PREFIX}ld.bfd${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', '${LD}', d)}"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+export prefix = "/opt/${PN}"
+export exec_prefix = "/opt/${PN}"
+
+PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl,"
+EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4"
+EXTRA_OECONF = " --with-realtime-testsuite --with-open-posix-testsuite "
+# ltp network/rpc test cases ftbfs when libtirpc is found
+EXTRA_OECONF += " --without-tirpc "
+
+do_compile() {
+ oe_runmake HOSTCC="${CC_FOR_BUILD}" HOST_CFLAGS="${CFLAGS_FOR_BUILD}" HOST_LDFLAGS="${LDFLAGS_FOR_BUILD}" KVM_LD="${KVM_LD}"
+}
+
+do_install(){
+ install -d ${D}${prefix}/
+ oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install include-install
+
+ # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run
+ # as it lacks dependency on some perl moudle such as LWP::Simple
+ # And this script previously works as a tool for analyzing failures from LTP
+ # runs on the OSDL's Scaleable Test Platform (STP) and it mainly accesses
+ # http://khack.osdl.org to retrieve ltp test results run on
+ # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible
+ rm -rf ${D}${prefix}/bin/STPfailure_report.pl
+
+ # The controllers memcg_stree test seems to cause us hangs and takes 900s
+ # (maybe we expect more regular output?), anyhow, skip it
+ sed -e '/^memcg_stress/d' -i ${D}${prefix}/runtest/controllers
+
+ # min_free_kbytes can be disruptive on constrained targets
+ sed -e '/^min_free_kbytes/d' -i ${D}${prefix}/runtest/mm
+
+ # cve-2018-13405 triggers memory deadlock kernel panic on constrained targets
+ sed -e '/^cve-2018-13405/d' -i ${D}${prefix}/runtest/cve
+
+ # cve-2020-36557 triggers memory deadlock kernel panic on constrained targets
+ sed -e '/^cve-2020-36557/d' -i ${D}${prefix}/runtest/cve
+}
+
+RDEPENDS:${PN} = "\
+ attr \
+ bash \
+ bc \
+ coreutils \
+ cpio \
+ cronie \
+ curl \
+ e2fsprogs \
+ e2fsprogs-mke2fs \
+ expect \
+ file \
+ findutils \
+ gawk \
+ gdb \
+ gzip \
+ iproute2 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'iputils-ping6', '', d)} \
+ ldd \
+ libaio \
+ logrotate \
+ net-tools \
+ perl \
+ python3-core \
+ python3-kirk \
+ procps \
+ quota \
+ unzip \
+ util-linux \
+ which \
+ tar \
+"
+
+RRECOMMENDS:${PN} += "kernel-module-loop"
+
+FILES:${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* ${prefix}/testcases/bin/* ${prefix}/testcases/bin/*/bin/* ${prefix}/testscripts/* ${prefix}/testcases/open_posix_testsuite/* ${prefix}/testcases/open_posix_testsuite/conformance/* ${prefix}/testcases/open_posix_testsuite/Documentation/* ${prefix}/testcases/open_posix_testsuite/functional/* ${prefix}/testcases/open_posix_testsuite/include/* ${prefix}/testcases/open_posix_testsuite/scripts/* ${prefix}/testcases/open_posix_testsuite/stress/* ${prefix}/testcases/open_posix_testsuite/tools/* ${prefix}/testcases/data/nm01/lib.a ${prefix}/lib/libmem.a"
+
+# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail
+INHIBIT_PACKAGE_STRIP_FILES = "${prefix}/testcases/bin/nm01 ${prefix}/testcases/bin/ldd01"
+INSANE_SKIP:${PN} += "already-stripped staticdev"
+
+CACHED_CONFIGUREVARS:libc-musl = "ac_cv_type_struct_mnt_id_req=no ac_cv_type_struct_statmount=no"
+
+remove_broken_musl_sources() {
+ [ "${TCLIBC}" = "musl" ] || return 0
+
+ cd ${S}
+ bbverbnote "remove unsupported tests (until they're fixed)"
+
+ # sync with upstream
+ # https://github.com/linux-test-project/ltp/blob/master/ci/alpine.sh#L33
+ rm -rfv \
+ testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \
+ testcases/kernel/syscalls/getcontext/getcontext01.c \
+ testcases/kernel/syscalls/rt_tgsigqueueinfo/rt_tgsigqueueinfo01.c \
+ testcases/kernel/syscalls/timer_create/timer_create01.c \
+ testcases/kernel/syscalls/timer_create/timer_create03.c \
+ testcases/kernel/syscalls/statmount/statmount02.c
+}
+do_patch[postfuncs] += "remove_broken_musl_sources"
+
+# Avoid file dependency scans, as LTP checks for things that may or may not
+# exist on the running system. For instance it has specific checks for
+# csh and ksh which are not typically part of OpenEmbedded systems (but
+# can be added via additional layers.)
+SKIP_FILEDEPS:${PN} = '1'
new file mode 100644
@@ -0,0 +1,45 @@
+PR:append = ".ti2"
+
+SRC_URI:remove = "git://git.infradead.org/mtd-utils.git;branch=master \
+"
+
+SRC_URI:prepend = "git://git.infraroot.at/mtd-utils.git;branch=master;protocol=https \
+"
+
+EXTRA_OEMAKE = "'CC=${CC} ${CFLAGS} ${@bb.utils.contains('PACKAGECONFIG', 'xattr', '', '-DWITHOUT_XATTR', d)} -I${S}/include' 'RANLIB=${RANLIB}' 'AR=${AR}' 'BUILDDIR=${S}'"
+
+do_compile:append() {
+ oe_runmake tests
+}
+
+do_install:append() {
+ install -m 0755 io_update ${D}${sbindir}/
+ install -m 0755 volrefcnt ${D}${sbindir}/
+ install -m 0755 integ ${D}${sbindir}/
+ install -m 0755 io_paral ${D}${sbindir}/
+ install -m 0755 io_read ${D}${sbindir}/
+ install -m 0755 io_basic ${D}${sbindir}/
+ install -m 0755 mkvol_basic ${D}${sbindir}/
+ install -m 0755 mkvol_bad ${D}${sbindir}/
+ install -m 0755 mkvol_paral ${D}${sbindir}/
+ install -m 0755 rsvol ${D}${sbindir}/
+ install -m 0755 tests/ubi-tests/runubitests.sh ${D}${sbindir}/
+ install -m 0755 tests/ubi-tests/ubi-stress-test.sh ${D}${sbindir}/
+}
+
+PACKAGES =+ "mtd-utils-ubifs-tests"
+
+FILES:mtd-utils-ubifs-tests = " \
+${sbindir}/io_update \
+${sbindir}/volrefcnt \
+${sbindir}/integ \
+${sbindir}/io_paral \
+${sbindir}/io_read \
+${sbindir}/io_basic \
+${sbindir}/mkvol_basic \
+${sbindir}/mkvol_bad \
+${sbindir}/mkvol_paral \
+${sbindir}/rsvol \
+${sbindir}/runubitests.sh \
+${sbindir}/ubi-stress-test.sh \
+"
new file mode 100644
@@ -0,0 +1,4 @@
+MTD_UTILS_TI = ""
+MTD_UTILS_TI:ti-soc = "mtd-utils-ti.inc"
+
+require ${MTD_UTILS_TI}
new file mode 100644
@@ -0,0 +1,40 @@
+From c52280d923c167032a84f1c67574eb340e38572c Mon Sep 17 00:00:00 2001
+From: Denys Dmytriyenko <denys@konsulko.com>
+Date: Wed, 7 May 2025 17:03:20 -0400
+Subject: [PATCH] Use proper definition of boolean type
+
+Newer versions of GCC and C standard have bool as a built-in
+keyword - use a standard stdbool.h header to properly handle it.
+
+Upstream-Status: Inactive-Upstream
+
+Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
+---
+ arch/arm/mach-omap/common/statcoll/sci.h | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+diff --git a/arch/arm/mach-omap/common/statcoll/sci.h b/arch/arm/mach-omap/common/statcoll/sci.h
+index 4134c00..1a393b4 100644
+--- a/arch/arm/mach-omap/common/statcoll/sci.h
++++ b/arch/arm/mach-omap/common/statcoll/sci.h
+@@ -48,17 +48,11 @@
+ #ifndef SCI_H
+ #define SCI_H
+
++#include <stdbool.h>
+ #include <stdlib.h>
+ #include <stdint.h> // The library uses C99 exact-width integer types
+ #include "sci_dev.h"
+
+-#if !defined(__bool_true_false_are_defined) && !defined(_STM_Logging)
+-typedef enum {
+- false = 0,
+- true = 1
+-} bool;
+-#endif
+-
+ #ifdef _STM_Logging
+ #include "StmLibrary.h"
+ #endif
+--
+2.25.1
new file mode 100644
@@ -0,0 +1,24 @@
+SUMMARY = "Diagnostic tool for TI OMAP processors"
+HOMEPAGE = "https://github.com/omapconf/omapconf"
+
+LICENSE = "GPL-2.0-only | BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=205c83c4e2242a765acb923fc766e914"
+
+PV = "1.75+git"
+
+COMPATIBLE_MACHINE = "ti33x|ti43x|am57xx"
+
+BRANCH ?= "master"
+SRCREV = "ff07b6992bacb1e1586c72b7d2be469caee4a347"
+
+SRC_URI = "git://github.com/omapconf/omapconf.git;protocol=https;branch=${BRANCH}"
+
+SRC_URI += "file://0001-Use-proper-definition-of-boolean-type.patch"
+
+do_compile () {
+ oe_runmake CC="${CC}" all
+}
+
+do_install () {
+ oe_runmake DESTDIR=${D}${bindir} install
+}
new file mode 100644
@@ -0,0 +1,13 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/pm-qa:"
+
+# Bump to 0.5.0+
+SRCREV = "e66966ef6a08cd3b491ee1df5c6c5d33baaf1f1c"
+
+SRC_URI += " \
+ file://0001-Return-non-zero-value-on-test-failure.patch \
+ file://0002-cpuidle-Avoid-relative-paths.patch \
+"
+
+PATCHTOOL = "git"
+
+PR:append = ".ti0"
new file mode 100644
@@ -0,0 +1,28 @@
+From: Carlos Hernandez <ceh@ti.com>
+Subject: [meta-arago][linaro pm-qa PATCH 1/2] Return non-zero value on test failure
+Date: Thu, 13 Aug 2015 15:03:00 -0400
+
+By convention Linux tools return non-zero value on error/failure.
+
+Upstream-Status: Inactive-Upstream
+
+Signed-off-by: Carlos Hernandez <ceh@ti.com>
+---
+ include/functions.sh | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/functions.sh b/include/functions.sh
+index 518f555bbe3d..0b054776b763 100644
+--- a/include/functions.sh
++++ b/include/functions.sh
+@@ -54,6 +54,7 @@ test_status_show() {
+ echo " "
+ if [ "$test_script_status" = "fail" ]; then
+ echo "$TEST_NAME: fail"
++ exit 1
+ elif [ "$test_script_status" = "skip" ]; then
+ echo "$TEST_NAME: skip"
+ else
+--
+2.4.4
+
new file mode 100644
@@ -0,0 +1,58 @@
+From: Carlos Hernandez <ceh@ti.com>
+Subject: [meta-arago][linaro pm-qa PATCH 2/2] cpuidle: Avoid relative paths
+Date: Thu, 13 Aug 2015 15:03:01 -0400
+
+Instead of assuming location of files in the filesystem by using
+relative paths, call binary and let $PATH find binary location.
+
+Upstream-Status: Inactive-Upstream
+
+Signed-off-by: Carlos Hernandez <ceh@ti.com>
+---
+ cpuidle/cpuidle_02.sh | 2 +-
+ cpuidle/cpuidle_03.sh | 2 +-
+ include/functions.sh | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/cpuidle/cpuidle_02.sh b/cpuidle/cpuidle_02.sh
+index 4242e241926e..111fa67ff110 100755
+--- a/cpuidle/cpuidle_02.sh
++++ b/cpuidle/cpuidle_02.sh
+@@ -27,7 +27,7 @@
+
+ . ../include/functions.sh
+
+-CPUIDLE_KILLER=./cpuidle_killer
++CPUIDLE_KILLER=cpuidle_killer
+
+ check "cpuidle program runs successfully (120 secs)" "$CPUIDLE_KILLER"
+ test_status_show
+diff --git a/cpuidle/cpuidle_03.sh b/cpuidle/cpuidle_03.sh
+index d82e5e348c90..f79cf894eade 100755
+--- a/cpuidle/cpuidle_03.sh
++++ b/cpuidle/cpuidle_03.sh
+@@ -27,7 +27,7 @@
+
+ . ../include/functions.sh
+
+-CPUIDLE_KILLER=./cpuidle_killer
++CPUIDLE_KILLER=cpuidle_killer
+
+ is_root
+ if [ $? -ne 0 ]; then
+diff --git a/include/functions.sh b/include/functions.sh
+index 0b054776b763..62747481fe5c 100644
+--- a/include/functions.sh
++++ b/include/functions.sh
+@@ -23,7 +23,7 @@
+ # - initial API and implementation
+ #
+
+-. ../Switches/Switches.sh
++#. ../Switches/Switches.sh
+
+ CPU_PATH="/sys/devices/system/cpu"
+ TEST_NAME=$(basename ${0%.sh})
+--
+2.4.4
+
new file mode 100644
@@ -0,0 +1,6 @@
+
+PM_QA_TI = ""
+PM_QA_TI:ti-soc = "pm-qa-ti.inc"
+
+require ${PM_QA_TI}
+
new file mode 100644
@@ -0,0 +1,19 @@
+SUMMARY = "UVC gadget userspace sample application"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://uvc-gadget.c;beginline=1;endline=18;md5=414860c3c534dc95d81da9564cfb8d2a"
+
+SRC_URI = "git://git.ideasonboard.org/uvc-gadget.git;branch=master"
+
+PV = "1.1+git"
+SRCREV = "aa82df887ab995473cd83c89777cdf4bc4685dd0"
+
+EXTRA_OEMAKE = 'CC="${CC}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" KERNEL_INCLUDE=""'
+
+do_compile () {
+ oe_runmake
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m755 uvc-gadget ${D}${bindir}
+}
We are moving the meta-arago-test layer to meta-ti-test. This commit imports all of the recipes under recipes-devtools. Signed-off-by: Ryan Eatmon <reatmon@ti.com> --- .../bpftool/bpftool-native-ti.inc | 1 + .../bpftool/bpftool-native_%.bbappend | 4 + .../dma-heap/dma-heap-tests.bb | 14 ++ ...nf-fix-for-cross-compilation-for-ARM.patch | 69 ++++++++ .../input-utils/fix-ftbfs-echo.patch | 21 +++ .../input-utils/input-utils_1.0.bb | 31 ++++ ...-__clear_cache-declaration-for-clang.patch | 32 ++++ ...001-Remove-OOM-tests-from-runtest-mm.patch | 32 ++++ ...01-include-mk-Fix-installing-subdirs.patch | 49 ++++++ ...tp-fix-build-failure-with-glibc-2.43.patch | 33 ++++ ...8-Skip-semctl08-when-__USE_TIME64_RE.patch | 45 +++++ .../ltp-ddt/ltp-ddt_20260130.bb | 45 +++++ .../recipes-devtools/ltp-ddt/ltp_20260130.inc | 157 ++++++++++++++++++ .../recipes-devtools/mtd/mtd-utils-ti.inc | 45 +++++ .../recipes-devtools/mtd/mtd-utils_%.bbappend | 4 + ...se-proper-definition-of-boolean-type.patch | 40 +++++ .../recipes-devtools/omapconf/omapconf_git.bb | 24 +++ .../recipes-devtools/pm-qa/pm-qa-ti.inc | 13 ++ ...eturn-non-zero-value-on-test-failure.patch | 28 ++++ .../0002-cpuidle-Avoid-relative-paths.patch | 58 +++++++ .../recipes-devtools/pm-qa/pm-qa_%.bbappend | 6 + .../uvc-gadget/uvc-gadget_git.bb | 19 +++ 22 files changed, 770 insertions(+) create mode 100644 meta-ti-test/recipes-devtools/bpftool/bpftool-native-ti.inc create mode 100644 meta-ti-test/recipes-devtools/bpftool/bpftool-native_%.bbappend create mode 100644 meta-ti-test/recipes-devtools/dma-heap/dma-heap-tests.bb create mode 100644 meta-ti-test/recipes-devtools/input-utils/input-utils/0001-autoconf-fix-for-cross-compilation-for-ARM.patch create mode 100644 meta-ti-test/recipes-devtools/input-utils/input-utils/fix-ftbfs-echo.patch create mode 100644 meta-ti-test/recipes-devtools/input-utils/input-utils_1.0.bb create mode 100644 meta-ti-test/recipes-devtools/ltp-ddt/ltp-ddt/0001-Add-__clear_cache-declaration-for-clang.patch create mode 100644 meta-ti-test/recipes-devtools/ltp-ddt/ltp-ddt/0001-Remove-OOM-tests-from-runtest-mm.patch create mode 100644 meta-ti-test/recipes-devtools/ltp-ddt/ltp-ddt/0001-include-mk-Fix-installing-subdirs.patch create mode 100644 meta-ti-test/recipes-devtools/ltp-ddt/ltp-ddt/0001-ltp-fix-build-failure-with-glibc-2.43.patch create mode 100644 meta-ti-test/recipes-devtools/ltp-ddt/ltp-ddt/0001-syscalls-semctl08-Skip-semctl08-when-__USE_TIME64_RE.patch create mode 100644 meta-ti-test/recipes-devtools/ltp-ddt/ltp-ddt_20260130.bb create mode 100644 meta-ti-test/recipes-devtools/ltp-ddt/ltp_20260130.inc create mode 100644 meta-ti-test/recipes-devtools/mtd/mtd-utils-ti.inc create mode 100644 meta-ti-test/recipes-devtools/mtd/mtd-utils_%.bbappend create mode 100644 meta-ti-test/recipes-devtools/omapconf/files/0001-Use-proper-definition-of-boolean-type.patch create mode 100644 meta-ti-test/recipes-devtools/omapconf/omapconf_git.bb create mode 100644 meta-ti-test/recipes-devtools/pm-qa/pm-qa-ti.inc create mode 100644 meta-ti-test/recipes-devtools/pm-qa/pm-qa/0001-Return-non-zero-value-on-test-failure.patch create mode 100644 meta-ti-test/recipes-devtools/pm-qa/pm-qa/0002-cpuidle-Avoid-relative-paths.patch create mode 100644 meta-ti-test/recipes-devtools/pm-qa/pm-qa_%.bbappend create mode 100644 meta-ti-test/recipes-devtools/uvc-gadget/uvc-gadget_git.bb