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