diff options
author | Dave Cobbley <david.j.cobbley@linux.intel.com> | 2018-08-22 21:40:54 -0400 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-08-23 12:39:42 -0400 |
commit | 194ff4f1f5d44b12e9cb06ddafa6adb20174a13c (patch) | |
tree | 823835cd29daf8901a31ac14c7e6534abf199be3 /meta-openpower/common/recipes-phosphor/debug | |
parent | 4feb727cd6b77a68bdaca63e121b378d814f5eaf (diff) | |
download | talos-openbmc-194ff4f1f5d44b12e9cb06ddafa6adb20174a13c.tar.gz talos-openbmc-194ff4f1f5d44b12e9cb06ddafa6adb20174a13c.zip |
[Subtree] Bring openbmc machines to top level
The new subtree model brings the subtrees up from the openbmc-machines
layer.
Change-Id: I58a03ae1be374bc79ae1438e65e888375d12d0c0
Signed-off-by: Dave Cobbley <david.j.cobbley@linux.intel.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-openpower/common/recipes-phosphor/debug')
5 files changed, 113 insertions, 0 deletions
diff --git a/meta-openpower/common/recipes-phosphor/debug/openpower-debug-collector.bb b/meta-openpower/common/recipes-phosphor/debug/openpower-debug-collector.bb new file mode 100644 index 000000000..ac4cd0141 --- /dev/null +++ b/meta-openpower/common/recipes-phosphor/debug/openpower-debug-collector.bb @@ -0,0 +1,77 @@ +SUMMARY = "OpenPOWER Debug Collector" +DESCRIPTION = "Application to log error during host checkstop and watchdog timeout" + +PR = "r1" + +inherit autotools \ + pkgconfig \ + obmc-phosphor-systemd \ + pythonnative \ + phosphor-dbus-yaml + +require ${PN}.inc + +DEPENDS += " \ + phosphor-logging \ + autoconf-archive-native \ + sdbus++-native \ + " +RDEPENDS_${PN} += " \ + phosphor-logging \ + " + +S = "${WORKDIR}/git" + +# This provides below 2 applications that are called into in case +# of host checkstop and host watchdog timeout respectively. +APPS = "checkstop watchdog" + +DEBUG_TMPL = "openpower-debug-collector-{0}@.service" +SYSTEMD_SERVICE_${PN} += "${@compose_list(d, 'DEBUG_TMPL', 'APPS')}" + +# This needs to be executed as part of host crash +CHECKSTOP_TMPL = "openpower-debug-collector-checkstop@.service" +CRASH_TGTFMT = "obmc-host-crash@{0}.target" +CHECKSTOP_INSTFMT = "openpower-debug-collector-checkstop@{0}.service" +CRASH_CHECKSTOP_FMT = "../${CHECKSTOP_TMPL}:${CRASH_TGTFMT}.wants/${CHECKSTOP_INSTFMT}" + +# Make watchdog part of obmc-host-timeout target +WDOG_TMPL = "openpower-debug-collector-watchdog@.service" +TIMEOUT_TGTFMT = "obmc-host-timeout@{0}.target" +WDOG_INSTFMT = "openpower-debug-collector-watchdog@{0}.service" +TIMEOUT_WDOG_FMT = "../${WDOG_TMPL}:${TIMEOUT_TGTFMT}.wants/${WDOG_INSTFMT}" + +# Capture debug information on watchdog timeout +DEBUG_WD_TIMEOUT_TMPL = "openpower-debug-collector-watchdog-timeout@.service" +DEBUG_WD_TIMEOUT_INSTFMT = "openpower-debug-collector-watchdog-timeout@{0}.service" +DEBUG_WD_TIMEOUT_FMT = "../${DEBUG_WD_TIMEOUT_TMPL}:${TIMEOUT_TGTFMT}.wants/${DEBUG_WD_TIMEOUT_INSTFMT}" + +SYSTEMD_LINK_${PN} += "${@compose_list(d, 'CRASH_CHECKSTOP_FMT', 'OBMC_HOST_INSTANCES')}" +SYSTEMD_LINK_${PN} += "${@compose_list(d, 'TIMEOUT_WDOG_FMT', 'OBMC_HOST_INSTANCES')}" +SYSTEMD_LINK_${PN} += "${@compose_list(d, 'DEBUG_WD_TIMEOUT_FMT', 'OBMC_HOST_INSTANCES')}" + +# Do not depend on phosphor-logging for native build +DEPENDS_remove_class-native = "phosphor-logging" + +# Do not depend on phosphor-logging for native SDK build +DEPENDS_remove_class-nativesdk = "phosphor-logging" + +# Provide a means to enable/disable install_error_yaml feature +PACKAGECONFIG ??= "install_error_yaml" +PACKAGECONFIG[install_error_yaml] = " \ + --enable-install_error_yaml, \ + --disable-install_error_yaml, ,\ + " + +# Enable install_error_yaml during native and native SDK build +PACKAGECONFIG_add_class-native = "install_error_yaml" +PACKAGECONFIG_add_class-nativesdk = "install_error_yaml" + +# Disable install_error_yaml during target build +PACKAGECONFIG_remove_class-target = "install_error_yaml" + +# Disable generating elog error header file during bitbake. Applications +# should be using the elog header generated by phosphor-logging recipe +EXTRA_OECONF += "--disable-gen_errors" + +BBCLASSEXTEND += "native nativesdk" diff --git a/meta-openpower/common/recipes-phosphor/debug/openpower-debug-collector.inc b/meta-openpower/common/recipes-phosphor/debug/openpower-debug-collector.inc new file mode 100644 index 000000000..4b1435625 --- /dev/null +++ b/meta-openpower/common/recipes-phosphor/debug/openpower-debug-collector.inc @@ -0,0 +1,5 @@ +HOMEPAGE = "https://github.com/openbmc/openpower-debug-collector" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" +SRC_URI += "git://github.com/openbmc/openpower-debug-collector" +SRCREV = "5bc32f24a05de75b3a11d93cdae7b99ee718efcb" diff --git a/meta-openpower/common/recipes-phosphor/debug/openpower-debug-collector/openpower-debug-collector-checkstop@.service b/meta-openpower/common/recipes-phosphor/debug/openpower-debug-collector/openpower-debug-collector-checkstop@.service new file mode 100644 index 000000000..5e8cf3dcd --- /dev/null +++ b/meta-openpower/common/recipes-phosphor/debug/openpower-debug-collector/openpower-debug-collector-checkstop@.service @@ -0,0 +1,13 @@ +[Unit] +Description=OpenPOWER debug data collector for host checkstop +Before=obmc-host-quiesce@%i.target + +[Service] +# Adding 10 seconds to allow OCC to collect debug data +# before processing checkstop. OCC has to wait 5 seconds +# for our driver to stop using the SBEFIFO. +ExecStart={base_bindir}/sleep 10 +ExecStart=/usr/bin/env checkstop_app +SyslogIdentifier=checkstop_app +Type=oneshot +Restart=no diff --git a/meta-openpower/common/recipes-phosphor/debug/openpower-debug-collector/openpower-debug-collector-watchdog-timeout@.service b/meta-openpower/common/recipes-phosphor/debug/openpower-debug-collector/openpower-debug-collector-watchdog-timeout@.service new file mode 100644 index 000000000..55ba40351 --- /dev/null +++ b/meta-openpower/common/recipes-phosphor/debug/openpower-debug-collector/openpower-debug-collector-watchdog-timeout@.service @@ -0,0 +1,9 @@ +[Unit] +Description=OpenPOWER debug data collector for host %I watchdog timeout +Before=obmc-host-quiesce@%i.target + +[Service] +ExecStart=/usr/bin/env openpower-proc-control collectSBEHBData +SyslogIdentifier=openpower-proc-control +Type=oneshot +Restart=no diff --git a/meta-openpower/common/recipes-phosphor/debug/openpower-debug-collector/openpower-debug-collector-watchdog@.service b/meta-openpower/common/recipes-phosphor/debug/openpower-debug-collector/openpower-debug-collector-watchdog@.service new file mode 100644 index 000000000..6fc3fec82 --- /dev/null +++ b/meta-openpower/common/recipes-phosphor/debug/openpower-debug-collector/openpower-debug-collector-watchdog@.service @@ -0,0 +1,9 @@ +[Unit] +Description=OpenPOWER debug data collector for host watchdog timeout +Before=obmc-host-quiesce@%i.target + +[Service] +ExecStart=/usr/bin/env watchdog_timeout +SyslogIdentifier=watchdog_timeout +Type=oneshot +Restart=no |