xref: /openbmc/pldm/meson.options (revision 90f28d7b)
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## Default Sensor Update Interval Options
179option(
180    'default-sensor-update-interval',
181    type: 'integer',
182    min: 1,
183    max: 4294967295,
184    description: '''The default sensor polling interval in milliseconds.
185                    The value will be used when the internal is not configured
186                    in the PLDM sensor PDRs use `updateInterval` field. `pldmd`
187                    will send `GetSensorReading` to get the PLDM sensor values
188                    of the monitoring terminus after each configured
189                    interval.''',
190    value: 999
191)
192
193# Platform-mc configuration parameters
194
195## Sensor Polling Options
196option(
197    'sensor-polling-time',
198    type: 'integer',
199    min: 1,
200    max: 10000,
201    description: '''The configured timeout in milliseconds of the common sensor
202                    polling timer of each terminus which will trigger the
203                    terminus sensor reading task. The task will check
204                    whether the sensor in the terminus sensors list need to
205                    be updated by comparing the sensor `updateInterval` with the
206                    interval between current timestamp and latest updated
207                    timestamp of the sensor. The task will send
208                    `GetSensorReading` if the sensor need to be updated.''',
209    value: 249
210)
211