xref: /openbmc/pldm/meson.options (revision 9b402600ea4286a01b7eac313ecd98c7f6077d30)
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: 10,
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
131# Bios Attributes option
132option(
133    'system-specific-bios-json',
134    type: 'feature',
135    value: 'disabled',
136    description: 'Support for different set of bios attributes for different types of systems',
137)
138
139# PLDM Soft Power off options
140option(
141    'softoff',
142    type: 'feature',
143    value: 'enabled',
144    description: 'Build soft power off application',
145)
146
147option(
148    'softoff-timeout-seconds',
149    type: 'integer',
150    value: 7200,
151    description: 'softoff: Time to wait for host to gracefully shutdown',
152)
153
154# Vendor Specific Options
155
156## OEM IBM Options
157option(
158    'oem-ibm',
159    type: 'feature',
160    value: 'enabled',
161    description: 'Enable IBM OEM PLDM',
162)
163
164option(
165    'oem-ibm-dma-maxsize',
166    type: 'integer',
167    min: 4096,
168    max: 16773120,
169    value: 8384512,
170    description: 'OEM-IBM: max DMA size',
171)
172
173
174## OEM AMPERE Options
175option(
176    'oem-ampere',
177    type: 'feature',
178    description: 'Enable AMPERE OEM PLDM',
179    value: 'enabled',
180)
181
182## Default Sensor Update Interval Options
183option(
184    'default-sensor-update-interval',
185    type: 'integer',
186    min: 1,
187    max: 4294967295,
188    description: '''The default sensor polling interval in milliseconds.
189                    The value will be used when the internal is not configured
190                    in the PLDM sensor PDRs use `updateInterval` field. `pldmd`
191                    will send `GetSensorReading` to get the PLDM sensor values
192                    of the monitoring terminus after each configured
193                    interval.''',
194    value: 999,
195)
196
197# Platform-mc configuration parameters
198
199## Sensor Polling Options
200option(
201    'sensor-polling-time',
202    type: 'integer',
203    min: 1,
204    max: 10000,
205    description: '''The configured timeout in milliseconds of the common sensor
206                    polling timer of each terminus which will trigger the
207                    terminus sensor reading task. The task will check
208                    whether the sensor in the terminus sensors list need to
209                    be updated by comparing the sensor `updateInterval` with the
210                    interval between current timestamp and latest updated
211                    timestamp of the sensor. The task will send
212                    `GetSensorReading` if the sensor need to be updated.''',
213    value: 249,
214)
215