blob: 8cedb62a5ea96c5e4fda3d8ebf5d86a40bef3798 [file] [log] [blame]
Andrew Geissler82cfa662020-02-17 15:11:03 -06001SUMMARY = "OpenPOWER processor control services installation"
2PR = "r1"
3
4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
6
7inherit allarch
8
Adriana Kobylak8c6707f2021-08-06 17:35:36 +00009RDEPENDS:${PN} += "op-proc-control"
10RDEPENDS:${PN} += "phosphor-state-manager-obmc-targets"
Andrew Geissler82cfa662020-02-17 15:11:03 -060011
Adriana Kobylak8c6707f2021-08-06 17:35:36 +000012ALLOW_EMPTY:${PN} = "1"
Andrew Geissler82cfa662020-02-17 15:11:03 -060013
Adriana Kobylak8c6707f2021-08-06 17:35:36 +000014pkg_postinst:${PN}() {
Andrew Geissler55bd4492020-03-31 13:43:46 -050015 mkdir -p $D$systemd_system_unitdir/obmc-host-stop@0.target.wants
Andrew Geissler82cfa662020-02-17 15:11:03 -060016 mkdir -p $D$systemd_system_unitdir/obmc-host-force-warm-reboot@0.target.requires
Dhruvaraj Subhashchandranc8aa6a12020-03-09 13:04:32 -050017 mkdir -p $D$systemd_system_unitdir/obmc-host-startmin@0.target.requires
18 mkdir -p $D$systemd_system_unitdir/obmc-host-diagnostic-mode@0.target.requires
Andrew Geisslerf95063e2020-04-14 15:08:43 -050019 mkdir -p $D$systemd_system_unitdir/obmc-chassis-poweron@0.target.requires
Andrew Geisslerc3f1beb2020-12-09 15:05:02 -060020 mkdir -p $D$systemd_system_unitdir/obmc-host-quiesce@0.target.wants
Andrew Geissler82cfa662020-02-17 15:11:03 -060021
Andrew Geissler55bd4492020-03-31 13:43:46 -050022 LINK="$D$systemd_system_unitdir/obmc-host-stop@0.target.wants/op-stop-instructions@0.service"
Andrew Geissler82cfa662020-02-17 15:11:03 -060023 TARGET="../op-stop-instructions@.service"
24 ln -s $TARGET $LINK
25
Andrew Geisslerc3f1beb2020-12-09 15:05:02 -060026 LINK="$D$systemd_system_unitdir/obmc-host-quiesce@0.target.wants/op-stop-instructions@0.service"
27 TARGET="../op-stop-instructions@.service"
28 ln -s $TARGET $LINK
29
Andrew Geisslerf95063e2020-04-14 15:08:43 -050030 LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.requires/op-cfam-reset.service"
31 TARGET="../op-cfam-reset.service"
32 ln -s $TARGET $LINK
33
34 LINK="$D$systemd_system_unitdir/obmc-chassis-poweron@0.target.requires/op-cfam-reset.service"
Andrew Geissler82cfa662020-02-17 15:11:03 -060035 TARGET="../op-cfam-reset.service"
36 ln -s $TARGET $LINK
Andrew Geissler4e174d12020-02-26 14:11:53 -060037
38 # Only install cfam override if p9 system
39 if [ "${@bb.utils.contains("MACHINE_FEATURES", "p9-cfam-override", "True", "False", d)}" = True ]; then
40 mkdir -p $D$systemd_system_unitdir/obmc-host-startmin@0.target.requires
41 LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.requires/cfam_override@0.service"
42 TARGET="../cfam_override@.service"
43 ln -s $TARGET $LINK
44 fi
Dhruvaraj Subhashchandranc8aa6a12020-03-09 13:04:32 -050045
46 LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.requires/op-continue-mpreboot@0.service"
47 TARGET="../op-continue-mpreboot@.service"
48 ln -s $TARGET $LINK
49
Andrew Geissler88eef192020-12-17 11:37:11 -060050 # Only install certain units if phal enabled
Ramesh Iyyard6d9b542020-09-17 10:02:08 -050051 if [ "${@bb.utils.filter('OBMC_MACHINE_FEATURES', 'phal', d)}" = phal ]; then
52 mkdir -p $D$systemd_system_unitdir/obmc-host-start@0.target.requires
53 LINK="$D$systemd_system_unitdir/obmc-host-start@0.target.requires/phal-reinit-devtree.service"
54 TARGET="../phal-reinit-devtree.service"
55 ln -s $TARGET $LINK
Chirag Sharma5ec16a32020-12-11 03:45:15 -060056
57 LINK="$D$systemd_system_unitdir/obmc-chassis-poweroff@0.target.requires/proc-pre-poweroff@0.service"
58 TARGET="../proc-pre-poweroff@.service"
59 ln -s $TARGET $LINK
Andrew Geissler4d2fd8d2021-06-24 15:28:47 -050060
61 LINK="$D$systemd_system_unitdir/obmc-host-reset@0.target.requires/op-reset-host-check@0.service"
62 TARGET="../op-reset-host-check@.service"
63 ln -s $TARGET $LINK
Jayanth Othayothad68ba32021-07-30 06:35:44 -050064
65 mkdir -p $D$systemd_system_unitdir/multi-user.target.wants
66 LINK="$D$systemd_system_unitdir/multi-user.target.wants/phal-import-devtree@0.service"
67 TARGET="../phal-import-devtree@.service"
68 ln -s $TARGET $LINK
Jayanth Othayothce7dbec2021-07-30 06:46:57 -050069
70 mkdir -p $D$systemd_system_unitdir/obmc-host-startmin@0.target.wants
71 LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.wants/phal-export-devtree@0.service"
72 TARGET="../phal-export-devtree@.service"
73 ln -s $TARGET $LINK
Jayanth Othayothad68ba32021-07-30 06:35:44 -050074 fi
Andrew Geissler88eef192020-12-17 11:37:11 -060075
Andrew Geissleraa25e2c2021-02-01 14:14:25 -060076 # If the memory preserving reboot feature is enabled, set it up
77 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'mpreboot', d)}" = mpreboot ]; then
78 # on mpreboot systems, obmc-host-crash@.target is used for mpreboot
Andrew Geissler88eef192020-12-17 11:37:11 -060079 mkdir -p $D$systemd_system_unitdir/obmc-host-crash@0.target.requires
80 LINK="$D$systemd_system_unitdir/obmc-host-crash@0.target.requires/obmc-host-force-warm-reboot@0.target"
81 TARGET="../obmc-host-force-warm-reboot@.target"
82 ln -s $TARGET $LINK
83
84 LINK="$D$systemd_system_unitdir/obmc-host-crash@0.target.requires/op-enter-mpreboot@0.service"
85 TARGET="../op-enter-mpreboot@.service"
86 ln -s $TARGET $LINK
87
Andrew Geissleraa25e2c2021-02-01 14:14:25 -060088 # ensure diagnostic mode is shown for MPREBOOT
Andrew Geissler88eef192020-12-17 11:37:11 -060089 LINK="$D$systemd_system_unitdir/obmc-host-crash@0.target.requires/obmc-host-diagnostic-mode@0.target"
90 TARGET="../obmc-host-diagnostic-mode@.target"
91 ln -s $TARGET $LINK
92 else
Andrew Geissleraa25e2c2021-02-01 14:14:25 -060093 # If not a mpreboot system, default to quiesce target in crash target to support
Andrew Geissler88eef192020-12-17 11:37:11 -060094 # older system designs like witherspoon
95 mkdir -p $D$systemd_system_unitdir/obmc-host-crash@0.target.wants
96 LINK="$D$systemd_system_unitdir/obmc-host-crash@0.target.wants/obmc-host-quiesce@0.target"
97 TARGET="../obmc-host-quiesce@.target"
98 ln -s $TARGET $LINK
Ramesh Iyyard6d9b542020-09-17 10:02:08 -050099 fi
Andrew Geissler82cfa662020-02-17 15:11:03 -0600100}
101
Adriana Kobylak8c6707f2021-08-06 17:35:36 +0000102pkg_prerm:${PN}() {
Andrew Geissler55bd4492020-03-31 13:43:46 -0500103 LINK="$D$systemd_system_unitdir/obmc-host-stop@0.target.wants/op-stop-instructions@0.service"
Andrew Geissler82cfa662020-02-17 15:11:03 -0600104 rm $LINK
Andrew Geisslerf95063e2020-04-14 15:08:43 -0500105 LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.requires/op-cfam-reset.service"
106 rm $LINK
107 LINK="$D$systemd_system_unitdir/obmc-chassis-poweron@0.target.requires/op-cfam-reset.service"
Andrew Geissler82cfa662020-02-17 15:11:03 -0600108 rm $LINK
Andrew Geissler4e174d12020-02-26 14:11:53 -0600109 # Only uninstall cfam override if p9 system
110 if [ "${@bb.utils.contains("MACHINE_FEATURES", "p9-cfam-override", "True", "False", d)}" = True ]; then
111 LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.requires/cfam_override@0.service"
112 rm $LINK
113 fi
Dhruvaraj Subhashchandranc8aa6a12020-03-09 13:04:32 -0500114 LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.requires/op-continue-mpreboot@0.service"
115 rm $LINK
Ramesh Iyyard6d9b542020-09-17 10:02:08 -0500116
Andrew Geissler88eef192020-12-17 11:37:11 -0600117 # Remove phal specific units if enabled
Ramesh Iyyard6d9b542020-09-17 10:02:08 -0500118 if [ "${@bb.utils.filter('OBMC_MACHINE_FEATURES', 'phal', d)}" = phal ]; then
119 LINK="$D$systemd_system_unitdir/obmc-host-start@0.target.requires/phal-reinit-devtree.service"
120 rm $LINK
Chirag Sharma5ec16a32020-12-11 03:45:15 -0600121
122 LINK="$D$systemd_system_unitdir/obmc-chassis-poweroff@0.target.requires/proc-pre-poweroff@0.service"
123 rm $LINK
Jayanth Othayothad68ba32021-07-30 06:35:44 -0500124
125 LINK="$D$systemd_system_unitdir/multi-user.target.wants/phal-import-devtree@0.service"
126 rm $LINK
Jayanth Othayothce7dbec2021-07-30 06:46:57 -0500127
128 LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.wants/phal-export-devtree@0.service"
129 rm $LINK
Andrew Geissleraa25e2c2021-02-01 14:14:25 -0600130 fi
Andrew Geissler88eef192020-12-17 11:37:11 -0600131
Andrew Geissleraa25e2c2021-02-01 14:14:25 -0600132 # Remove mpreboot specific units if enabled
133 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'mpreboot', d)}" = mpreboot ]; then
Andrew Geissler88eef192020-12-17 11:37:11 -0600134 LINK="$D$systemd_system_unitdir/obmc-host-crash@0.target.requires/obmc-host-force-warm-reboot@0.target"
135 rm $LINK
136
137 LINK="$D$systemd_system_unitdir/obmc-host-crash@0.target.requires/op-enter-mpreboot@0.service"
138 rm $LINK
139 else
140 LINK="$D$systemd_system_unitdir/obmc-host-crash@0.target.wants/obmc-host-quiesce@0.target"
141 rm $LINK
Ramesh Iyyard6d9b542020-09-17 10:02:08 -0500142 fi
Andrew Geissler82cfa662020-02-17 15:11:03 -0600143}