Initial commit
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
SUMMARY = "Shared OpenPOWER configuration"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit allarch
|
||||
|
||||
SRC_URI = " \
|
||||
file://ipmi-fru-properties-mrw.yaml \
|
||||
file://ipmi-hostboot-fru-mrw.yaml \
|
||||
file://ipmi-hostboot-volatile-sensor-mrw.yaml \
|
||||
file://ipmi-occ-active-sensor-mrw.yaml \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
do_install() {
|
||||
install -m 0644 -D ipmi-fru-properties-mrw.yaml \
|
||||
${D}${datadir}/${BPN}/ipmi-fru-properties-mrw.yaml
|
||||
install -m 0644 -D ipmi-hostboot-fru-mrw.yaml \
|
||||
${D}${datadir}/${BPN}/ipmi-hostboot-fru-mrw.yaml
|
||||
install -m 0644 -D ipmi-hostboot-volatile-sensor-mrw.yaml \
|
||||
${D}${datadir}/${BPN}/ipmi-hostboot-volatile-sensor-mrw.yaml
|
||||
install -m 0644 -D ipmi-occ-active-sensor-mrw.yaml \
|
||||
${D}${datadir}/${BPN}/ipmi-occ-active-sensor-mrw.yaml
|
||||
}
|
||||
|
||||
FILES:${PN}-dev = " \
|
||||
${datadir}/${BPN}/ipmi-fru-properties-mrw.yaml \
|
||||
${datadir}/${BPN}/ipmi-hostboot-fru-mrw.yaml \
|
||||
${datadir}/${BPN}/ipmi-hostboot-volatile-sensor-mrw.yaml \
|
||||
${datadir}/${BPN}/ipmi-occ-active-sensor-mrw.yaml \
|
||||
"
|
||||
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
# A template for generating extra-properties.yaml for ipmi-fru-parser, from the
|
||||
# MRW with gen_fru_properties.pl
|
||||
DIMM:
|
||||
xyz.openbmc_project.Inventory.Decorator.Cacheable:
|
||||
Cached: 'false'
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'false'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
NODE:
|
||||
xyz.openbmc_project.Inventory.Decorator.Cacheable:
|
||||
Cached: 'false'
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'false'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
PROC:
|
||||
xyz.openbmc_project.Inventory.Decorator.Cacheable:
|
||||
Cached: 'false'
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'false'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
SYS:
|
||||
xyz.openbmc_project.Inventory.Decorator.Cacheable:
|
||||
Cached: 'false'
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'false'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
TPM:
|
||||
xyz.openbmc_project.Inventory.Decorator.Cacheable:
|
||||
Cached: 'false'
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'true'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
+130
@@ -0,0 +1,130 @@
|
||||
DIMM:
|
||||
EntityID: 32
|
||||
Interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruProperty: Mfg Date
|
||||
IPMIFruSection: Product
|
||||
Manufacturer:
|
||||
IPMIFruProperty: Manufacturer
|
||||
IPMIFruSection: Product
|
||||
Model:
|
||||
IPMIFruProperty: Model Number
|
||||
IPMIFruSection: Product
|
||||
PartNumber:
|
||||
IPMIFruProperty: Part Number
|
||||
IPMIFruSection: Product
|
||||
SerialNumber:
|
||||
IPMIFruProperty: Serial Number
|
||||
IPMIFruSection: Product
|
||||
xyz.openbmc_project.Inventory.Decorator.Revision:
|
||||
Version:
|
||||
IPMIFruProperty: Version
|
||||
IPMIFruSection: Product
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruProperty: Name
|
||||
IPMIFruSection: Product
|
||||
xyz.openbmc_project.Inventory.Item.Dimm:
|
||||
MEMBUFF:
|
||||
EntityID: 8
|
||||
Interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruProperty: Mfg Date
|
||||
IPMIFruSection: Board
|
||||
Manufacturer:
|
||||
IPMIFruProperty: Manufacturer
|
||||
IPMIFruSection: Board
|
||||
PartNumber:
|
||||
IPMIFruProperty: Part Number
|
||||
IPMIFruSection: Board
|
||||
SerialNumber:
|
||||
IPMIFruProperty: Serial Number
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruProperty: Name
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Item.MemoryBuffer:
|
||||
NODE:
|
||||
AssociatedTypes:
|
||||
- SYS
|
||||
EntityID: 7
|
||||
Interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruProperty: Mfg Date
|
||||
IPMIFruSection: Board
|
||||
Manufacturer:
|
||||
IPMIFruProperty: Manufacturer
|
||||
IPMIFruSection: Board
|
||||
PartNumber:
|
||||
IPMIFruProperty: Part Number
|
||||
IPMIFruSection: Board
|
||||
SerialNumber:
|
||||
IPMIFruProperty: Serial Number
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruProperty: Name
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Item.Board:
|
||||
PROC:
|
||||
EntityID: 3
|
||||
Interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruProperty: Mfg Date
|
||||
IPMIFruSection: Board
|
||||
Manufacturer:
|
||||
IPMIFruProperty: Manufacturer
|
||||
IPMIFruSection: Board
|
||||
PartNumber:
|
||||
IPMIFruProperty: Part Number
|
||||
IPMIFruSection: Board
|
||||
SerialNumber:
|
||||
IPMIFruProperty: Serial Number
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Decorator.Revision:
|
||||
Version:
|
||||
IPMIFruProperty: Custom Field 2
|
||||
IPMIFruSection: Board
|
||||
IPMIFruValueDelimiter: '58'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruProperty: Name
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Item.Cpu:
|
||||
SYS:
|
||||
EntityID: 7
|
||||
Interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
Model:
|
||||
IPMIFruProperty: Part Number
|
||||
IPMIFruSection: Chassis
|
||||
SerialNumber:
|
||||
IPMIFruProperty: Serial Number
|
||||
IPMIFruSection: Chassis
|
||||
xyz.openbmc_project.Inventory.Item.System:
|
||||
TPM:
|
||||
EntityID: 176
|
||||
Interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruProperty: Mfg Date
|
||||
IPMIFruSection: Board
|
||||
Manufacturer:
|
||||
IPMIFruProperty: Manufacturer
|
||||
IPMIFruSection: Board
|
||||
PartNumber:
|
||||
IPMIFruProperty: Part Number
|
||||
IPMIFruSection: Board
|
||||
SerialNumber:
|
||||
IPMIFruProperty: Serial Number
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruProperty: Name
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Item.Tpm:
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
hb_volatile_sensor:
|
||||
interfaces:
|
||||
xyz.openbmc_project.Object.Enable:
|
||||
Enabled:
|
||||
Offsets:
|
||||
0:
|
||||
assert: false
|
||||
type: bool
|
||||
1:
|
||||
assert: true
|
||||
type: bool
|
||||
mutability: Mutability::Write|Mutability::Read
|
||||
path: /org/open_power/control/volatile
|
||||
readingType: assertion
|
||||
sensorNamePattern: nameLeaf
|
||||
serviceInterface: org.freedesktop.DBus.Properties
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
occ_active_sensor:
|
||||
interfaces:
|
||||
org.open_power.OCC.Status:
|
||||
OccActive:
|
||||
Offsets:
|
||||
0:
|
||||
assert: 'false'
|
||||
deassert: 'true'
|
||||
type: bool
|
||||
1:
|
||||
assert: 'true'
|
||||
deassert: 'false'
|
||||
type: bool
|
||||
mutability: Mutability::Write|Mutability::Read
|
||||
readingType: assertion
|
||||
sensorNamePattern: nameLeaf
|
||||
serviceInterface: org.freedesktop.DBus.Properties
|
||||
@@ -0,0 +1,49 @@
|
||||
pkg_postinst:${PN}:append() {
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-crash@0.target.wants
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-timeout@0.target.wants
|
||||
|
||||
# The obmc-host-crash target is repurposed for the memory preserving reboot
|
||||
# feature when it is enabled. If not enabled, then install the standard
|
||||
# debug collector checkstop service for basic error reporting
|
||||
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'mpreboot', d)}" != mpreboot ]; then
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-crash@0.target.wants/openpower-debug-collector-checkstop@0.service"
|
||||
TARGET="../openpower-debug-collector-checkstop@.service"
|
||||
ln -s $TARGET $LINK
|
||||
fi
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-timeout@0.target.wants/openpower-debug-collector-watchdog@0.service"
|
||||
TARGET="../openpower-debug-collector-watchdog@.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
if [ "${@bb.utils.filter('MACHINE_FEATURES', 'phal', d)}" != 'phal' ]; then
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-timeout@0.target.wants/openpower-debug-collector-watchdog-timeout@0.service"
|
||||
TARGET="../openpower-debug-collector-watchdog-timeout@.service"
|
||||
ln -s $TARGET $LINK
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst:${PN}:append:p10bmc() {
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-stop@0.target.wants
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-stop@0.target.wants/clear_hostdumps_poweroff.service"
|
||||
TARGET="../clear_hostdumps_poweroff.service"
|
||||
ln -s $TARGET $LINK
|
||||
}
|
||||
|
||||
pkg_prerm:${PN}:append() {
|
||||
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'mpreboot', d)}" != mpreboot ]; then
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-crash@0.target.wants/openpower-debug-collector-checkstop@0.service"
|
||||
rm $LINK
|
||||
fi
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-timeout@0.target.wants/openpower-debug-collector-watchdog@0.service"
|
||||
rm $LINK
|
||||
if [ "${@bb.utils.filter('MACHINE_FEATURES', 'phal', d)}" != 'phal' ]; then
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-timeout@0.target.wants/openpower-debug-collector-watchdog-timeout@0.service"
|
||||
rm $LINK
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm:${PN}:append:p10bmc() {
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-stop@0.target.wants/clear_hostdumps_poweroff.service"
|
||||
rm $LINK
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
SUMMARY = "openpower-debug-collector: install phosphor-logging yaml"
|
||||
PR = "r1"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit phosphor-logging-yaml-provider
|
||||
require openpower-debug-collector.inc
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
@@ -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;branch=master;protocol=https"
|
||||
SRCREV = "40fccd52408dce41aed05d1a65e867d09e2fcca7"
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
[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/checkstop_app
|
||||
Type=oneshot
|
||||
Restart=no
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
[Unit]
|
||||
Description=OpenPOWER debug data collector for host %I watchdog timeout
|
||||
Before=obmc-host-quiesce@%i.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/openpower-proc-control collectSBEHBData
|
||||
Type=oneshot
|
||||
Restart=no
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=OpenPOWER debug data collector for host watchdog timeout
|
||||
Before=obmc-host-quiesce@%i.target
|
||||
After=op-stop-instructions@%i.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/watchdog_timeout
|
||||
Type=oneshot
|
||||
Restart=no
|
||||
@@ -0,0 +1,38 @@
|
||||
SUMMARY = "OpenPOWER Debug Collector"
|
||||
DESCRIPTION = "Application to log error during host checkstop and watchdog timeout"
|
||||
|
||||
PR = "r1"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
|
||||
inherit pkgconfig meson \
|
||||
obmc-phosphor-systemd \
|
||||
python3native \
|
||||
phosphor-dbus-yaml
|
||||
|
||||
require ${BPN}.inc
|
||||
require ${BPN}-systemd-links.inc
|
||||
|
||||
DEPENDS += " \
|
||||
phosphor-logging \
|
||||
${PYTHON_PN}-sdbus++-native \
|
||||
cli11 \
|
||||
ipl \
|
||||
"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
# This provides below applications that are called into in case
|
||||
# of host checkstop, host watchdog and host watchdog-timeout respectively.
|
||||
APPS = " \
|
||||
checkstop \
|
||||
watchdog \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'phal', '', 'watchdog-timeout', d)} \
|
||||
"
|
||||
|
||||
DEBUG_TMPL = "openpower-debug-collector-{0}@.service"
|
||||
SYSTEMD_SERVICE:${PN} += "${@compose_list(d, 'DEBUG_TMPL', 'APPS')}"
|
||||
|
||||
# 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 ipl"
|
||||
@@ -0,0 +1,20 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
install_openpower_plugins() {
|
||||
install ${S}/tools/dreport.d/openpower.d/plugins.d/* ${D}${dreport_plugin_dir}
|
||||
}
|
||||
|
||||
#Link the plugins so that dreport can run them based on dump type
|
||||
python link_openpower_plugins() {
|
||||
source = d.getVar('S', True)
|
||||
source_path = os.path.join(source, "tools", "dreport.d", "openpower.d", "plugins.d")
|
||||
op_plugins = os.listdir(source_path)
|
||||
for op_plugin in op_plugins:
|
||||
op_plugin_name = os.path.join(source_path, op_plugin)
|
||||
install_dreport_user_script(op_plugin_name, d)
|
||||
}
|
||||
|
||||
DEBUG_COLLECTOR_INSTALL_POSTFUNCS ?= ""
|
||||
DEBUG_COLLECTOR_INSTALL_POSTFUNCS:df-openpower ?= "install_openpower_plugins link_openpower_plugins"
|
||||
|
||||
do_install[postfuncs] += "${DEBUG_COLLECTOR_INSTALL_POSTFUNCS}"
|
||||
@@ -0,0 +1 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
@@ -0,0 +1,5 @@
|
||||
elog:
|
||||
- xyz.openbmc_project.Common.Error.InternalFailure
|
||||
checkstop:
|
||||
- org.open_power.Host.Boot.Error.Checkstop
|
||||
- org.open_power.Host.Boot.Error.WatchdogTimedOut
|
||||
@@ -0,0 +1,76 @@
|
||||
SUMMARY = "OpenPower Software Management"
|
||||
DESCRIPTION = "OpenPower Software Manager provides a set of host software \
|
||||
management daemons. It is suitable for use on a wide variety of OpenPower \
|
||||
platforms."
|
||||
HOMEPAGE = "https://github.com/openbmc/openpower-pnor-code-mgmt"
|
||||
PR = "r1"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
|
||||
|
||||
inherit meson pkgconfig systemd
|
||||
inherit obmc-phosphor-dbus-service
|
||||
|
||||
# Static configuration. This is the default if no other layout is specified.
|
||||
inherit ${@bb.utils.contains_any('DISTRO_FEATURES', \
|
||||
'openpower-ubi-fs phosphor-mmc', \
|
||||
'', \
|
||||
'openpower-software-manager-static', d)}
|
||||
|
||||
# UBI layout
|
||||
inherit ${@bb.utils.contains('DISTRO_FEATURES', 'openpower-ubi-fs', \
|
||||
'openpower-software-manager-ubi', \
|
||||
'', d)}
|
||||
# eMMC layout
|
||||
inherit ${@bb.utils.contains('DISTRO_FEATURES', 'phosphor-mmc', \
|
||||
'openpower-software-manager-mmc', \
|
||||
'', d)}
|
||||
|
||||
# Virtual PNOR
|
||||
inherit ${@bb.utils.contains('DISTRO_FEATURES', 'openpower-virtual-pnor', \
|
||||
'openpower-software-manager-virtual-pnor', \
|
||||
'', d)}
|
||||
|
||||
# PLDM Support
|
||||
inherit ${@bb.utils.contains('DISTRO_FEATURES', 'openpower-hostfw-over-pldm', \
|
||||
'openpower-software-manager-pldm', \
|
||||
'', d)}
|
||||
|
||||
PACKAGECONFIG[verify_pnor_signature] = "-Dverify-signature=enabled, -Dverify-signature=disabled"
|
||||
PACKAGECONFIG[ubifs_layout] = "-Ddevice-type=ubi,,,mtd-utils-ubifs"
|
||||
PACKAGECONFIG[mmc_layout] = "-Ddevice-type=mmc"
|
||||
PACKAGECONFIG[virtual_pnor] = "-Dvpnor=enabled, -Dvpnor=disabled,,bash"
|
||||
PACKAGECONFIG[pldm] = "-Dpldm=enabled, -Dpldm=disabled"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Dtests=disabled \
|
||||
-Dmsl="v2.0.10 v2.2" \
|
||||
"
|
||||
|
||||
DEPENDS += " \
|
||||
cli11 \
|
||||
dbus \
|
||||
nlohmann-json \
|
||||
openssl \
|
||||
phosphor-dbus-interfaces \
|
||||
phosphor-logging \
|
||||
sdbusplus \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN} += " \
|
||||
virtual-obmc-image-manager \
|
||||
"
|
||||
|
||||
FILES:${PN} += "${datadir}/dbus-1/system.d/org.open_power.Software.Host.Updater.conf"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRC_URI = "git://github.com/openbmc/openpower-pnor-code-mgmt;branch=master;protocol=https"
|
||||
|
||||
SRCREV = "90475e7458facb793b8c32a2148eacf1062a35c5"
|
||||
|
||||
DBUS_SERVICE:${PN} += "org.open_power.Software.Host.Updater.service"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} += " \
|
||||
op-pnor-msl.service \
|
||||
"
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
[Unit]
|
||||
Wants=op-vpd-parser.service
|
||||
After=op-vpd-parser.service
|
||||
@@ -0,0 +1,4 @@
|
||||
FILESEXTRAPATHS:prepend:df-openpower := "${THISDIR}/${PN}:"
|
||||
|
||||
SYSTEMD_OVERRIDE:${PN}-updater:append:df-openpower = \
|
||||
" software-bmc-updater.conf:xyz.openbmc_project.Software.BMC.Updater.service.d/software-bmc-updater.conf"
|
||||
@@ -0,0 +1,22 @@
|
||||
SUMMARY = "FSI Services"
|
||||
DESCRIPTION = "Install FSI related services"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit obmc-phosphor-systemd
|
||||
|
||||
RDEPENDS:${PN} += "op-proc-control"
|
||||
|
||||
TGTFMT_CHASSIS = "obmc-chassis-poweron@{0}.target"
|
||||
TGTFMT_HOST = "obmc-host-startmin@{0}.target"
|
||||
|
||||
TMPL_SCAN = "fsi-scan@.service"
|
||||
INSTFMT_SCAN = "fsi-scan@{0}.service"
|
||||
FMT_SCAN_CHASSIS = "../${TMPL_SCAN}:${TGTFMT_CHASSIS}.wants/${INSTFMT_SCAN}"
|
||||
FMT_SCAN_HOST = "../${TMPL_SCAN}:${TGTFMT_HOST}.wants/${INSTFMT_SCAN}"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} += "${TMPL_SCAN} fsi-enable.service fsi-disable.service"
|
||||
|
||||
SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT_SCAN_CHASSIS', 'OBMC_CHASSIS_INSTANCES')}"
|
||||
SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT_SCAN_HOST', 'OBMC_HOST_INSTANCES')}"
|
||||
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Disable FSI
|
||||
Conflicts=fsi-enable.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/openpower-proc-control setSyncFSIClock
|
||||
ExecStart=/bin/sh -c "echo 1 > /sys/devices/platform/gpio-fsi/external_mode"
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Enable FSI
|
||||
Conflicts=fsi-disable.service
|
||||
Wants=fsi-scan@0.service
|
||||
Before=fsi-scan@0.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -c "echo 0 > /sys/devices/platform/gpio-fsi/external_mode"
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
@@ -0,0 +1,21 @@
|
||||
[Unit]
|
||||
Description=Scan FSI devices
|
||||
Wants=obmc-power-on@%i.target
|
||||
After=obmc-power-on@%i.target
|
||||
Wants=obmc-host-start-pre@%i.target
|
||||
Before=obmc-host-start-pre@%i.target
|
||||
After=op-cfam-reset.service
|
||||
Before=start_host@%i.service
|
||||
Conflicts=obmc-chassis-poweroff@%i.target
|
||||
Conflicts=obmc-host-stop@%i.target
|
||||
ConditionPathExists=!/run/openbmc/mpreboot@%i
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/openpower-proc-control scanFSI
|
||||
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=obmc-chassis-poweron@%i.target
|
||||
WantedBy=obmc-host-startmin@%i.target
|
||||
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=ASPEED LPC boot from PNOR
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/sbin/pnorboot --size 32
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,17 @@
|
||||
SUMMARY = "ASPEED LPC Host Interface Control tool"
|
||||
DESCRIPTION = "Configures the BMC to expose memory regions to the host"
|
||||
PR = "r1"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
|
||||
|
||||
inherit obmc-phosphor-systemd
|
||||
|
||||
inherit autotools
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} += "pnorboot.service"
|
||||
|
||||
SRC_URI = "git://github.com/shenki/aspeed-lpc-control;branch=master;protocol=https"
|
||||
SRCREV = "af42b7ff01e71c0dd4c60214dd46ed487611f36d"
|
||||
@@ -0,0 +1,31 @@
|
||||
SUMMARY = "OpenPOWER Host checkstop monitor application"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit obmc-phosphor-systemd
|
||||
inherit allarch
|
||||
|
||||
DEPENDS += "phosphor-gpio-monitor"
|
||||
RDEPENDS:${PN} += "phosphor-gpio-monitor-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"
|
||||
|
||||
# This package is not supplying the unit file and also this is not a native
|
||||
# recipe since state-mgmt needs this package at runtime. Unsetting this below
|
||||
# variable will let the build go through
|
||||
SYSTEMD_SERVICE:${PN} ?=""
|
||||
|
||||
# Install the override to set up a Conflicts relation
|
||||
SYSTEMD_OVERRIDE:${PN} +="checkstop.conf:phosphor-gpio-monitor@checkstop.service.d/checkstop.conf"
|
||||
|
||||
STATES = "startmin"
|
||||
GPIO_MONITOR_TMPL = "phosphor-gpio-monitor@.service"
|
||||
GPIO_MONITOR_TGTFMT = "phosphor-gpio-monitor@{1}.service"
|
||||
CHECKSTOP_MONITOR_FMT = "../${GPIO_MONITOR_TMPL}:obmc-host-{0}@{2}.target.wants/${GPIO_MONITOR_TGTFMT}"
|
||||
SYSTEMD_LINK:${PN} += "${@compose_list(d, 'CHECKSTOP_MONITOR_FMT', 'STATES', 'OBMC_HOST_MONITOR_INSTANCES', 'OBMC_HOST_INSTANCES')}"
|
||||
@@ -0,0 +1,3 @@
|
||||
[Unit]
|
||||
Conflicts=obmc-host-crash@0.target
|
||||
Conflicts=obmc-host-stop@0.target
|
||||
@@ -0,0 +1,4 @@
|
||||
DEVPATH=/dev/input/by-path/platform-gpio-keys-event
|
||||
KEY=74
|
||||
POLARITY=1
|
||||
TARGET=obmc-host-crash@0.target
|
||||
@@ -0,0 +1,21 @@
|
||||
[Unit]
|
||||
Description=Applies user CFAM register overrides from file
|
||||
Wants=obmc-host-start-pre@%i.target
|
||||
Before=obmc-host-start-pre@%i.target
|
||||
Wants=obmc-power-on@%i.target
|
||||
After=obmc-power-on@%i.target
|
||||
Wants=fsi-scan@%i.service
|
||||
After=fsi-scan@%i.service
|
||||
Conflicts=obmc-chassis-poweroff@%i.target
|
||||
Conflicts=obmc-host-stop@%i.target
|
||||
ConditionPathExists=!/run/openbmc/chassis@%i-on
|
||||
ConditionPathExists=/var/lib/obmc/cfam_overrides
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/openpower-proc-control CFAMOverride
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=obmc-chassis-poweron@%i.target
|
||||
WantedBy=obmc-host-startmin@%i.target
|
||||
@@ -0,0 +1,20 @@
|
||||
[Unit]
|
||||
Description=Start host%i SBE
|
||||
Wants=obmc-host-start-pre@%i.target
|
||||
After=obmc-host-start-pre@%i.target
|
||||
Wants=obmc-host-starting@%i.target
|
||||
Before=obmc-host-starting@%i.target
|
||||
Before=obmc-host-started@%i.target
|
||||
Wants=obmc-power-on@%i.target
|
||||
After=obmc-power-on@%i.target
|
||||
Conflicts=obmc-host-stop@%i.target
|
||||
ConditionPathExists=!/run/openbmc/host@%i-on
|
||||
ConditionPathExists=!/run/openbmc/mpreboot@%i
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/openpower-proc-control startHost
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=obmc-host-start@%i.target
|
||||
@@ -0,0 +1,190 @@
|
||||
SUMMARY = "OpenPOWER processor control services installation"
|
||||
PR = "r1"
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit allarch
|
||||
|
||||
RDEPENDS:${PN} += "op-proc-control"
|
||||
RDEPENDS:${PN} += "phosphor-state-manager-obmc-targets"
|
||||
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
|
||||
pkg_postinst:${PN}() {
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-stop@0.target.wants
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-force-warm-reboot@0.target.requires
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-startmin@0.target.requires
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-startmin@0.target.wants
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-diagnostic-mode@0.target.requires
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-chassis-poweron@0.target.requires
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-quiesce@0.target.wants
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-stop@0.target.wants/op-stop-instructions@0.service"
|
||||
TARGET="../op-stop-instructions@.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-quiesce@0.target.wants/op-clear-sys-dump-active@0.service"
|
||||
TARGET="../op-clear-sys-dump-active@.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-quiesce@0.target.wants/op-stop-instructions@0.service"
|
||||
TARGET="../op-stop-instructions@.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.requires/op-cfam-reset.service"
|
||||
TARGET="../op-cfam-reset.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.wants/xyz.openbmc_project.Control.Host.NMI.service"
|
||||
TARGET="../xyz.openbmc_project.Control.Host.NMI.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-chassis-poweron@0.target.requires/op-cfam-reset.service"
|
||||
TARGET="../op-cfam-reset.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
# Only install cfam override if p9 system
|
||||
if [ "${@bb.utils.contains("MACHINE_FEATURES", "p9-cfam-override", "True", "False", d)}" = True ]; then
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-startmin@0.target.requires
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.requires/cfam_override@0.service"
|
||||
TARGET="../cfam_override@.service"
|
||||
ln -s $TARGET $LINK
|
||||
fi
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.requires/op-continue-mpreboot@0.service"
|
||||
TARGET="../op-continue-mpreboot@.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
# Only install certain units if phal enabled
|
||||
if [ "${@bb.utils.filter('MACHINE_FEATURES', 'phal', d)}" = phal ]; then
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-stop@0.target.wants/op-clear-sys-dump-active@0.service"
|
||||
TARGET="../op-clear-sys-dump-active@.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
mkdir -p $D$systemd_system_unitdir/multi-user.target.wants
|
||||
LINK="$D$systemd_system_unitdir/multi-user.target.wants/op-clear-sys-dump-active@0.service"
|
||||
TARGET="../op-clear-sys-dump-active@.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-start@0.target.requires
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-start@0.target.requires/phal-reinit-devtree.service"
|
||||
TARGET="../phal-reinit-devtree.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-chassis-poweroff@0.target.requires/proc-pre-poweroff@0.service"
|
||||
TARGET="../proc-pre-poweroff@.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-reset@0.target.requires/op-reset-host-check@0.service"
|
||||
TARGET="../op-reset-host-check@.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
LINK="$D$systemd_system_unitdir/multi-user.target.wants/phal-import-devtree@0.service"
|
||||
TARGET="../phal-import-devtree@.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-startmin@0.target.wants
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.wants/phal-export-devtree@0.service"
|
||||
TARGET="../phal-export-devtree@.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-start@0.target.wants
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-start@0.target.wants/phal-create-boottime-guard-indicator.service"
|
||||
TARGET="../phal-create-boottime-guard-indicator.service"
|
||||
ln -s $TARGET $LINK
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-quiesce@0.target.wants/phal-create-boottime-guard-indicator.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-startmin@0.target.wants
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.wants/op-clock-data-logger@0.service"
|
||||
TARGET="../op-clock-data-logger@.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-chassis-poweroff@0.target.wants
|
||||
LINK="$D$systemd_system_unitdir/obmc-chassis-poweroff@0.target.wants/set-spi-mux.service"
|
||||
TARGET="../set-spi-mux.service"
|
||||
ln -s $TARGET $LINK
|
||||
fi
|
||||
|
||||
# If the memory preserving reboot feature is enabled, set it up
|
||||
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'mpreboot', d)}" = mpreboot ]; then
|
||||
# on mpreboot systems, obmc-host-crash@.target is used for mpreboot
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-crash@0.target.requires
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-crash@0.target.requires/obmc-host-force-warm-reboot@0.target"
|
||||
TARGET="../obmc-host-force-warm-reboot@.target"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-crash@0.target.requires/op-enter-mpreboot@0.service"
|
||||
TARGET="../op-enter-mpreboot@.service"
|
||||
ln -s $TARGET $LINK
|
||||
|
||||
# ensure diagnostic mode is shown for MPREBOOT
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-crash@0.target.requires/obmc-host-diagnostic-mode@0.target"
|
||||
TARGET="../obmc-host-diagnostic-mode@.target"
|
||||
ln -s $TARGET $LINK
|
||||
else
|
||||
# If not a mpreboot system, default to quiesce target in crash target to support
|
||||
# older system designs like witherspoon
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-crash@0.target.wants
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-crash@0.target.wants/obmc-host-quiesce@0.target"
|
||||
TARGET="../obmc-host-quiesce@.target"
|
||||
ln -s $TARGET $LINK
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm:${PN}() {
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-stop@0.target.wants/op-stop-instructions@0.service"
|
||||
rm $LINK
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.requires/op-cfam-reset.service"
|
||||
rm $LINK
|
||||
LINK="$D$systemd_system_unitdir/obmc-chassis-poweron@0.target.requires/op-cfam-reset.service"
|
||||
rm $LINK
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.wants/xyz.openbmc_project.Control.Host.NMI.service"
|
||||
rm $LINK
|
||||
# Only uninstall cfam override if p9 system
|
||||
if [ "${@bb.utils.contains("MACHINE_FEATURES", "p9-cfam-override", "True", "False", d)}" = True ]; then
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.requires/cfam_override@0.service"
|
||||
rm $LINK
|
||||
fi
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.requires/op-continue-mpreboot@0.service"
|
||||
rm $LINK
|
||||
|
||||
# Remove phal specific units if enabled
|
||||
if [ "${@bb.utils.filter('MACHINE_FEATURES', 'phal', d)}" = phal ]; then
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-start@0.target.requires/phal-reinit-devtree.service"
|
||||
rm $LINK
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-chassis-poweroff@0.target.requires/proc-pre-poweroff@0.service"
|
||||
rm $LINK
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-chassis-poweroff@0.target.wants/set-spi-mux.service"
|
||||
rm $LINK
|
||||
|
||||
LINK="$D$systemd_system_unitdir/multi-user.target.wants/phal-import-devtree@0.service"
|
||||
rm $LINK
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.wants/phal-export-devtree@0.service"
|
||||
rm $LINK
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-start@0.target.wants/phal-create-boottime-guard-indicator.service"
|
||||
rm $LINK
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-quiesce@0.target.wants/phal-create-boottime-guard-indicator.service"
|
||||
rm $LINK
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.wants/op-clock-data-logger@0.service"
|
||||
rm $LINK
|
||||
fi
|
||||
|
||||
# Remove mpreboot specific units if enabled
|
||||
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'mpreboot', d)}" = mpreboot ]; then
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-crash@0.target.requires/obmc-host-force-warm-reboot@0.target"
|
||||
rm $LINK
|
||||
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-crash@0.target.requires/op-enter-mpreboot@0.service"
|
||||
rm $LINK
|
||||
else
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-crash@0.target.wants/obmc-host-quiesce@0.target"
|
||||
rm $LINK
|
||||
fi
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
SUMMARY = "OpenPower procedure control"
|
||||
DESCRIPTION = "Provides procedures that run against the host chipset"
|
||||
PR = "r1"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit meson obmc-phosphor-utils pkgconfig
|
||||
inherit systemd
|
||||
|
||||
SRC_URI = "git://github.com/openbmc/openpower-proc-control;branch=master;protocol=https"
|
||||
SRCREV = "3f97eaa4b6f6a4c7cf97a0c80566eb6783d7e8af"
|
||||
|
||||
DEPENDS += " \
|
||||
phosphor-logging \
|
||||
phosphor-dbus-interfaces \
|
||||
libgpiod \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN} += " op-proc-control-systemd-links"
|
||||
|
||||
EXTRA_OEMESON += "-Dtests=disabled"
|
||||
|
||||
# For libpdbg, provided by the pdbg package
|
||||
DEPENDS += "pdbg"
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.filter('OBMC_MACHINE_FEATURES', 'phal op-fsi', d)}"
|
||||
PACKAGECONFIG[phal] = "-Dphal=enabled, -Dphal=disabled -Dp9=enabled, ipl pdata"
|
||||
PACKAGECONFIG[op-fsi] = "-Dopenfsi=enabled, -Dopenfsi=disabled"
|
||||
|
||||
# By default all openpower systems support op-fsi
|
||||
PACKAGECONFIG = " op-fsi"
|
||||
|
||||
TEMPLATE = "pcie-poweroff@.service"
|
||||
INSTANCE_FORMAT = "pcie-poweroff@{}.service"
|
||||
INSTANCES = "${@compose_list(d, 'INSTANCE_FORMAT', 'OBMC_CHASSIS_INSTANCES')}"
|
||||
SYSTEMD_PACKAGES = "${PN}"
|
||||
SYSTEMD_SERVICE:${PN} = "${TEMPLATE} ${INSTANCES}"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} += " \
|
||||
op-cfam-reset.service \
|
||||
op-continue-mpreboot@.service \
|
||||
op-enter-mpreboot@.service \
|
||||
op-stop-instructions@.service \
|
||||
xyz.openbmc_project.Control.Host.NMI.service \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'op-reset-host-check@.service', '', d)} \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'op-reset-host-clear.service', '', d)} \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'phal-export-devtree@.service', '', d)} \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'phal-import-devtree@.service', '', d)} \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'phal-reinit-devtree.service', '', d)} \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'proc-pre-poweroff@.service', '', d)} \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'set-spi-mux.service', '', d)} \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'phal-create-boottime-guard-indicator.service', '', d)} \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'op-clear-sys-dump-active@.service', '', d)} \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'op-clock-data-logger@.service', '', d)} \
|
||||
"
|
||||
@@ -0,0 +1,20 @@
|
||||
SUMMARY = "POWER9 CFAM override"
|
||||
DESCRIPTION = "Applies user CFAM register overrides from file"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit obmc-phosphor-systemd
|
||||
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/op-host-control:"
|
||||
RDEPENDS:${PN} += "op-proc-control"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
TMPL = "cfam_override@.service"
|
||||
INSTFMT = "cfam_override@{0}.service"
|
||||
TGTFMT = "obmc-chassis-poweron@{0}.target"
|
||||
FMT = "../${TMPL}:${TGTFMT}.requires/${INSTFMT}"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} += "${TMPL}"
|
||||
SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT', 'OBMC_CHASSIS_INSTANCES')}"
|
||||
@@ -0,0 +1,25 @@
|
||||
SUMMARY = "POWER9 start host"
|
||||
DESCRIPTION = "Service to start POWER9 IPL through SBE"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit obmc-phosphor-systemd
|
||||
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/op-host-control:"
|
||||
|
||||
PROVIDES += 'virtual/obmc-host-ctl'
|
||||
RPROVIDES:${PN} += 'virtual-obmc-host-ctl'
|
||||
|
||||
RDEPENDS:${PN} += "op-proc-control \
|
||||
op-proc-control-systemd-links"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
TMPL = "start_host@.service"
|
||||
INSTFMT = "start_host@{0}.service"
|
||||
TGTFMT = "obmc-host-startmin@{0}.target"
|
||||
FMT = "../${TMPL}:${TGTFMT}.requires/${INSTFMT}"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} += "${TMPL}"
|
||||
SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT', 'OBMC_CHASSIS_INSTANCES')}"
|
||||
@@ -0,0 +1 @@
|
||||
RDEPENDS:${PN}:append:df-openpower = " cf-fsi-firmware"
|
||||
@@ -0,0 +1,4 @@
|
||||
EXTRA_OEMESON:append:df-openpower = " \
|
||||
-Dredfish-dbus-log=enabled \
|
||||
-Dhttp-body-limit=400 \
|
||||
"
|
||||
@@ -0,0 +1,20 @@
|
||||
SUMMARY = "Hostboot hostfw inventory map for phosphor-ipmi-fru"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit phosphor-ipmi-fru
|
||||
inherit native
|
||||
|
||||
SRC_URI += "file://config.yaml"
|
||||
|
||||
PROVIDES += "virtual/phosphor-ipmi-fru-hostfw-config"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
do_install() {
|
||||
DEST=${D}${hostfw_datadir}
|
||||
|
||||
install -d ${DEST}
|
||||
install config.yaml ${DEST}
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
PROC:
|
||||
EntityID: 3
|
||||
Interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Mfg Date"
|
||||
Manufacturer:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Manufacturer"
|
||||
PartNumber:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Part Number"
|
||||
SerialNumber:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Serial Number"
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Name"
|
||||
xyz.openbmc_project.Inventory.Decorator.Revision:
|
||||
Version:
|
||||
IPMIFruSection: Board
|
||||
# Custom Field 2 is EC.
|
||||
IPMIFruProperty: "Custom Field 2"
|
||||
# Delimiter value in ascii as YAML parser
|
||||
# was not allowing certain characters like ":" as value
|
||||
IPMIFruValueDelimiter: "58"
|
||||
xyz.openbmc_project.Inventory.Item.Cpu:
|
||||
|
||||
SYS:
|
||||
# same entity ID as it is Associated type of NODE
|
||||
EntityID: 7
|
||||
Interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
Model:
|
||||
IPMIFruSection: Chassis
|
||||
IPMIFruProperty: "Part Number"
|
||||
SerialNumber:
|
||||
IPMIFruSection: Chassis
|
||||
IPMIFruProperty: "Serial Number"
|
||||
xyz.openbmc_project.Inventory.Item.System:
|
||||
|
||||
NODE:
|
||||
EntityID: 7
|
||||
Interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Mfg Date"
|
||||
Manufacturer:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Manufacturer"
|
||||
PartNumber:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Part Number"
|
||||
SerialNumber:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Serial Number"
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Name"
|
||||
xyz.openbmc_project.Inventory.Item.Board:
|
||||
AssociatedTypes:
|
||||
- SYS
|
||||
|
||||
DIMM:
|
||||
EntityID: 32
|
||||
Interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruSection: Product
|
||||
IPMIFruProperty: "Mfg Date"
|
||||
Manufacturer:
|
||||
IPMIFruSection: Product
|
||||
IPMIFruProperty: "Manufacturer"
|
||||
PartNumber:
|
||||
IPMIFruSection: Product
|
||||
IPMIFruProperty: "Part Number"
|
||||
SerialNumber:
|
||||
IPMIFruSection: Product
|
||||
IPMIFruProperty: "Serial Number"
|
||||
Model:
|
||||
IPMIFruSection: Product
|
||||
IPMIFruProperty: "Model Number"
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruSection: Product
|
||||
IPMIFruProperty: "Name"
|
||||
xyz.openbmc_project.Inventory.Decorator.Revision:
|
||||
Version:
|
||||
IPMIFruSection: Product
|
||||
IPMIFruProperty: "Version"
|
||||
xyz.openbmc_project.Inventory.Item.Dimm:
|
||||
|
||||
MEMBUFF:
|
||||
EntityID: 8
|
||||
Interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Mfg Date"
|
||||
Manufacturer:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Manufacturer"
|
||||
PartNumber:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Part Number"
|
||||
SerialNumber:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Serial Number"
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Name"
|
||||
xyz.openbmc_project.Inventory.Item.MemoryBuffer:
|
||||
|
||||
TPM:
|
||||
EntityID: 176
|
||||
Interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Mfg Date"
|
||||
Manufacturer:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Manufacturer"
|
||||
PartNumber:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Part Number"
|
||||
SerialNumber:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Serial Number"
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruSection: Board
|
||||
IPMIFruProperty: "Name"
|
||||
xyz.openbmc_project.Inventory.Item.Tpm:
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
SUMMARY = "Phosphor IPMI plugin for the Host I/O Mapping Protocol"
|
||||
HOMEPAGE = "https://github.com/openbmc/openpower-host-ipmi-flash"
|
||||
PR = "r1"
|
||||
PV = "0.1+git${SRCPV}"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=ff331e820fda701d36a8f0efc98adc58"
|
||||
|
||||
inherit meson pkgconfig
|
||||
inherit obmc-phosphor-ipmiprovider-symlink
|
||||
|
||||
DEPENDS += "phosphor-ipmi-host"
|
||||
DEPENDS += "sdbusplus"
|
||||
DEPENDS += "phosphor-logging"
|
||||
DEPENDS += "phosphor-dbus-interfaces"
|
||||
|
||||
TARGET_CFLAGS += "-fpic"
|
||||
|
||||
HOSTIPMI_PROVIDER_LIBRARY += "libhiomap.so"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRC_URI = "git://github.com/openbmc/openpower-host-ipmi-flash;branch=master;protocol=https"
|
||||
SRCREV = "a917d24ef6881426fa2a15a8fac89b5554a64c49"
|
||||
|
||||
EXTRA_OEMESON:append = " -Dtests=disabled"
|
||||
|
||||
FILES:${PN}:append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
|
||||
FILES:${PN}:append = " ${libdir}/host-ipmid/lib*${SOLIBS}"
|
||||
FILES:${PN}-dev:append = " ${libdir}/ipmid-providers/lib*${SOLIBSDEV} ${libdir}/ipmid-providers/*.la"
|
||||
@@ -0,0 +1,19 @@
|
||||
SUMMARY = "Copy error yaml files to known path for elog parsing"
|
||||
|
||||
PR = "r1"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
|
||||
inherit phosphor-dbus-yaml
|
||||
inherit native
|
||||
|
||||
require openpower-ipmi-oem.inc
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_install:append() {
|
||||
SRC=${S}/org/open_power/OCC
|
||||
DEST=${D}${yaml_dir}/org/open_power/OCC
|
||||
install -d ${DEST}
|
||||
install ${SRC}/Metrics.errors.yaml ${DEST}
|
||||
install ${SRC}/Metrics.metadata.yaml ${DEST}
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
SUMMARY = "OEM sensor config for phosphor-host-ipmid"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit phosphor-ipmi-host
|
||||
inherit native
|
||||
|
||||
SRC_URI += "file://openpower-config.yaml"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
do_install() {
|
||||
DEST=${D}${sensor_yamldir}
|
||||
install -d ${DEST}
|
||||
install openpower-config.yaml ${DEST}/openpower-config.yaml
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
occ_active_sensor:
|
||||
serviceInterface: org.freedesktop.DBus.Properties
|
||||
readingType: assertion
|
||||
mutability: Mutability::Write|Mutability::Read
|
||||
sensorNamePattern: nameLeaf
|
||||
interfaces:
|
||||
org.open_power.OCC.Status:
|
||||
OccActive:
|
||||
Offsets:
|
||||
0x00:
|
||||
type: "bool"
|
||||
assert: "false"
|
||||
deassert: "true"
|
||||
0x01:
|
||||
type: "bool"
|
||||
assert: "true"
|
||||
deassert: "false"
|
||||
|
||||
hb_volatile_sensor:
|
||||
path: /org/open_power/control/volatile
|
||||
serviceInterface: org.freedesktop.DBus.Properties
|
||||
readingType: assertion
|
||||
mutability: Mutability::Write|Mutability::Read
|
||||
sensorNamePattern: nameLeaf
|
||||
interfaces:
|
||||
xyz.openbmc_project.Object.Enable:
|
||||
Enabled:
|
||||
Offsets:
|
||||
0x00:
|
||||
type: "bool"
|
||||
assert: false
|
||||
0x01:
|
||||
type: "bool"
|
||||
assert: true
|
||||
@@ -0,0 +1,7 @@
|
||||
SUMMARY = "Whitelisted OpenBMC IPMI OEM commands"
|
||||
DESCRIPTION = "Whitelisted OpenBMC IPMI OEM commands for OpenPOWER based systems"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit phosphor-ipmi-host-whitelist
|
||||
inherit native
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#<NetFn>:<Command>
|
||||
0x3A:0x5A //<OpenPower IBM OEM>:<Host IO Mapping Protocol (HIOMAP)>
|
||||
0x3A:0xF0 //<OpenPower IBM OEM>:<Add Partial eSEL command>
|
||||
@@ -0,0 +1,10 @@
|
||||
SUMMARY = "openpower-ipmi-oem: install phosphor-logging yaml"
|
||||
PR = "r1"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit phosphor-logging-yaml-provider
|
||||
require openpower-ipmi-oem.inc
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
@@ -0,0 +1,5 @@
|
||||
HOMEPAGE = "https://github.com/openbmc/openpower-host-ipmi-oem"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
|
||||
SRC_URI += "git://github.com/openbmc/openpower-host-ipmi-oem;branch=master;protocol=https"
|
||||
SRCREV = "490126f9ad350b9503e52942ac450a2e831bf3f0"
|
||||
@@ -0,0 +1,36 @@
|
||||
SUMMARY = "Phosphor IPMI plugin for OpenPOWER OEM Commands"
|
||||
DESCRIPTION = "Phosphor IPMI plugin for OpenPOWER OEM Commands"
|
||||
PR = "r1"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
inherit obmc-phosphor-ipmiprovider-symlink
|
||||
inherit python3native
|
||||
|
||||
require ${BPN}.inc
|
||||
|
||||
DEPENDS += "phosphor-ipmi-host"
|
||||
DEPENDS += "autoconf-archive-native"
|
||||
DEPENDS += "sdbusplus"
|
||||
DEPENDS += "${PYTHON_PN}-sdbus++-native"
|
||||
DEPENDS += "${PYTHON_PN}-mako-native"
|
||||
DEPENDS += "${PYTHON_PN}-pyyaml-native"
|
||||
DEPENDS += "phosphor-logging"
|
||||
DEPENDS += "phosphor-dbus-interfaces"
|
||||
DEPENDS += "virtual/phosphor-ipmi-inventory-sel"
|
||||
|
||||
TARGET_CFLAGS += "-fpic"
|
||||
|
||||
HOSTIPMI_PROVIDER_LIBRARY += "liboemhandler.so"
|
||||
|
||||
EXTRA_OECONF = " \
|
||||
INVSENSOR_YAML_GEN=${STAGING_DIR_NATIVE}${datadir}/phosphor-ipmi-host/sensor/invsensor.yaml \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
FILES:${PN}:append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
|
||||
FILES:${PN}:append = " ${libdir}/host-ipmid/lib*${SOLIBS}"
|
||||
FILES:${PN}-dev:append = " ${libdir}/ipmid-providers/lib*${SOLIBSDEV} ${libdir}/ipmid-providers/*.la"
|
||||
@@ -0,0 +1 @@
|
||||
OBMC_IPMI_SENSORS_PROVIDERS:append:df-openpower = " openpower-ipmi-oem-sensor-inventory-mrw-native"
|
||||
@@ -0,0 +1,13 @@
|
||||
SUMMARY = "Hostboot PEL python parsers"
|
||||
DESCRIPTION = "Used by peltool to parse Hostboot UserData sections and SRC details"
|
||||
PR = "r1"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRC_URI:p10bmc = "git://git@github.com/open-power/hostboot;branch="master-p10";protocol=ssh"
|
||||
SRCREV:p10bmc = "d796168959bc338e8c8a990403c535ee5d8b31c4"
|
||||
|
||||
inherit setuptools3
|
||||
@@ -0,0 +1,49 @@
|
||||
SUMMARY = "Hardware Diagnostics for POWER Systems"
|
||||
|
||||
DESCRIPTION = \
|
||||
"In the event of a system fatal error reported by the internal system \
|
||||
hardware (processor chips, memory chips, I/O chips, system memory, etc.), \
|
||||
POWER Systems have the ability to diagnose the root cause of the failure \
|
||||
and perform any service action needed to avoid repeated system failures."
|
||||
|
||||
HOMEPAGE = "https://github.com/openbmc/openpower-hw-diags"
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
|
||||
|
||||
PR = "r1"
|
||||
PV = "0.1+git${SRCPV}"
|
||||
|
||||
SRC_URI = "git://github.com/openbmc/openpower-hw-diags;branch=master;protocol=https"
|
||||
SRCREV = "7c80e52bdce3b96fd59c5a0e5d6de5119d5831a4"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit pkgconfig meson systemd
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "attn_handler.service"
|
||||
|
||||
DEPENDS = "boost libgpiod pdbg phosphor-logging sdbusplus openpower-libhei \
|
||||
nlohmann-json valijson fmt"
|
||||
|
||||
# This is required so that libhei is installed with the chip data files.
|
||||
RDEPENDS:${PN} += "openpower-libhei"
|
||||
|
||||
# Conditionally pull in PHAL APIs, if available.
|
||||
PACKAGECONFIG ??= "${@bb.utils.filter('MACHINE_FEATURES', 'phal', d)}"
|
||||
PACKAGECONFIG[phal] = "-Dphal=enabled, -Dphal=disabled, ipl pdata"
|
||||
|
||||
# Don't build CI tests
|
||||
EXTRA_OEMESON = "-Dtests=disabled"
|
||||
|
||||
pkg_postinst:${PN}() {
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-host-startmin@0.target.wants
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.wants/attn_handler.service"
|
||||
TARGET="../attn_handler.service"
|
||||
ln -s $TARGET $LINK
|
||||
}
|
||||
|
||||
pkg_prerm:${PN}() {
|
||||
LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.wants/attn_handler.service"
|
||||
rm $LINK
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
PR = "r1"
|
||||
PV = "0.1+git${SRCPV}"
|
||||
|
||||
SRC_URI = "git://github.com/openbmc/openpower-libhei;branch=master;protocol=https"
|
||||
SRCREV = "029fe6f1a2cd0967dc139cf3043df05cc97a0569"
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
SUMMARY = "Hardware Error Isolator for POWER Systems"
|
||||
|
||||
DESCRIPTION = \
|
||||
"The library provides a set of tools to isolate hardware attentions driven \
|
||||
by POWER Systems chip (processor chips, memory chips, etc.)."
|
||||
|
||||
HOMEPAGE = "https://github.com/openbmc/openpower-libhei"
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
|
||||
|
||||
include openpower-libhei-rev.inc
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit pkgconfig meson
|
||||
inherit perlnative
|
||||
|
||||
DEPENDS = "libxml2-native libxml-simple-perl-native libjson-perl-native"
|
||||
|
||||
# Don't build CI tests
|
||||
EXTRA_OEMESON = "-Dtests=disabled"
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
SUMMARY = "SBE log python parsers"
|
||||
DESCRIPTION = "Used by peltool to parse SBE UserData sections and SRC details"
|
||||
HOMEPAGE = "https://github.ibm.com/open-power/sbe"
|
||||
|
||||
PR = "r1"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE_PROLOG;md5=d8e5f403c98fd80dcea90b9cc8cd083c"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRC_URI = "git://git@github.com/open-power/sbe;branch="master-p10";protocol=ssh;protocol=https"
|
||||
SRCREV = "f8ee8cfad2cf2a53e78789633ddffc192f5a197e"
|
||||
|
||||
inherit setuptools3
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=Init BMC Hostname
|
||||
ConditionPathExists=!/var/lib/first-boot-set-hostname
|
||||
Wants=op-vpd-parser.service
|
||||
After=op-vpd-parser.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/first-boot-set-hostname.sh
|
||||
Type=oneshot
|
||||
RemainAfterExit=Yes
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
#!/bin/sh -eu
|
||||
|
||||
show_error() {
|
||||
if [ -n "${JOURNAL_STREAM-}" ]; then
|
||||
echo "$@" | systemd-cat -t first-boot-set-hostname -p emerg
|
||||
else
|
||||
echo "$@" >&2
|
||||
fi
|
||||
}
|
||||
|
||||
sync_hostname() {
|
||||
MAPPER_IFACE='xyz.openbmc_project.ObjectMapper'
|
||||
MAPPER_PATH='/xyz/openbmc_project/object_mapper'
|
||||
INVENTORY_PATH='/xyz/openbmc_project/inventory'
|
||||
|
||||
BMC_ITEM_IFACE='xyz.openbmc_project.Inventory.Item.Bmc'
|
||||
INV_ASSET_IFACE='xyz.openbmc_project.Inventory.Decorator.Asset'
|
||||
BMC_SN=''
|
||||
BMC_ITEM_PATH=$(busctl --no-pager --verbose call \
|
||||
${MAPPER_IFACE} \
|
||||
${MAPPER_PATH} \
|
||||
${MAPPER_IFACE} \
|
||||
GetSubTree sias \
|
||||
${INVENTORY_PATH} 0 1 ${BMC_ITEM_IFACE} \
|
||||
2>/dev/null | grep ${INVENTORY_PATH} || true)
|
||||
|
||||
# ' STRING "/xyz/openbmc_project/inventory/system/chassis/bmc";'
|
||||
BMC_ITEM_PATH=${BMC_ITEM_PATH#*\"}
|
||||
BMC_ITEM_PATH=${BMC_ITEM_PATH%\"*}
|
||||
|
||||
BMC_ITEM_SERVICE=$(mapper get-service \
|
||||
"${BMC_ITEM_PATH}" 2>/dev/null || true)
|
||||
|
||||
if [ -n "${BMC_ITEM_SERVICE}" ]; then
|
||||
BMC_SN=$(busctl get-property "${BMC_ITEM_SERVICE}" \
|
||||
"${BMC_ITEM_PATH}" \
|
||||
${INV_ASSET_IFACE} SerialNumber)
|
||||
# 's "002B0DH1000"'
|
||||
BMC_SN=${BMC_SN#*\"}
|
||||
BMC_SN=${BMC_SN%\"*}
|
||||
else
|
||||
show_error "No BMC item found in the Inventory. Is VPD EEPROM empty?"
|
||||
fi
|
||||
|
||||
if [ -z "${BMC_SN}" ] ; then
|
||||
show_error "BMC Serial Number empty! Setting Hostname as 'hostname + mac address' "
|
||||
|
||||
NETWORK_ITEM_IFACE='xyz.openbmc_project.Inventory.Item.NetworkInterface'
|
||||
NETWORK_ITEM_PATH=$(busctl --no-pager --verbose call \
|
||||
${MAPPER_IFACE} \
|
||||
${MAPPER_PATH} \
|
||||
${MAPPER_IFACE} \
|
||||
GetSubTree sias \
|
||||
${INVENTORY_PATH} 0 1 ${NETWORK_ITEM_IFACE} \
|
||||
2>/dev/null | grep ${INVENTORY_PATH} || true)
|
||||
|
||||
NETWORK_ITEM_PATH=${NETWORK_ITEM_PATH#*\"}
|
||||
NETWORK_ITEM_PATH=${NETWORK_ITEM_PATH%\"*}
|
||||
|
||||
NETWORK_ITEM_OBJ=$(mapper get-service "${NETWORK_ITEM_PATH}" 2>/dev/null || true)
|
||||
|
||||
if [ -z "${NETWORK_ITEM_OBJ}" ]; then
|
||||
show_error 'No Ethernet interface found in the Inventory. Unique hostname not set!'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
MAC_ADDR=$(busctl get-property "${NETWORK_ITEM_OBJ}" \
|
||||
"${NETWORK_ITEM_PATH}" \
|
||||
"${NETWORK_ITEM_IFACE}" MACAddress)
|
||||
|
||||
# 's "54:52:01:02:03:04"'
|
||||
MAC_ADDR=${MAC_ADDR#*\"}
|
||||
MAC_ADDR=${MAC_ADDR%\"*}
|
||||
|
||||
hostnamectl set-hostname "$(hostname)-${MAC_ADDR}"
|
||||
else
|
||||
hostnamectl set-hostname "$(hostname)-${BMC_SN}"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
sync_hostname
|
||||
|
||||
# Prevent start at next boot time
|
||||
touch "/var/lib/first-boot-set-hostname"
|
||||
@@ -0,0 +1,22 @@
|
||||
SUMMARY = "Init BMC Hostname"
|
||||
DESCRIPTION = "Setup BMC Unique hostname"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit allarch systemd
|
||||
|
||||
RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils}"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "first-boot-set-hostname.service"
|
||||
|
||||
SRC_URI = "file://${BPN}.sh file://${BPN}.service"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
do_install() {
|
||||
sed "s/{MACHINE}/${MACHINE}/" -i ${BPN}.sh
|
||||
install -d ${D}${bindir} ${D}${systemd_system_unitdir}
|
||||
install ${BPN}.sh ${D}${bindir}/
|
||||
install -m 644 ${BPN}.service ${D}${systemd_system_unitdir}/
|
||||
}
|
||||
|
||||
+84
@@ -0,0 +1,84 @@
|
||||
#!/bin/sh -eu
|
||||
|
||||
show_error() {
|
||||
if [ -n "${JOURNAL_STREAM-}" ]; then
|
||||
echo "$@" | systemd-cat -t first-boot-set-mac -p emerg
|
||||
else
|
||||
echo "$@" >&2
|
||||
fi
|
||||
}
|
||||
|
||||
sync_mac() {
|
||||
|
||||
MAPPER_IFACE='xyz.openbmc_project.ObjectMapper'
|
||||
MAPPER_PATH='/xyz/openbmc_project/object_mapper'
|
||||
INVENTORY_PATH='/xyz/openbmc_project/inventory'
|
||||
NETWORK_ITEM_IFACE='xyz.openbmc_project.Inventory.Item.NetworkInterface'
|
||||
|
||||
# Get the NETWORK ITEM count
|
||||
NETWORK_ITEM_PATH_COUNT=$(busctl --no-pager --verbose call \
|
||||
${MAPPER_IFACE} \
|
||||
${MAPPER_PATH} \
|
||||
${MAPPER_IFACE} \
|
||||
GetSubTree sias \
|
||||
${INVENTORY_PATH} 0 1 ${NETWORK_ITEM_IFACE} \
|
||||
2>/dev/null | grep -c ${INVENTORY_PATH} || true)
|
||||
|
||||
if [ "$NETWORK_ITEM_PATH_COUNT" -gt 1 ]; then
|
||||
# If there are more than 2 NETOWRK ITEM and path must contain $1
|
||||
# for finding the right NETWORK ITEM
|
||||
NETWORK_ITEM_PATH=$(busctl --no-pager --verbose call \
|
||||
${MAPPER_IFACE} \
|
||||
${MAPPER_PATH} \
|
||||
${MAPPER_IFACE} \
|
||||
GetSubTree sias \
|
||||
${INVENTORY_PATH} 0 1 ${NETWORK_ITEM_IFACE} \
|
||||
2>/dev/null | grep ${INVENTORY_PATH} | grep "$1" || true)
|
||||
else
|
||||
NETWORK_ITEM_PATH=$(busctl --no-pager --verbose call \
|
||||
${MAPPER_IFACE} \
|
||||
${MAPPER_PATH} \
|
||||
${MAPPER_IFACE} \
|
||||
GetSubTree sias \
|
||||
${INVENTORY_PATH} 0 1 ${NETWORK_ITEM_IFACE} \
|
||||
2>/dev/null | grep ${INVENTORY_PATH} || true)
|
||||
fi
|
||||
|
||||
# ' STRING "/xyz/openbmc_project/inventory/system/chassis/ethernet";'
|
||||
NETWORK_ITEM_PATH=${NETWORK_ITEM_PATH#*\"}
|
||||
NETWORK_ITEM_PATH=${NETWORK_ITEM_PATH%\"*}
|
||||
|
||||
NETWORK_ITEM_SERVICE=$(mapper get-service \
|
||||
"${NETWORK_ITEM_PATH}" 2>/dev/null || true)
|
||||
|
||||
if [ -z "${NETWORK_ITEM_SERVICE}" ]; then
|
||||
show_error 'No Ethernet interface found in the Inventory. Is VPD EEPROM empty?'
|
||||
return
|
||||
fi
|
||||
|
||||
MAC_ADDR=$(busctl get-property "${NETWORK_ITEM_SERVICE}" \
|
||||
"${NETWORK_ITEM_PATH}" \
|
||||
"${NETWORK_ITEM_IFACE}" MACAddress)
|
||||
|
||||
# 's "54:52:01:02:03:04"'
|
||||
MAC_ADDR=${MAC_ADDR#*\"}
|
||||
MAC_ADDR=${MAC_ADDR%\"*}
|
||||
|
||||
if [ -n "${MAC_ADDR}" ]; then
|
||||
busctl set-property xyz.openbmc_project.Network \
|
||||
"/xyz/openbmc_project/network/$1" \
|
||||
xyz.openbmc_project.Network.MACAddress \
|
||||
MACAddress s "${MAC_ADDR}"
|
||||
fi
|
||||
}
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
show_error 'No Ethernet interface name is given'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sync_mac "$1"
|
||||
|
||||
# Prevent start at next boot time
|
||||
mkdir -p "/var/lib/first-boot-set-mac"
|
||||
touch "/var/lib/first-boot-set-mac/${1}"
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=Init BMC MAC address for NIC %I
|
||||
ConditionPathExists=!/var/lib/first-boot-set-mac/%i
|
||||
Wants=mapper-wait@-xyz-openbmc_project-inventory.service
|
||||
After=mapper-wait@-xyz-openbmc_project-inventory.service
|
||||
Wants=mapper-wait@-xyz-openbmc_project-network-%i.service
|
||||
After=mapper-wait@-xyz-openbmc_project-network-%i.service
|
||||
Wants=op-vpd-parser.service
|
||||
After=op-vpd-parser.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/first-boot-set-mac.sh %i
|
||||
Type=oneshot
|
||||
RemainAfterExit=Yes
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,20 @@
|
||||
SUMMARY = "Init BMC MAC address"
|
||||
DESCRIPTION = "Setup BMC MAC address read from VPD"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit allarch systemd
|
||||
|
||||
RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils}"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "first-boot-set-mac@.service"
|
||||
|
||||
SRC_URI = "file://${BPN}.sh file://${BPN}@.service"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
do_install() {
|
||||
install -d ${D}${bindir} ${D}${systemd_system_unitdir}
|
||||
install ${BPN}.sh ${D}${bindir}/
|
||||
install -m 644 ${BPN}@.service ${D}${systemd_system_unitdir}/
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
SUMMARY = "OpenPower OCC Control with example occ sensor IDs"
|
||||
PR = "r1"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
|
||||
require openpower-occ-control.inc
|
||||
inherit openpower-occ-control
|
||||
inherit native
|
||||
|
||||
PROVIDES += "virtual/openpower-occ-control-config-native"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
# Copies example occ sensor ID yaml file
|
||||
do_install() {
|
||||
SRC=${S}
|
||||
install -d ${YAML_DEST}/
|
||||
install -D ${SRC}/example/occ_sensor.yaml ${YAML_DEST}/occ_sensor.yaml
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
SUMMARY = "OpenPower OCC Control with MRW generated sensor IDs"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit openpower-occ-control
|
||||
inherit mrw-xml
|
||||
inherit native
|
||||
|
||||
PROVIDES += "virtual/openpower-occ-control-config-native"
|
||||
DEPENDS += "mrw-native mrw-perl-tools-native"
|
||||
|
||||
# Generate a YAML files based on MRW input
|
||||
do_install:append() {
|
||||
install -d ${YAML_DEST}/
|
||||
${STAGING_BINDIR_NATIVE}/perl-native/perl \
|
||||
${STAGING_BINDIR_NATIVE}/gen_occ_map.pl \
|
||||
-i ${mrw_datadir}/${MRW_XML} \
|
||||
-o ${YAML_DEST}/occ_sensor.yaml
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
SUMMARY = "openpower-occ-control: install phosphor-logging yaml"
|
||||
PR = "r1"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit phosphor-logging-yaml-provider
|
||||
require openpower-occ-control.inc
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
@@ -0,0 +1,5 @@
|
||||
HOMEPAGE = "https://github.com/openbmc/openpower-occ-control"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
|
||||
SRC_URI += "git://github.com/openbmc/openpower-occ-control;branch=master;protocol=https"
|
||||
SRCREV = "423187e6479516af95465de10895edd501c68ebf"
|
||||
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
# set and unset occ active for all occ's in system
|
||||
|
||||
if [ "$1" = "disable" ]; then
|
||||
value='false'
|
||||
elif [ "$1" = "enable" ]; then
|
||||
value='true'
|
||||
else
|
||||
echo "Usage: occ-active.sh [argument]"
|
||||
echo " enable - set occ's to active state"
|
||||
echo " disable - set occ's to inactive state"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
OCC_CONTROL_SERVICE="org.open_power.OCC.Control"
|
||||
|
||||
busctl tree $OCC_CONTROL_SERVICE --list | grep -i occ | xargs -r -n1 -I{} \
|
||||
busctl set-property $OCC_CONTROL_SERVICE {} org.open_power.OCC.Status \
|
||||
OccActive b $value
|
||||
exit 0
|
||||
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=OpenPOWER OCC Active Disable
|
||||
Before=obmc-host-stop-pre@%i.target
|
||||
Before=op-enter-mpreboot@%i.service
|
||||
Before=op-stop-instructions@%i.service
|
||||
Conflicts=op-occ-enable@%i.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/occ-active.sh disable
|
||||
Type=oneshot
|
||||
|
||||
[Install]
|
||||
WantedBy=obmc-host-stop@%i.target
|
||||
@@ -0,0 +1,16 @@
|
||||
[Unit]
|
||||
Description=OpenPOWER OCC Active Enable for host %I
|
||||
Conflicts=obmc-host-stop@%i.target
|
||||
Conflicts=op-occ-disable@%i.service
|
||||
Wants=org.open_power.OCC.Control.service
|
||||
After=org.open_power.OCC.Control.service
|
||||
Wants=fsi-scan@%i.service
|
||||
After=fsi-scan@%i.service
|
||||
ConditionPathExists=/run/openbmc/host@%i-on
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/occ-active.sh enable
|
||||
Type=oneshot
|
||||
|
||||
[Install]
|
||||
WantedBy=obmc-host-start@%i.target
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=OpenPOWER OCC controller
|
||||
Wants=mapper-wait@-xyz-openbmc_project-inventory.service
|
||||
After=mapper-wait@-xyz-openbmc_project-inventory.service
|
||||
Wants=obmc-host-reset-running@0.target
|
||||
After=obmc-host-reset-running@0.target
|
||||
Wants=xyz.openbmc_project.PLDM
|
||||
After=xyz.openbmc_project.PLDM
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/openpower-occ-control
|
||||
Restart=always
|
||||
Type=dbus
|
||||
BusName={BUSNAME}
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,108 @@
|
||||
SUMMARY = "OpenPOWER OCC controller"
|
||||
DESCRIPTION = "Application to control the OpenPOWER On-Chip-Controller"
|
||||
HOMEPAGE = "https://github.com/openbmc/openpower-occ-control"
|
||||
PR = "r1"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
|
||||
inherit meson \
|
||||
pkgconfig \
|
||||
obmc-phosphor-dbus-service \
|
||||
python3native \
|
||||
phosphor-dbus-yaml
|
||||
|
||||
require ${BPN}.inc
|
||||
|
||||
SRC_URI += "file://occ-active.sh"
|
||||
do_install:append() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 ${WORKDIR}/occ-active.sh \
|
||||
${D}${bindir}/occ-active.sh
|
||||
}
|
||||
|
||||
DBUS_SERVICE:${PN} += "org.open_power.OCC.Control.service"
|
||||
SYSTEMD_SERVICE:${PN} += "op-occ-enable@.service"
|
||||
SYSTEMD_SERVICE:${PN} += "op-occ-disable@.service"
|
||||
|
||||
DEPENDS += "virtual/${PN}-config-native"
|
||||
DEPENDS += " \
|
||||
sdbusplus \
|
||||
${PYTHON_PN}-sdbus++-native \
|
||||
phosphor-logging \
|
||||
phosphor-dbus-interfaces \
|
||||
autoconf-archive-native \
|
||||
systemd \
|
||||
${PYTHON_PN}-native \
|
||||
${PYTHON_PN}-pyyaml-native \
|
||||
${PYTHON_PN}-setuptools-native \
|
||||
${PYTHON_PN}-mako-native \
|
||||
nlohmann-json \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN} += "phosphor-state-manager-obmc-targets"
|
||||
|
||||
EXTRA_OEMESON = " \
|
||||
-Dyamldir=${STAGING_DATADIR_NATIVE}/${PN} \
|
||||
-Dps-derating-factor=${POWER_SUPPLY_DERATING_FACTOR} \
|
||||
-Dtests=disabled \
|
||||
"
|
||||
EXTRA_OEMESON:append = "${@bb.utils.contains('MACHINE_FEATURES', 'i2c-occ', ' -Di2c-occ=enabled', '', d)}"
|
||||
|
||||
OCC_ENABLE = "enable"
|
||||
OCC_DISABLE = "disable"
|
||||
HOST_START = "startmin"
|
||||
HOST_STOP = "stop"
|
||||
|
||||
# Ensure host-stop and host-startmin targets wants needed occ states
|
||||
OCC_TMPL = "op-occ-{0}@.service"
|
||||
HOST_TGTFMT = "obmc-host-{1}@{2}.target"
|
||||
OCC_INSTFMT = "op-occ-{0}@{2}.service"
|
||||
HOST_OCC_FMT = "../${OCC_TMPL}:${HOST_TGTFMT}.wants/${OCC_INSTFMT}"
|
||||
SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'HOST_OCC_FMT', 'OCC_ENABLE', 'HOST_START', 'OBMC_HOST_INSTANCES')}"
|
||||
SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'HOST_OCC_FMT', 'OCC_DISABLE', 'HOST_STOP', 'OBMC_HOST_INSTANCES')}"
|
||||
|
||||
# Set the occ disable service to be executed on host error
|
||||
HOST_ERROR_TARGETS = "crash timeout"
|
||||
|
||||
OCC_DISABLE_TMPL = "op-occ-disable@.service"
|
||||
HOST_ERROR_TGTFMT = "obmc-host-{0}@{1}.target"
|
||||
OCC_DISABLE_INSTFMT = "op-occ-disable@{1}.service"
|
||||
HOST_ERROR_FMT = "../${OCC_DISABLE_TMPL}:${HOST_ERROR_TGTFMT}.wants/${OCC_DISABLE_INSTFMT}"
|
||||
|
||||
SYSTEMD_LINK:${PN} += "${@compose_list(d, 'HOST_ERROR_FMT', 'HOST_ERROR_TARGETS', 'OBMC_HOST_INSTANCES')}"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
# Remove packages not required for native build
|
||||
DEPENDS:remove:class-native = " \
|
||||
phosphor-logging \
|
||||
systemd \
|
||||
sdbusplus \
|
||||
virtual/${PN}-config-native \
|
||||
"
|
||||
RDEPENDS:${PN}:remove:class-native = "phosphor-state-manager-obmc-targets"
|
||||
|
||||
# Remove packages not required for native SDK build
|
||||
DEPENDS:remove:class-nativesdk = " \
|
||||
phosphor-logging \
|
||||
systemd \
|
||||
sdbusplus \
|
||||
virtual/${PN}-config-native \
|
||||
"
|
||||
RDEPENDS:${PN}:remove:class-nativesdk = "phosphor-state-manager-obmc-targets"
|
||||
|
||||
# Provide a means to enable/disable install_error_yaml feature
|
||||
PACKAGECONFIG ??= "install_error_yaml"
|
||||
PACKAGECONFIG[install_error_yaml] = "\
|
||||
-Dinstall-error-yaml=enabled,\
|
||||
-Dinstall-error-yaml=disabled,\
|
||||
,\
|
||||
"
|
||||
|
||||
# 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"
|
||||
|
||||
BBCLASSEXTEND += "native nativesdk"
|
||||
@@ -0,0 +1,8 @@
|
||||
# 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:append:df-openpower = " checkstop-monitor"
|
||||
|
||||
# Add openpower debug collector as a requirement for state-mgmt
|
||||
# since it is used during checkstop handling.
|
||||
RDEPENDS:${PN}-host-state-mgmt:append:df-openpower = " openpower-debug-collector"
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
# Warning: Any providers listed here will have their whitelists ignored. Add
|
||||
# providers with whitelists that should not be ignored to
|
||||
# conf/machine/openpower.inc
|
||||
|
||||
VIRTUAL-RUNTIME_phosphor-ipmi-providers:append:df-openpower = " \
|
||||
openpower-host-ipmi-flash \
|
||||
"
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
RDEPENDS:${PN}:append:df-openpower = " \
|
||||
pflash \
|
||||
gard \
|
||||
fsidbg \
|
||||
"
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
OBMC_YAML_PROVIDER_RECIPES += " \
|
||||
openpower-debug-collector-yaml-provider \
|
||||
openpower-ipmi-oem-yaml-provider \
|
||||
openpower-occ-control-yaml-provider \
|
||||
"
|
||||
@@ -0,0 +1,51 @@
|
||||
SUMMARY = "OpenBMC for OpenPOWER - Applications"
|
||||
PR = "r1"
|
||||
|
||||
inherit packagegroup
|
||||
|
||||
PROVIDES = "${PACKAGES}"
|
||||
PACKAGES = " \
|
||||
${PN}-chassis \
|
||||
${PN}-fans \
|
||||
${PN}-flash \
|
||||
${PN}-system \
|
||||
"
|
||||
|
||||
PROVIDES += "virtual/obmc-chassis-mgmt"
|
||||
PROVIDES += "virtual/obmc-fan-mgmt"
|
||||
PROVIDES += "virtual/obmc-flash-mgmt"
|
||||
PROVIDES += "virtual/obmc-system-mgmt"
|
||||
|
||||
RPROVIDES:${PN}-chassis += "virtual-obmc-chassis-mgmt"
|
||||
RPROVIDES:${PN}-fans += "virtual-obmc-fan-mgmt"
|
||||
RPROVIDES:${PN}-flash += "virtual-obmc-flash-mgmt"
|
||||
RPROVIDES:${PN}-system += "virtual-obmc-system-mgmt"
|
||||
|
||||
SUMMARY:${PN}-chassis = "OpenPOWER Chassis"
|
||||
RDEPENDS:${PN}-chassis = " \
|
||||
obmc-phosphor-buttons-signals \
|
||||
obmc-phosphor-buttons-handler \
|
||||
phosphor-skeleton-control-power \
|
||||
obmc-host-failure-reboots \
|
||||
"
|
||||
#Pull in obmc-fsi on all P9 OpenPOWER systems
|
||||
RDEPENDS:${PN}-chassis += "${@bb.utils.contains('MACHINE_FEATURES', 'op-fsi', 'op-fsi', '', d)}"
|
||||
|
||||
#Pull in p9-cfam-override on all P9 OpenPOWER systems
|
||||
RDEPENDS:${PN}-chassis += "${@bb.utils.contains('MACHINE_FEATURES', 'p9-cfam-override', 'p9-cfam-override', '', d)}"
|
||||
|
||||
SUMMARY:${PN}-fans = "OpenPOWER Fans"
|
||||
RDEPENDS:${PN}-fans = " \
|
||||
"
|
||||
|
||||
SUMMARY:${PN}-flash = "OpenPOWER Flash"
|
||||
|
||||
RDEPENDS:${PN}-flash = " \
|
||||
openpower-software-manager\
|
||||
"
|
||||
|
||||
SUMMARY:${PN}-system = "OpenPOWER System"
|
||||
RDEPENDS:${PN}-system = " \
|
||||
pdbg \
|
||||
croserver \
|
||||
"
|
||||
@@ -0,0 +1,19 @@
|
||||
TRACE_EVENTS:append = " \
|
||||
fsi_slave_init \
|
||||
fsi_slave_invalid_cfam \
|
||||
fsi_dev_init \
|
||||
fsi_master_aspeed_cfam_reset \
|
||||
fsi_master_scan \
|
||||
fsi_master_unregister \
|
||||
"
|
||||
TRACE_EVENTS:append:p10bmc = " \
|
||||
i2cr_i2c_error \
|
||||
i2cr_status_error \
|
||||
xdma_start \
|
||||
xdma_irq \
|
||||
xdma_reset \
|
||||
xdma_perst \
|
||||
xdma_unmap \
|
||||
xdma_mmap_error \
|
||||
xdma_mmap \
|
||||
"
|
||||
@@ -0,0 +1,23 @@
|
||||
SUMMARY = "Inventory config for openpower-vpd-parser"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit openpower-fru-vpd
|
||||
inherit native
|
||||
|
||||
SRC_URI += "file://inventory"
|
||||
|
||||
PROVIDES += "virtual/openpower-fru-inventory"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
do_install() {
|
||||
# This recipe is supposed to create a systemd environment file
|
||||
# with values for FRU types and paths. This example recipe
|
||||
# uses a pre-defined file ($PN/inventory).
|
||||
|
||||
DEST=${D}${inventory_datadir_native}
|
||||
install -d ${DEST}
|
||||
install inventory ${DEST}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
FRUS=BMC
|
||||
PATHS=/system/chassis/bmc
|
||||
@@ -0,0 +1,29 @@
|
||||
SUMMARY = "Inventory config for openpower-vpd-parser"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit openpower-fru-vpd
|
||||
inherit mrw-xml
|
||||
inherit native
|
||||
|
||||
DEPENDS += " \
|
||||
mrw-native \
|
||||
mrw-perl-tools-native \
|
||||
virtual/openpower-fru-vpd-layout \
|
||||
"
|
||||
|
||||
PROVIDES += "virtual/openpower-fru-inventory"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
do_install() {
|
||||
DEST=${D}${inventory_datadir_native}
|
||||
install -d ${DEST}
|
||||
|
||||
${bindir}/perl-native/perl \
|
||||
${bindir}/gen_openpower_fru.pl \
|
||||
-m ${mrw_datadir}/${MRW_XML} \
|
||||
-c ${vpdlayout_datadir}/layout.yaml \
|
||||
-o ${DEST}/inventory
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
SUMMARY = "FRU properties config for openpower-vpd-parser"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit openpower-fru-vpd
|
||||
inherit native
|
||||
|
||||
SRC_URI += "file://example.yaml"
|
||||
|
||||
PROVIDES += "virtual/openpower-fru-properties"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
do_install() {
|
||||
# This recipe is supposed to create an output yaml file with
|
||||
# FRU property values extracted from the MRW. This example recipe
|
||||
# provides a sample output file.
|
||||
|
||||
DEST=${D}${properties_datadir}
|
||||
install -d ${DEST}
|
||||
install example.yaml ${DEST}/out.yaml
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
/system/chassis/motherboard/boxelder/bmc:
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'false'
|
||||
/system/chassis/motherboard/boxelder/bmc/ethernet:
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'false'
|
||||
@@ -0,0 +1,30 @@
|
||||
SUMMARY = "FRU properties config for openpower-vpd-parser"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit openpower-fru-vpd
|
||||
inherit mrw-xml
|
||||
inherit native
|
||||
|
||||
SRC_URI += "file://config.yaml"
|
||||
|
||||
DEPENDS += " \
|
||||
mrw-native \
|
||||
mrw-perl-tools-native \
|
||||
"
|
||||
|
||||
PROVIDES += "virtual/openpower-fru-properties"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
do_install() {
|
||||
DEST=${D}${properties_datadir}
|
||||
install -d ${DEST}
|
||||
|
||||
${bindir}/perl-native/perl \
|
||||
${bindir}/gen_fru_properties.pl \
|
||||
-m ${mrw_datadir}/${MRW_XML} \
|
||||
-c config.yaml \
|
||||
-o ${DEST}/out.yaml
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
BMC:
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'false'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
|
||||
ETHERNET:
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'false'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
|
After Width: | Height: | Size: 326 B |
@@ -0,0 +1,20 @@
|
||||
SUMMARY = "VPD layout for openpower-fru-vpd"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit openpower-fru-vpd
|
||||
inherit native
|
||||
|
||||
SRC_URI += "file://layout.yaml"
|
||||
|
||||
PROVIDES += "virtual/openpower-fru-vpd-layout"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
do_install() {
|
||||
DEST=${D}${vpdlayout_datadir}
|
||||
|
||||
install -d ${DEST}
|
||||
install layout.yaml ${DEST}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
BMC:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
OPFR,VP: PartNumber
|
||||
OPFR,VS: SerialNumber
|
||||
OPFR,VN: Manufacturer
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
VINI,DR: PrettyName
|
||||
xyz.openbmc_project.Inventory.Item.Bmc:
|
||||
ETHERNET:
|
||||
xyz.openbmc_project.Inventory.Item.NetworkInterface:
|
||||
VINI,B1: MACAddress
|
||||
OPFR,B1: MACAddress
|
||||
xyz.openbmc_project.Inventory.Item.Ethernet:
|
||||
ETHERNET1:
|
||||
xyz.openbmc_project.Inventory.Item.NetworkInterface:
|
||||
VINI,B1: MACAddress
|
||||
OPFR,B1: MACAddress
|
||||
xyz.openbmc_project.Inventory.Item.Ethernet:
|
||||
|
After Width: | Height: | Size: 601 B |
@@ -0,0 +1,6 @@
|
||||
HOMEPAGE = "https://github.com/openbmc/openpower-vpd-parser"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
|
||||
SRC_URI += "git://github.com/openbmc/openpower-vpd-parser;branch=master;protocol=https"
|
||||
SRCREV = "4170bdad54a7583b7f8e0435a4702acb126aa326"
|
||||
DEPENDS += "nlohmann-json"
|
||||
@@ -0,0 +1 @@
|
||||
SUBSYSTEM=="i2c", ENV{OF_NAME}=="eeprom", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}+="op-vpd-parser"
|
||||
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Read OpenPOWER-format VPD from EEPROM
|
||||
ConditionFileNotEmpty={envfiledir}/obmc/inventory
|
||||
Wants=mapper-wait@-xyz-openbmc_project-inventory.service
|
||||
After=mapper-wait@-xyz-openbmc_project-inventory.service
|
||||
|
||||
[Service]
|
||||
Restart=no
|
||||
Type=oneshot
|
||||
EnvironmentFile={envfiledir}/obmc/inventory
|
||||
ExecStart=/usr/bin/openpower-read-vpd --vpd $EEPROM --fru $FRUS --object $PATHS
|
||||
RemainAfterExit=yes
|
||||
@@ -0,0 +1,48 @@
|
||||
SUMMARY = "Parser for OpenPOWER-format FRU VPD"
|
||||
DESCRIPTION = "Parse OpenPOWER-format FRU VPD and update inventory"
|
||||
PR = "r1"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
|
||||
inherit meson pkgconfig
|
||||
inherit openpower-fru-vpd
|
||||
inherit python3native
|
||||
inherit obmc-phosphor-systemd
|
||||
|
||||
require ${BPN}.inc
|
||||
|
||||
SRC_URI += "file://70-op-vpd.rules"
|
||||
|
||||
DEPENDS += " \
|
||||
virtual/openpower-fru-vpd-layout \
|
||||
virtual/openpower-fru-inventory \
|
||||
virtual/openpower-fru-properties \
|
||||
sdbusplus \
|
||||
phosphor-logging \
|
||||
${PYTHON_PN}-mako-native \
|
||||
${PYTHON_PN}-pyyaml-native \
|
||||
autoconf-archive-native \
|
||||
"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} += "op-vpd-parser.service"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
PACKAGECONFIG ??= ""
|
||||
PACKAGECONFIG[ibm-parser] = "-Dibm-parser=enabled, -Dibm-parser=disabled, libgpiod nlohmann-json cli11"
|
||||
PACKAGECONFIG[vpd-manager] = "-Dvpd-manager=enabled, -Dvpd-manager=disabled"
|
||||
|
||||
EXTRA_OEMESON = " \
|
||||
-Dtests=disabled \
|
||||
-DFRU_YAML=${STAGING_DIR_NATIVE}${vpdlayout_datadir}/layout.yaml \
|
||||
-DPROP_YAML=${STAGING_DIR_NATIVE}${properties_datadir}/out.yaml \
|
||||
"
|
||||
|
||||
do_install:append() {
|
||||
SRC=${STAGING_DATADIR_NATIVE}${inventory_datadir_name}
|
||||
DEST=${D}${inventory_envdir}
|
||||
install -d ${DEST}
|
||||
install ${SRC}/inventory ${DEST}
|
||||
|
||||
install -d ${D}/${nonarch_base_libdir}/udev/rules.d/
|
||||
install -m0644 ${WORKDIR}/70-op-vpd.rules ${D}/${nonarch_base_libdir}/udev/rules.d/
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"redfishEventLogDisabled" : true
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
|
||||
|
||||
SRC_URI:append:df-openpower = " file://config.json"
|
||||
|
||||
do_configure:append:df-openpower() {
|
||||
# Overwrite the config.json to turn off/on Web UI panels
|
||||
# E.g. Turn off the Redfish Event Log Panel since openpower systems use
|
||||
# the D-Bus Event Log Panel
|
||||
cp ${WORKDIR}/config.json ${S}/
|
||||
}
|
||||
Reference in New Issue
Block a user