phosphor-ipmi-host: Move configuration to phosphor-ipmi-config
Witherspoon requires an dev_id.json file whose content is partially
derived from data provided by the os-release package. os-release is
updated for each commit, as some of its content (VERSION and
VERSION_ID) can be derived from `git describe`. As dev_id.json was
provided by the phosphor-ipmi-host package, every commit transitively
triggered a rebuild of phosphor-ipmi-host in order to satisfy
Witherspoon's requirements.
Always rebuilding phosphor-ipmi-host is unhelpful for several reasons:
* It needlessly reduces CI throughput, as it is likely the commits in
question do not modify the phosphor-ipmi-host package.
* GCC suffers from what appears to be an unfixable[1] bug[2] that causes
phoshor-ipmi-host to consume large (>5GiB) amounts of RAM when
compiling some (at least Witherspoon) sensor configurations.
To avoid this, separate the configuration files out into
virtual/phosphor-ipmi-config and phosphor-ipmi-config packages that
phosphor-ipmi-host RDEPENDS on. Witherspoon provides an alternative
implementation in witherspoon-ipmi-config to mangle dev_id.json to its
particular requirements.
A virtual is used rather than a simple bbappends for Witherspoon, as the
bbappend approach breaks builds of machines other than Witherspoon if
Witherspoon is built first: The Witherspoon-specific dev_id.json file is
deployed in its mangled form into e.g. a Zaius image. Specifically, the
following sequence will trigger the issue:
$ TEMPLATECONF=.../witherspoon.conf . openbmc-env
$ bitbake obmc-phosphor-image
$ rm -rf conf
$ TEMPLATECONF=.../zaius.conf . openbmc-env
$ bitbake obmc-phosphor-image
[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80290#c26
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80290
Change-Id: Ib9629fc77b29e2deeab3f1c3a145d9e966c14ec4
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
diff --git a/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/cipher_list.json b/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/cipher_list.json
new file mode 100644
index 0000000..0f13b1e
--- /dev/null
+++ b/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/cipher_list.json
@@ -0,0 +1,38 @@
+{
+ "a":{
+ "cipher":1,
+ "authentication":1,
+ "integrity":0,
+ "confidentiality":0
+ },
+ "b":{
+ "cipher":2,
+ "authentication":1,
+ "integrity":1,
+ "confidentiality":0
+ },
+ "c":{
+ "cipher":3,
+ "authentication":1,
+ "integrity":1,
+ "confidentiality":1
+ },
+ "d":{
+ "cipher":15,
+ "authentication":3,
+ "integrity":0,
+ "confidentiality":0
+ },
+ "e":{
+ "cipher":16,
+ "authentication":3,
+ "integrity":4,
+ "confidentiality":0
+ },
+ "f":{
+ "cipher":17,
+ "authentication":3,
+ "integrity":4,
+ "confidentiality":1
+ }
+}
diff --git a/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/dcmi_cap.json b/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/dcmi_cap.json
new file mode 100644
index 0000000..2d88320
--- /dev/null
+++ b/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/dcmi_cap.json
@@ -0,0 +1,17 @@
+{
+ "PowerManagement": 1,
+ "OOBSecondaryLan": 0,
+ "SerialTMODE": 0,
+ "InBandSystemInterfaceChannel": 1,
+ "SELAutoRollOver": 1,
+ "FlushEntireSELUponRollOver": 0,
+ "RecordLevelSELFlushUponRollOver": 0,
+ "NumberOfSELEntries": 200,
+ "TempMonitoringSamplingFreq":0,
+ "PowerMgmtDeviceSlaveAddress": 0,
+ "BMCChannelNumber": 0,
+ "DeviceRivision": 0,
+ "MandatoryPrimaryLanOOBSupport": 1,
+ "OptionalSecondaryLanOOBSupport": 255,
+ "OptionalSerialOOBMTMODECapability": 255
+}
diff --git a/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/dcmi_sensors.json b/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/dcmi_sensors.json
new file mode 100644
index 0000000..8370713
--- /dev/null
+++ b/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/dcmi_sensors.json
@@ -0,0 +1,58 @@
+{
+ "inlet": [
+ {"instance": 1, "dbus": "/xyz/openbmc_project/sensors/temperature/ambient", "record_id": 254}
+ ],
+ "baseboard": [
+ {"instance": 1, "dbus": "/xyz/openbmc_project/sensors/temperature/pcie", "record_id": 253}
+ ],
+ "cpu": [
+ {"instance": 1, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core0_temp", "record_id": 17},
+ {"instance": 2, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core1_temp", "record_id": 20},
+ {"instance": 3, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core2_temp", "record_id": 23},
+ {"instance": 4, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core3_temp", "record_id": 26},
+ {"instance": 5, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core4_temp", "record_id": 29},
+ {"instance": 6, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core5_temp", "record_id": 32},
+ {"instance": 7, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core6_temp", "record_id": 35},
+ {"instance": 8, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core7_temp", "record_id": 38},
+ {"instance": 9, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core8_temp", "record_id": 41},
+ {"instance": 10, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core9_temp", "record_id": 44},
+ {"instance": 11, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core10_temp", "record_id": 47},
+ {"instance": 12, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core11_temp", "record_id": 50},
+ {"instance": 13, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core12_temp", "record_id": 53},
+ {"instance": 14, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core13_temp", "record_id": 56},
+ {"instance": 15, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core14_temp", "record_id": 59},
+ {"instance": 16, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core15_temp", "record_id": 62},
+ {"instance": 17, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core16_temp", "record_id": 65},
+ {"instance": 18, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core17_temp", "record_id": 68},
+ {"instance": 19, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core18_temp", "record_id": 71},
+ {"instance": 20, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core19_temp", "record_id": 74},
+ {"instance": 21, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core20_temp", "record_id": 77},
+ {"instance": 22, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core21_temp", "record_id": 80},
+ {"instance": 23, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core22_temp", "record_id": 83},
+ {"instance": 24, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core23_temp", "record_id": 86},
+ {"instance": 25, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core0_temp", "record_id": 91},
+ {"instance": 26, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core1_temp", "record_id": 94},
+ {"instance": 27, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core2_temp", "record_id": 97},
+ {"instance": 28, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core3_temp", "record_id": 100},
+ {"instance": 29, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core4_temp", "record_id": 103},
+ {"instance": 30, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core5_temp", "record_id": 106},
+ {"instance": 31, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core6_temp", "record_id": 109},
+ {"instance": 32, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core7_temp", "record_id": 112},
+ {"instance": 33, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core8_temp", "record_id": 115},
+ {"instance": 34, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core9_temp", "record_id": 118},
+ {"instance": 35, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core10_temp", "record_id": 121},
+ {"instance": 36, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core11_temp", "record_id": 124},
+ {"instance": 37, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core12_temp", "record_id": 127},
+ {"instance": 38, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core13_temp", "record_id": 130},
+ {"instance": 39, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core14_temp", "record_id": 133},
+ {"instance": 40, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core15_temp", "record_id": 136},
+ {"instance": 41, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core16_temp", "record_id": 139},
+ {"instance": 42, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core17_temp", "record_id": 142},
+ {"instance": 43, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core18_temp", "record_id": 145},
+ {"instance": 44, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core19_temp", "record_id": 148},
+ {"instance": 45, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core20_temp", "record_id": 151},
+ {"instance": 46, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core21_temp", "record_id": 154},
+ {"instance": 47, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core22_temp", "record_id": 157},
+ {"instance": 48, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core23_temp", "record_id": 160}
+ ]
+}
diff --git a/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/dev_id.json b/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/dev_id.json
new file mode 100644
index 0000000..6cd9a94
--- /dev/null
+++ b/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/dev_id.json
@@ -0,0 +1,2 @@
+{"id": 0, "revision": 128, "addn_dev_support": 141,
+ "manuf_id": 42817, "prod_id": 16975, "aux": 0}
diff --git a/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/power_reading.json b/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/power_reading.json
new file mode 100644
index 0000000..97e8f32
--- /dev/null
+++ b/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/power_reading.json
@@ -0,0 +1,3 @@
+{
+ "path": "/xyz/openbmc_project/sensors/power/total_power"
+}