blob: 2f2d9e088179e21ba0047ad40354e9d70447744a [file] [log] [blame]
Willy Tu4dd03ca2021-08-06 09:37:35 -07001FILESEXTRAPATHS:prepend:gbmc := "${THISDIR}/${PN}:"
William A. Kennington III97b47e02021-07-15 16:23:01 -07002
Tom Tung4d433a42022-03-31 15:16:41 +08003SRC_URI:append:gbmc = " \
4 file://gbmc_bridge_config.json \
5 file://gbmc_bridge_access.json \
6"
William A. Kennington III97b47e02021-07-15 16:23:01 -07007
Willy Tu4dd03ca2021-08-06 09:37:35 -07008DEPENDS:append:gbmc = " jq-native"
William A. Kennington III97b47e02021-07-15 16:23:01 -07009
10GBMCBR_IPMI_CHANNEL ?= "11"
11
Willy Tu1da83062022-04-07 23:48:56 -070012ENTITY_MAPPING ?= "default"
13
William A. Kennington III97b47e02021-07-15 16:23:01 -070014# Replace a channel in config.json to add gbmcbr reporting
Willy Tu4dd03ca2021-08-06 09:37:35 -070015do_install:append:gbmc() {
Tom Tung4d433a42022-03-31 15:16:41 +080016 config_json=${D}${datadir}/ipmi-providers/channel_config.json
17 overlapping="$(jq '."${GBMCBR_IPMI_CHANNEL}" | .is_valid and .name != "gbmcbr"' $config_json)"
William A. Kennington III97b47e02021-07-15 16:23:01 -070018 if [ "$overlapping" != "false" ]; then
19 echo "gBMC channel config overlaps on ${GBMCBR_IPMI_CHANNEL}" >&2
Tom Tung4d433a42022-03-31 15:16:41 +080020 cat $config_json
William A. Kennington III97b47e02021-07-15 16:23:01 -070021 exit 1
22 fi
Tom Tung4d433a42022-03-31 15:16:41 +080023 jq --slurpfile brcfg ${WORKDIR}/gbmc_bridge_config.json \
24 '. + {"${GBMCBR_IPMI_CHANNEL}": $brcfg[0]}' $config_json >${WORKDIR}/tmp
25 mv ${WORKDIR}/tmp $config_json
26
27 access_json=${D}${datadir}/ipmi-providers/channel_access.json
28 overlapping="$(jq '."${GBMCBR_IPMI_CHANNEL}" | .access_mode and .access_mode != "always_available"' $access_json)"
29 if [ "$overlapping" != "false" ]; then
30 echo "gBMC channel access overlaps on ${GBMCBR_IPMI_CHANNEL}" >&2
31 cat $access_json
32 exit 1
33 fi
34 jq --slurpfile brcfg ${WORKDIR}/gbmc_bridge_access.json \
35 '. + {"${GBMCBR_IPMI_CHANNEL}": $brcfg[0]}' $access_json >${WORKDIR}/tmp
36 mv ${WORKDIR}/tmp $access_json
Willy Tuc93f10b2022-03-28 11:18:53 -070037
38 # Set entity-map.json to empty json for gBMC by default.
39 # Each system will override it if needed.
Willy Tu1da83062022-04-07 23:48:56 -070040 if [[ "${ENTITY_MAPPING}" != "default" ]]; then
41 echo "[]" > ${D}${datadir}/ipmi-providers/entity-map.json
42 fi
William A. Kennington III97b47e02021-07-15 16:23:01 -070043}