xref: /openbmc/pldm/meson.options (revision 0b06dd891c42103a4555a0376e7a47b604f01ca9)
1# PLDM daemon options
2option('tests', type: 'feature', value: 'enabled', description: 'Build tests')
3
4option(
5    'utilities',
6    type: 'feature',
7    value: 'enabled',
8    description: 'Enable debug utilities',
9)
10
11option(
12    'libpldmresponder',
13    type: 'feature',
14    value: 'enabled',
15    description: 'Enable libpldmresponder',
16)
17
18option(
19    'systemd',
20    type: 'feature',
21    value: 'enabled',
22    description: 'Include systemd support',
23)
24
25option(
26    'transport-implementation',
27    type: 'combo',
28    choices: ['mctp-demux', 'af-mctp'],
29    description: 'transport via af-mctp or mctp-demux',
30)
31
32# As per PLDM spec DSP0240 version 1.1.0, in Timing Specification for PLDM messages (Table 6),
33# the instance ID for a given response will expire and become reusable if a response has not been
34# received within a maximum of 6 seconds after a request is sent. By setting the dbus timeout
35# value to 5 seconds we ensure that PLDM does not wait for a response from a dbus call even after
36# the instance ID has expired. If the option is set to 5 seconds, any dbus call originated from
37# PLDM daemon will timeout after 5 seconds.
38option(
39    'dbus-timeout-value',
40    type: 'integer',
41    min: 3,
42    max: 10,
43    value: 5,
44    description: '''The amount of time pldm waits to get a response for a dbus
45                    message before timing out''',
46)
47
48option(
49    'heartbeat-timeout-seconds',
50    type: 'integer',
51    value: 120,
52    description: '''The amount of time host waits for BMC to respond to pings
53                    from host, as part of host-bmc surveillance''',
54)
55
56# Flight Recorder for PLDM Daemon
57option(
58    'flightrecorder-max-entries',
59    type: 'integer',
60    min: 0,
61    max: 30,
62    value: 0,
63    description: '''The max number of pldm messages that can be stored in the
64                    recorder, this feature will be disabled if it is set to 0''',
65)
66
67# PLDM Daemon Terminus options
68option(
69    'terminus-id',
70    type: 'integer',
71    min: 0,
72    max: 255,
73    value: 1,
74    description: '''The terminus id value of the device that is running this
75                    pldm stack''',
76)
77
78option(
79    'terminus-handle',
80    type: 'integer',
81    min: 0,
82    max: 65535,
83    value: 1,
84    description: '''The terminus handle value of the device that is running this
85                    pldm stack''',
86)
87
88# Timing specification options for PLDM messages
89option(
90    'number-of-request-retries',
91    type: 'integer',
92    min: 2,
93    max: 30,
94    value: 2,
95    description: '''The number of times a requester is obligated to retry a
96                    request''',
97)
98
99option(
100    'instance-id-expiration-interval',
101    type: 'integer',
102    min: 5,
103    max: 6,
104    value: 5,
105    description: 'Instance ID expiration interval in seconds',
106)
107
108# Default response-time-out set to 2 seconds to facilitate a minimum retry of
109# the request of 2.
110option(
111    'response-time-out',
112    type: 'integer',
113    min: 300,
114    max: 4800,
115    value: 2000,
116    description: '''The amount of time a requester has to wait for a response
117                    message in milliseconds''',
118)
119
120# Firmware update configuration parameters
121option(
122    'maximum-transfer-size',
123    type: 'integer',
124    min: 16,
125    max: 4294967295,
126    value: 4096,
127    description: '''Maximum size in bytes of the variable payload allowed to be
128                    requested by the FD, via RequestFirmwareData command''',
129)
130
131option(
132    'update-timeout-seconds',
133    type: 'integer',
134    min: 60,
135    max: 90,
136    value: 60,
137    description: '''Timeout in seconds for the UA to cancel the component update
138                    if no command is received from the FD during component image
139                    transfer stage''',
140)
141
142# Bios Attributes option
143option(
144    'system-specific-bios-json',
145    type: 'feature',
146    value: 'disabled',
147    description: 'Support for different set of bios attributes for different types of systems',
148)
149
150# PLDM Soft Power off options
151option(
152    'softoff',
153    type: 'feature',
154    value: 'enabled',
155    description: 'Build soft power off application',
156)
157
158option(
159    'softoff-timeout-seconds',
160    type: 'integer',
161    value: 7200,
162    description: 'softoff: Time to wait for host to gracefully shutdown',
163)
164
165# Vendor Specific Options
166
167## OEM IBM Options
168option(
169    'oem-ibm',
170    type: 'feature',
171    value: 'enabled',
172    description: 'Enable IBM OEM PLDM',
173)
174
175option(
176    'oem-ibm-dma-maxsize',
177    type: 'integer',
178    min: 4096,
179    max: 16773120,
180    value: 8384512,
181    description: 'OEM-IBM: max DMA size',
182)
183
184
185## OEM AMPERE Options
186option(
187    'oem-ampere',
188    type: 'feature',
189    description: 'Enable AMPERE OEM PLDM',
190    value: 'enabled',
191)
192
193## OEM META Options
194option(
195    'oem-meta',
196    type: 'feature',
197    description: 'Enable META OEM PLDM',
198    value: 'enabled',
199)
200
201## OEM NVIDIA Options
202option(
203    'oem-nvidia',
204    type: 'feature',
205    description: 'Enable NVIDIA OEM PLDM',
206    value: 'enabled',
207)
208
209## Default Sensor Update Interval Options
210option(
211    'default-sensor-update-interval',
212    type: 'integer',
213    min: 1,
214    max: 4294967295,
215    description: '''The default sensor polling interval in milliseconds.
216                    The value will be used when the internal is not configured
217                    in the PLDM sensor PDRs use `updateInterval` field. `pldmd`
218                    will send `GetSensorReading` to get the PLDM sensor values
219                    of the monitoring terminus after each configured
220                    interval.''',
221    value: 999,
222)
223
224# Platform-mc configuration parameters
225
226## Sensor Polling Options
227option(
228    'sensor-polling-time',
229    type: 'integer',
230    min: 1,
231    max: 10000,
232    description: '''The configured timeout in milliseconds of the common sensor
233                    polling timer of each terminus which will trigger the
234                    terminus sensor reading task. The task will check
235                    whether the sensor in the terminus sensors list need to
236                    be updated by comparing the sensor `updateInterval` with the
237                    interval between current timestamp and latest updated
238                    timestamp of the sensor. The task will send
239                    `GetSensorReading` if the sensor need to be updated.''',
240    value: 249,
241)
242
243# Firmware Update configuration parameters
244option(
245    'fw-update-pkg-inotify',
246    type: 'feature',
247    value: 'disabled',
248    description: 'Enable inotify-based firmware update package monitoring',
249)
250