summaryrefslogtreecommitdiffstats
path: root/meta-openbmc-machines
diff options
context:
space:
mode:
authorVishwanatha Subbanna <vishwa@linux.vnet.ibm.com>2017-04-28 15:35:10 +0530
committerPatrick Williams <patrick@stwcx.xyz>2017-05-31 01:38:35 +0000
commit3de840555579b6d81f33c4ab187e76dfefc41a69 (patch)
tree8d71c5f5bf9728a720ca4a7b91eda37ce724b3d8 /meta-openbmc-machines
parent19a135fae2d0b836c5a112ab1657f37ad27f66a3 (diff)
downloadtalos-openbmc-3de840555579b6d81f33c4ab187e76dfefc41a69.tar.gz
talos-openbmc-3de840555579b6d81f33c4ab187e76dfefc41a69.zip
Add recipe file for phosphor-gpio-monitor
phosphor-gpio-monitor is a generic GPIO monitor application which can be used for any purpose where a GPIO needs to be monitored for certain state. Due to this need, it has been added to obmc package group. Change-Id: I8e11e8d5567d6f4c56479b335d1f6bd9b39401fd Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
Diffstat (limited to 'meta-openbmc-machines')
-rw-r--r--meta-openbmc-machines/meta-openpower/common/recipes-phosphor/host/checkstop-monitor.bb29
-rw-r--r--meta-openbmc-machines/meta-openpower/common/recipes-phosphor/host/checkstop-monitor/obmc/gpio/checkstop4
-rw-r--r--meta-openbmc-machines/meta-openpower/common/recipes-phosphor/host/checkstop-monitor/openpower-host-checkstop-monitor@.target4
-rw-r--r--meta-openbmc-machines/meta-openpower/common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend5
4 files changed, 42 insertions, 0 deletions
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/host/checkstop-monitor.bb b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/host/checkstop-monitor.bb
new file mode 100644
index 000000000..07d024e0c
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/host/checkstop-monitor.bb
@@ -0,0 +1,29 @@
+SUMMARY = "OpenPOWER Host checkstop monitor application"
+PR = "r1"
+
+inherit obmc-phosphor-systemd
+inherit obmc-phosphor-license
+inherit allarch
+
+DEPENDS += "virtual/obmc-gpio-monitor"
+RDEPENDS_${PN} += "virtual/obmc-gpio-monitor"
+
+# For now, monitoring checkstop is the only usecase
+OBMC_HOST_MONITOR_INSTANCES = "checkstop"
+
+# Copies config file having arguments for monitoring host checkstop
+# via GPIO assertion
+SYSTEMD_ENVIRONMENT_FILE_${PN} +="obmc/gpio/checkstop"
+
+SYSTEMD_SERVICE_${PN} += "openpower-host-checkstop-monitor@.target"
+
+CHECKSTOP_TMPL = "openpower-host-checkstop-monitor@.target"
+CHECKSTOP_TGTFMT = "openpower-host-checkstop-monitor@{0}.target"
+CHECKSTOP_MONITOR_FMT = "${CHECKSTOP_TMPL}:${CHECKSTOP_TGTFMT}"
+SYSTEMD_LINK_${PN} += "${@compose_list(d, 'CHECKSTOP_MONITOR_FMT', 'OBMC_HOST_MONITOR_INSTANCES')}"
+
+GPIO_TMPL = "phosphor-gpio-monitor@.service"
+MONITOR_TGTFMT = "openpower-host-checkstop-monitor@{0}.target"
+GPIO_INSTFMT = "phosphor-gpio-monitor@{0}.service"
+MONITOR_GPIO_FMT = "../${GPIO_TMPL}:${MONITOR_TGTFMT}.wants/${GPIO_INSTFMT}"
+SYSTEMD_LINK_${PN} += "${@compose_list(d, 'MONITOR_GPIO_FMT', 'OBMC_HOST_MONITOR_INSTANCES')}"
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/host/checkstop-monitor/obmc/gpio/checkstop b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/host/checkstop-monitor/obmc/gpio/checkstop
new file mode 100644
index 000000000..1259483bc
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/host/checkstop-monitor/obmc/gpio/checkstop
@@ -0,0 +1,4 @@
+PATH=/dev/input/event0
+KEY=74
+POLARITY=1
+TARGET=obmc-host-crash@0.target
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/host/checkstop-monitor/openpower-host-checkstop-monitor@.target b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/host/checkstop-monitor/openpower-host-checkstop-monitor@.target
new file mode 100644
index 000000000..8c2168bbb
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/host/checkstop-monitor/openpower-host-checkstop-monitor@.target
@@ -0,0 +1,4 @@
+[Unit]
+Description=Host instance %i checkstop monitor
+Requires=phosphor-gpio-monitor@%i.service
+RefuseManualStop=yes
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
index f9ed14bbb..b9c7832c6 100644
--- a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
+++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -21,3 +21,8 @@ RDEPENDS_${PN}-inventory += "obmc-mgr-inventory"
RDEPENDS_${PN}-sensors += "obmc-hwmon obmc-mgr-sensor"
RDEPENDS_${PN}-debug-collector += "openpower-debug-collector"
+
+# Add checkstop monitor as part of host state management package
+# This will kick start a gpio monitor that will catch the
+# host checkstop conditions and takes necessary actions
+RDEPENDS_${PN}-host-state-mgmt += "checkstop-monitor"
OpenPOWER on IntegriCloud