| Willy Tu | c710b97 | 2021-08-11 16:33:43 -0700 | [diff] [blame] | 1 |  | 
 | 2 | option('tests', type: 'feature', description: 'Build tests') | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 3 | option( | 
 | 4 |     'boot-flag-safe-mode-support', | 
 | 5 |     type: 'feature', | 
 | 6 |     description: 'Add option to enable/disable safe mode in boot flags', | 
 | 7 | ) | 
 | 8 | option( | 
 | 9 |     'i2c-whitelist-check', | 
 | 10 |     type: 'feature', | 
 | 11 |     description: 'Add option to enable/disable i2c master write read command white list checking', | 
 | 12 | ) | 
| Willy Tu | c710b97 | 2021-08-11 16:33:43 -0700 | [diff] [blame] | 13 |  | 
 | 14 | # SoftPowerOff | 
 | 15 | option('softoff', type: 'feature', description: 'Builds soft power off') | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 16 | option( | 
 | 17 |     'softoff-busname', | 
 | 18 |     type: 'string', | 
 | 19 |     value: 'xyz.openbmc_project.Ipmi.Internal.SoftPowerOff', | 
 | 20 |     description: 'The Dbus busname to own for SoftPowerOff', | 
 | 21 | ) | 
 | 22 | option( | 
 | 23 |     'softoff-objpath', | 
 | 24 |     type: 'string', | 
 | 25 |     value: '/xyz/openbmc_project/ipmi/internal/soft_power_off', | 
 | 26 |     description: 'The SoftPowerOff Dbus root', | 
 | 27 | ) | 
 | 28 | option( | 
 | 29 |     'ipmi-sms-atn-ack-timeout-secs', | 
 | 30 |     type: 'integer', | 
 | 31 |     value: 3, | 
 | 32 |     description: 'Timeout for host to ack and query SMS_ATN from BMC', | 
 | 33 | ) | 
 | 34 | option( | 
 | 35 |     'ipmi-host-shutdown-complete-timeout-secs', | 
 | 36 |     type: 'integer', | 
 | 37 |     value: 2700, | 
 | 38 |     description: 'Wait time for host to shutdown', | 
 | 39 | ) | 
| Willy Tu | c710b97 | 2021-08-11 16:33:43 -0700 | [diff] [blame] | 40 | # Indicates an in-band power off or reboot request from the host | 
 | 41 | # This file is used to ensure the soft off service does not run for host | 
 | 42 | # initiated shutdown or reboot requests | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 43 | option( | 
 | 44 |     'host-inband-request-dir', | 
 | 45 |     type: 'string', | 
 | 46 |     value: '/run/openbmc/', | 
 | 47 |     description: 'Directory to store host initiated shutdown file', | 
 | 48 | ) | 
 | 49 | option( | 
 | 50 |     'host-inband-request-file', | 
 | 51 |     type: 'string', | 
 | 52 |     value: 'host@%u-request', | 
 | 53 |     description: 'File to create if host has initiated shutdown or reboot', | 
 | 54 | ) | 
| Willy Tu | c710b97 | 2021-08-11 16:33:43 -0700 | [diff] [blame] | 55 |  | 
 | 56 |  | 
 | 57 | # Config Variables | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 58 | option( | 
 | 59 |     'board-sensor', | 
 | 60 |     type: 'string', | 
 | 61 |     value: '/xyz/openbmc_project/inventory/system/chassis/motherboard', | 
 | 62 |     description: 'The inventory path to the motherboard fault sensor', | 
 | 63 | ) | 
 | 64 | option( | 
 | 65 |     'system-sensor', | 
 | 66 |     type: 'string', | 
 | 67 |     value: '/xyz/openbmc_project/inventory/system', | 
 | 68 |     description: 'The inventory path to the system event sensor', | 
 | 69 | ) | 
