xref: /openbmc/pldm/meson.options (revision e482087f23e46a9b42b2433fe57cbf5dd5202d68)
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## Default Sensor Update Interval Options
202option(
203    'default-sensor-update-interval',
204    type: 'integer',
205    min: 1,
206    max: 4294967295,
207    description: '''The default sensor polling interval in milliseconds.
208                    The value will be used when the internal is not configured
209                    in the PLDM sensor PDRs use `updateInterval` field. `pldmd`
210                    will send `GetSensorReading` to get the PLDM sensor values
211                    of the monitoring terminus after each configured
212                    interval.''',
213    value: 999,
214)
215
216# Platform-mc configuration parameters
217
218## Sensor Polling Options
219option(
220    'sensor-polling-time',
221    type: 'integer',
222    min: 1,
223    max: 10000,
224    description: '''The configured timeout in milliseconds of the common sensor
225                    polling timer of each terminus which will trigger the
226                    terminus sensor reading task. The task will check
227                    whether the sensor in the terminus sensors list need to
228                    be updated by comparing the sensor `updateInterval` with the
229                    interval between current timestamp and latest updated
230                    timestamp of the sensor. The task will send
231                    `GetSensorReading` if the sensor need to be updated.''',
232    value: 249,
233)
234
235# Firmware Update configuration parameters
236option(
237    'fw-update-pkg-inotify',
238    type: 'feature',
239    value: 'disabled',
240    description: 'Enable inotify-based firmware update package monitoring',
241)
242