From f528573e33d957110a87bcafce2551d155662b31 Mon Sep 17 00:00:00 2001 From: Romuald JEANNE Date: Mon, 15 Mar 2021 16:03:41 +0100 Subject: [PATCH] M4COREDUMP: add service to enable coredump via remoteproc Signed-off-by: Christophe Priouzeau Change-Id: I6d5c1ca745fb2598f1937fa261a6fe5432d7f204 --- .../m4coredump/files/st-m4coredump.service | 11 +++++++++++ .../m4coredump/files/stm32mp-coredump-sysfs.sh | 16 ++++++++++++++++ recipes-extended/m4coredump/m4fwcoredump.bb | 13 +++++++++++++ 3 files changed, 40 insertions(+) create mode 100755 recipes-extended/m4coredump/files/st-m4coredump.service create mode 100644 recipes-extended/m4coredump/files/stm32mp-coredump-sysfs.sh diff --git a/recipes-extended/m4coredump/files/st-m4coredump.service b/recipes-extended/m4coredump/files/st-m4coredump.service new file mode 100755 index 0000000..86c0ff4 --- /dev/null +++ b/recipes-extended/m4coredump/files/st-m4coredump.service @@ -0,0 +1,11 @@ +[Unit] +Description=ST Enable M4 firmware coredump + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/sbin/stm32mp-coredump-sysfs.sh start +ExecStop=/sbin/stm32mp-coredump-sysfs.sh stop + +[Install] +WantedBy=sysinit.target diff --git a/recipes-extended/m4coredump/files/stm32mp-coredump-sysfs.sh b/recipes-extended/m4coredump/files/stm32mp-coredump-sysfs.sh new file mode 100644 index 0000000..71fc6ff --- /dev/null +++ b/recipes-extended/m4coredump/files/stm32mp-coredump-sysfs.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +case $1 in +start) + echo enabled >/sys/class/remoteproc/remoteproc0/coredump + ;; +stop) + echo disabled >/sys/class/remoteproc/remoteproc0/coredump + ;; + +*) + echo "$0 [start|stop]" + echo "Start/Stop M4 Fwirmware coredump." + ;; +esac + diff --git a/recipes-extended/m4coredump/m4fwcoredump.bb b/recipes-extended/m4coredump/m4fwcoredump.bb index aeb9bc7..4dac709 100644 --- a/recipes-extended/m4coredump/m4fwcoredump.bb +++ b/recipes-extended/m4coredump/m4fwcoredump.bb @@ -8,10 +8,15 @@ DEPENDS = "udev" SRC_URI = " \ file://85-m4-dump.rules \ file://stm32mp-m4fwdump.sh \ + \ + file://stm32mp-coredump-sysfs.sh \ + file://st-m4coredump.service \ " S = "${WORKDIR}" +inherit systemd + do_install() { install -D -p -m0644 ${WORKDIR}/85-m4-dump.rules \ ${D}${sysconfdir}/udev/rules.d/85-m4-dump.rules @@ -21,4 +26,12 @@ do_install() { sed -i -e "s:#BINDIR#:${sbindir}:g" \ ${D}${sysconfdir}/udev/rules.d/85-m4-dump.rules + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -d ${D}${base_sbindir} + install -m 644 ${WORKDIR}/st-m4coredump.service ${D}${systemd_unitdir}/system/ + install -m 755 ${WORKDIR}/stm32mp-coredump-sysfs.sh ${D}${base_sbindir}/ + fi } +FILES_${PN} += "${systemd_unitdir}/system"