| Willy Tu | c710b97 | 2021-08-11 16:33:43 -0700 | [diff] [blame] | 70 |  | 
 | 71 | # Control Host Interfaces | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 72 | option( | 
 | 73 |     'control-host-busname', | 
 | 74 |     type: 'string', | 
 | 75 |     value: 'xyz.openbmc_project.Control.Host', | 
 | 76 |     description: 'The Control Host Dbus busname to own', | 
 | 77 | ) | 
 | 78 | option( | 
 | 79 |     'control-host-obj-mgr', | 
 | 80 |     type: 'string', | 
 | 81 |     value: '/xyz/openbmc_project/control', | 
 | 82 |     description: 'The Control Host D-Bus Object Manager', | 
 | 83 | ) | 
 | 84 | option( | 
 | 85 |     'host-name', | 
 | 86 |     type: 'string', | 
 | 87 |     value: 'host', | 
 | 88 |     description: 'The Control Host D-Bus Object Manager', | 
 | 89 | ) | 
| Willy Tu | c710b97 | 2021-08-11 16:33:43 -0700 | [diff] [blame] | 90 |  | 
 | 91 | # Power reading sensor configuration file | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 92 | option( | 
 | 93 |     'power-reading-sensor', | 
 | 94 |     type: 'string', | 
 | 95 |     value: '/usr/share/ipmi-providers/power_reading.json', | 
 | 96 |     description: 'Power reading sensor configuration file', | 
 | 97 | ) | 
 | 98 | option( | 
 | 99 |     'host-ipmi-lib-path', | 
 | 100 |     type: 'string', | 
 | 101 |     value: '/usr/lib/ipmid-providers/', | 
 | 102 |     description: 'The file path to search for libraries', | 
 | 103 | ) | 
| Willy Tu | c710b97 | 2021-08-11 16:33:43 -0700 | [diff] [blame] | 104 |  | 
 | 105 | # When a sensor read fails, hwmon will update the OperationalState interface's Functional property. | 
 | 106 | # This will mark the sensor as not functional and we will skip reading from that sensor. | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 107 | option( | 
 | 108 |     'update-functional-on-fail', | 
 | 109 |     type: 'feature', | 
 | 110 |     value: 'disabled', | 
 | 111 |     description: 'Check functional property to skip reading from faulty sensors', | 
 | 112 | ) | 
| Willy Tu | c710b97 | 2021-08-11 16:33:43 -0700 | [diff] [blame] | 113 |  | 
 | 114 | # Features | 
 | 115 |  | 
 | 116 | # When libuserlayer is disabled, libuserlayer won't be included in the build. | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 117 | option( | 
 | 118 |     'libuserlayer', | 
 | 119 |     type: 'feature', | 
 | 120 |     description: 'Option to exclue exclude libuserlayer', | 
 | 121 | ) | 
| Willy Tu | c710b97 | 2021-08-11 16:33:43 -0700 | [diff] [blame] | 122 |  | 
 | 123 | # When transport-oem is enabled, the transporthandler_oem.cpp contents | 
 | 124 | # are compiled and added to the project. The transporthandler_oem.cpp file is | 
 | 125 | # copied from your own customization layer in the | 
 | 126 | # phosphor-ipmi-host_%.bbappend file. It is not necessary to create this file | 
 | 127 | # unless OEM Parameter extensions are required. | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 128 | option( | 
 | 129 |     'transport-oem', | 
 | 130 |     type: 'feature', | 
 | 131 |     value: 'disabled', | 
 | 132 |     description: 'Enable transporthandler_oem contents', | 
 | 133 | ) | 
| Willy Tu | c710b97 | 2021-08-11 16:33:43 -0700 | [diff] [blame] | 134 |  | 
 | 135 | # IPMI whitelist mechanism is not needed by everyone; offer a way to disable it | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 136 | option( | 
 | 137 |     'ipmi-whitelist', | 
 | 138 |     type: 'feature', | 
 | 139 |     description: 'Enable/disable IPMI whitelist filtering', | 
 | 140 | ) | 
 | 141 | option( | 
 | 142 |     'whitelist-conf', | 
 | 143 |     type: 'string', | 
 | 144 |     value: 'host-ipmid-whitelist.conf', | 
 | 145 |     description: 'Paths to IPMI whitelisted commands conf files', | 
 | 146 | ) | 
| Willy Tu | c710b97 | 2021-08-11 16:33:43 -0700 | [diff] [blame] | 147 |  | 
| Johnathan Mantey | 23a722c | 2023-05-12 08:18:54 -0700 | [diff] [blame] | 148 | # Entity Manager Decorators | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 149 | option( | 
 | 150 |     'entity-manager-decorators', | 
 | 151 |     type: 'feature', | 
 | 152 |     value: 'enabled', | 
 | 153 |     description: 'The Entity Manager Decorators flag is enabled by default; offer a way to disable it', | 
 | 154 | ) | 
