blob: bf08324d0b533169442d4e28b48139e261b1ce03 [file] [log] [blame]
# PLDM daemon options
option(
'tests',
type: 'feature',
value: 'enabled',
description: 'Build tests'
)
option(
'utilities',
type: 'feature',
value: 'enabled',
description: 'Enable debug utilities'
)
option(
'libpldmresponder',
type: 'feature',
value: 'enabled',
description: 'Enable libpldmresponder'
)
option(
'systemd',
type: 'feature',
value: 'enabled',
description: 'Include systemd support'
)
option(
'transport-implementation',
type: 'combo',
choices: ['mctp-demux', 'af-mctp'],
description: 'transport via af-mctp or mctp-demux'
)
# As per PLDM spec DSP0240 version 1.1.0, in Timing Specification for PLDM messages (Table 6),
# the instance ID for a given response will expire and become reusable if a response has not been
# received within a maximum of 6 seconds after a request is sent. By setting the dbus timeout
# value to 5 seconds we ensure that PLDM does not wait for a response from a dbus call even after
# the instance ID has expired. If the option is set to 5 seconds, any dbus call originated from
# PLDM daemon will timeout after 5 seconds.
option(
'dbus-timeout-value',
type: 'integer',
min: 3,
max: 10,
value: 5,
description: '''The amount of time pldm waits to get a response for a dbus
message before timing out'''
)
option(
'heartbeat-timeout-seconds',
type: 'integer',
value: 120,
description: '''The amount of time host waits for BMC to respond to pings
from host, as part of host-bmc surveillance'''
)
# Flight Recorder for PLDM Daemon
option(
'flightrecorder-max-entries',
type:'integer',
min:0,
max:30,
value: 10,
description: '''The max number of pldm messages that can be stored in the
recorder, this feature will be disabled if it is set to 0'''
)
# PLDM Daemon Terminus options
option(
'terminus-id',
type:'integer',
min:0,
max: 255,
value:1,
description: '''The terminus id value of the device that is running this
pldm stack'''
)
option(
'terminus-handle',
type:'integer',
min:0,
max:65535,
value:1,
description: '''The terminus handle value of the device that is running this
pldm stack'''
)
# Timing specification options for PLDM messages
option(
'number-of-request-retries',
type: 'integer',
min: 2,
max: 30,
value: 2,
description: '''The number of times a requester is obligated to retry a
request'''
)
option(
'instance-id-expiration-interval',
type: 'integer',
min: 5,
max: 6,
value: 5,
description: 'Instance ID expiration interval in seconds'
)
# Default response-time-out set to 2 seconds to facilitate a minimum retry of
# the request of 2.
option(
'response-time-out',
type: 'integer',
min: 300,
max: 4800,
value: 2000,
description: '''The amount of time a requester has to wait for a response
message in milliseconds'''
)
# Firmware update configuration parameters
option(
'maximum-transfer-size',
type: 'integer',
min: 16,
max: 4294967295,
value: 4096,
description: '''Maximum size in bytes of the variable payload allowed to be
requested by the FD, via RequestFirmwareData command'''
)
# Bios Attributes option
option(
'system-specific-bios-json',
type : 'feature',
value: 'disabled',
description : 'Support for different set of bios attributes for different types of systems'
)
# PLDM Soft Power off options
option(
'softoff',
type: 'feature',
value: 'enabled',
description: 'Build soft power off application'
)
option(
'softoff-timeout-seconds',
type: 'integer',
value: 7200,
description: 'softoff: Time to wait for host to gracefully shutdown'
)
# Vendor Specific Options
## OEM IBM Options
option(
'oem-ibm',
type: 'feature',
value: 'enabled',
description: 'Enable IBM OEM PLDM'
)
option(
'oem-ibm-dma-maxsize',
type: 'integer',
min:4096,
max: 16773120,
value: 8384512,
description: 'OEM-IBM: max DMA size'
)
## OEM AMPERE Options
option(
'oem-ampere',
type: 'feature',
description: 'Enable AMPERE OEM PLDM',
value: 'enabled',
)
## Default Sensor Update Interval Options
option(
'default-sensor-update-interval',
type: 'integer',
min: 1,
max: 4294967295,
description: '''The default sensor polling interval in milliseconds.
The value will be used when the internal is not configured
in the PLDM sensor PDRs use `updateInterval` field. `pldmd`
will send `GetSensorReading` to get the PLDM sensor values
of the monitoring terminus after each configured
interval.''',
value: 999
)
# Platform-mc configuration parameters
## Sensor Polling Options
option(
'sensor-polling-time',
type: 'integer',
min: 1,
max: 10000,
description: '''The configured timeout in milliseconds of the common sensor
polling timer of each terminus which will trigger the
terminus sensor reading task. The task will check
whether the sensor in the terminus sensors list need to
be updated by comparing the sensor `updateInterval` with the
interval between current timestamp and latest updated
timestamp of the sensor. The task will send
`GetSensorReading` if the sensor need to be updated.''',
value: 249
)