meta-google: add recipe to disable ipmi kcs

Change-Id: I1954f9ac5361137ef42faed0ff271bdebd11e77d
Signed-off-by: Yuxiao Zhang <yuxiaozhang@google.com>
diff --git a/meta-google/recipes-google/bare-metal-ipmi-kcs/bare-metal-ipmi-kcs.bb b/meta-google/recipes-google/bare-metal-ipmi-kcs/bare-metal-ipmi-kcs.bb
new file mode 100644
index 0000000..3bf5935
--- /dev/null
+++ b/meta-google/recipes-google/bare-metal-ipmi-kcs/bare-metal-ipmi-kcs.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Disable ipmi kcs while in Guest Os"
+DESCRIPTION = "Disable ipmi kcs while an untrusted host OS is running"
+PR = "r1"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit systemd
+
+SRC_URI += " \
+  file://disable-ipmi-kcs.service.in \
+"
+
+DEPENDS += "systemd"
+
+RDEPENDS:${PN}:append = " \
+  bare-metal-active \
+  "
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = " \
+  disable-ipmi-kcs.service \
+  "
+
+# This should be aligned with the phosphor-ipmi-kcs and override per platform
+KCS_DEVICE ?= "ipmi_kcs1"
+
+do_install:append() {
+
+  sed ${WORKDIR}/disable-ipmi-kcs.service.in \
+        -e "s#@KCS_DEV@#${KCS_DEVICE}#" \
+        > ${WORKDIR}/disable-ipmi-kcs.service
+
+  install -d ${D}${systemd_system_unitdir}
+  install -m 0644 ${WORKDIR}/disable-ipmi-kcs.service ${D}${systemd_system_unitdir}
+}
diff --git a/meta-google/recipes-google/bare-metal-ipmi-kcs/bare-metal-ipmi-kcs/disable-ipmi-kcs.service.in b/meta-google/recipes-google/bare-metal-ipmi-kcs/bare-metal-ipmi-kcs/disable-ipmi-kcs.service.in
new file mode 100644
index 0000000..7b215f0
--- /dev/null
+++ b/meta-google/recipes-google/bare-metal-ipmi-kcs/bare-metal-ipmi-kcs/disable-ipmi-kcs.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Disable ipmi kcs
+BindsTo=gbmc-bare-metal-active.target
+Before=gbmc-bare-metal-active.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=true
+ExecStart=/bin/sh -c 'systemctl stop phosphor-ipmi-kcs@@KCS_DEV@'
+ExecStop=/bin/sh -c 'systemctl start phosphor-ipmi-kcs@@KCS_DEV@'
+
+[Install]
+WantedBy=gbmc-bare-metal-active.target