| Johnathan Mantey | 23a722c | 2023-05-12 08:18:54 -0700 | [diff] [blame] | 155 |  | 
| Willy Tu | c710b97 | 2021-08-11 16:33:43 -0700 | [diff] [blame] | 156 | # Dynamic Sensor Stack | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 157 | option( | 
 | 158 |     'dynamic-sensors', | 
 | 159 |     type: 'feature', | 
 | 160 |     value: 'disabled', | 
 | 161 |     description: 'Dynamic sensors stack is enabled by default; offer a way to disable it', | 
 | 162 | ) | 
 | 163 | option( | 
 | 164 |     'dynamic-sensors-write', | 
 | 165 |     type: 'feature', | 
 | 166 |     value: 'disabled', | 
 | 167 |     description: 'Dynamic sensors stack is enabled by default; offer a way to disable it', | 
 | 168 | ) | 
 | 169 | option( | 
 | 170 |     'hybrid-sensors', | 
 | 171 |     type: 'feature', | 
 | 172 |     value: 'disabled', | 
 | 173 |     description: 'Hybrid sensors stack is disabled by default; offer a way to enable it', | 
 | 174 | ) | 
 | 175 | option( | 
 | 176 |     'sensors-oem', | 
 | 177 |     type: 'feature', | 
 | 178 |     value: 'disabled', | 
 | 179 |     description: 'OEM sensor SDR parsing is disabled by default; offer a way to enable it', | 
 | 180 | ) | 
| Willy Tu | c710b97 | 2021-08-11 16:33:43 -0700 | [diff] [blame] | 181 |  | 
 | 182 | # Sensor Cache | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 183 | option( | 
 | 184 |     'sensors-cache', | 
 | 185 |     type: 'feature', | 
 | 186 |     value: 'disabled', | 
 | 187 |     description: 'Sensor cache stack is disabled by default; offer a way to enable it', | 
 | 188 | ) | 
| Willy Tu | c710b97 | 2021-08-11 16:33:43 -0700 | [diff] [blame] | 189 |  | 
| Alexander Hansen | c2c26f9 | 2023-07-17 09:38:43 +0200 | [diff] [blame] | 190 | # Short Sensor Names for IPMI | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 191 | option( | 
 | 192 |     'shortname-remove-suffix', | 
 | 193 |     type: 'feature', | 
 | 194 |     value: 'enabled', | 
 | 195 |     description: 'shortname-remove-suffix is enabled by default', | 
 | 196 | ) | 
 | 197 | option( | 
 | 198 |     'shortname-replace-words', | 
 | 199 |     type: 'feature', | 
 | 200 |     value: 'disabled', | 
 | 201 |     description: 'shortname-replace-words is disabled by default', | 
 | 202 | ) | 
| Alexander Hansen | c2c26f9 | 2023-07-17 09:38:43 +0200 | [diff] [blame] | 203 |  | 
| Willy Tu | c710b97 | 2021-08-11 16:33:43 -0700 | [diff] [blame] | 204 | # Generate configuration from Yaml | 
 | 205 | option('sensor-yaml-gen', type: 'string', value: 'sensor-example.yaml') | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 206 | option( | 
 | 207 |     'invsensor-yaml-gen', | 
 | 208 |     type: 'string', | 
 | 209 |     value: 'inventory-sensor-example.yaml', | 
 | 210 | ) | 
| Willy Tu | c710b97 | 2021-08-11 16:33:43 -0700 | [diff] [blame] | 211 | option('fru-yaml-gen', type: 'string', value: 'fru-read-example.yaml') | 
| Willy Tu | b78184e | 2022-10-27 22:57:38 +0000 | [diff] [blame] | 212 |  | 
 | 213 | # Software Version | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 214 | option( | 
 | 215 |     'get-dbus-active-software', | 
 | 216 |     type: 'feature', | 
 | 217 |     description: 'Use the  getActiveSoftwareVersionInfo for the BMC version and dev_id.json as backup', | 
 | 218 | ) | 
 | 219 | option( | 
 | 220 |     'fw-ver-regex', | 
 | 221 |     type: 'string', | 
 | 222 |     value: '(\\\\d+)\\\\.(\\\\d+)', | 
 | 223 |     description: 'Regular expressions for parsing firmware revision', | 
 | 224 | ) | 
 | 225 | option( | 
 | 226 |     'matches-map', | 
 | 227 |     type: 'array', | 
 | 228 |     value: ['1', '2', '0', '0', '0', '0'], | 
 | 229 |     description: 'An array of integers', | 
 | 230 | ) | 
| Thang Tran | 292c917 | 2023-06-26 10:03:04 +0700 | [diff] [blame] | 231 |  | 
 | 232 | # libipmi20.so library | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 233 | option( | 
 | 234 |     'dynamic-storages-only', | 
 | 235 |     type: 'feature', | 
 | 236 |     value: 'disabled', | 
 | 237 |     description: 'Request to compile storage commands in the libipmi20 library', | 
 | 238 | ) | 
| Patrick Williams | 768730d | 2023-09-06 16:27:20 -0500 | [diff] [blame] | 239 |  | 
 | 240 | # open-power specific functionality. | 
| Patrick Williams | 62ce159 | 2025-02-03 14:12:56 -0500 | [diff] [blame] | 241 | option( | 
 | 242 |     'open-power', | 
 | 243 |     type: 'feature', | 
 | 244 |     description: 'Support open-power specific functions', | 
 | 245 | ) | 
| John Chung | e2fae4b | 2024-11-13 18:10:31 -0600 | [diff] [blame] | 246 |  | 
| Vernon Mauery | d0b99b1 | 2025-05-27 10:43:58 -0700 | [diff] [blame] | 247 | # arm-sbmr specific functionality. | 
 | 248 | option( | 
 | 249 |     'arm-sbmr', | 
 | 250 |     type: 'feature', | 
 | 251 |     description: 'Support Arm SBMR specific functions', | 
 | 252 | ) | 
 | 253 |  | 
 | 254 | ####################################################################### | 
 | 255 | # Transport options | 
 | 256 | ####################################################################### | 
 | 257 |  | 
| John Chung | e2fae4b | 2024-11-13 18:10:31 -0600 | [diff] [blame] | 258 | # HW transport | 
 | 259 | option( | 
 | 260 |     'transport-implementation', | 
 | 261 |     type: 'combo', | 
 | 262 |     choices: ['null', 'serial'], | 
| Patrick Williams | ce3e487 | 2025-03-03 11:07:48 -0500 | [diff] [blame] | 263 |     description: 'transport', | 
| John Chung | e2fae4b | 2024-11-13 18:10:31 -0600 | [diff] [blame] | 264 | ) | 
| John Chung | 0a3f40b | 2025-01-22 18:07:52 -0600 | [diff] [blame] | 265 |  | 
| Vernon Mauery | d0b99b1 | 2025-05-27 10:43:58 -0700 | [diff] [blame] | 266 |  | 
 | 267 |  | 
 | 268 | ####################################################################### | 
 | 269 | # OEM Libraries | 
 | 270 | ####################################################################### | 
| John Chung | 0a3f40b | 2025-01-22 18:07:52 -0600 | [diff] [blame] | 271 | option( | 
| Vernon Mauery | d0b99b1 | 2025-05-27 10:43:58 -0700 | [diff] [blame] | 272 |     'oem-libraries', | 
 | 273 |     type: 'array', | 
 | 274 |     choices: [ | 
 | 275 |         # will build all of the OEM libraries - default | 
 | 276 |         'all', | 
 | 277 |         # don't build any OEM libraries | 
 | 278 |         'none', | 
 | 279 |         ####################################### | 
 | 280 |         # keep list below sorted alphabetically | 
 | 281 |         ####################################### | 
 | 282 |         'example', | 
| Prithvi Pai | 6b580c7 | 2025-06-05 11:13:34 +0530 | [diff] [blame] | 283 |         'nvidia', | 
| Vernon Mauery | d0b99b1 | 2025-05-27 10:43:58 -0700 | [diff] [blame] | 284 |     ], | 
 | 285 |     value: ['all'], | 
 | 286 |     description: 'Build selected OEM IPMI provider libraries', | 
| John Chung | 0a3f40b | 2025-01-22 18:07:52 -0600 | [diff] [blame] | 287 | ) |