blob: 352507294f20e6901385f61945419f6a59d69856 [file] [log] [blame] [edit]
# PLDM daemon options
option(
'tests',
type: 'feature',
value: 'enabled',
description: 'Build tests'
)
option(
'oe-sdk',
type: 'feature',
description: 'Enable OE SDK'
)
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: 0,
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: 6000,
value: 2000,
description: '''The amount of time a requester has to wait for a response
message in milliseconds'''
)
option(
'metrics-dump-period',
type: 'integer',
value: 0,
description: '''The period to dump pldmd metrics in seconds. Zero will
disable this feature'''
)
# 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'''
)
# 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'
)
option(
'sleep-between-get-sensor-reading',
type: 'integer',
min: 0,
max: 1000,
value: 10,
description: '''The amount of time the sensor polling timer should sleep
between the sending GetSensorReading times in
milliseconds'''
)
option(
'poll-sensor-timer-interval',
type: 'integer',
min: 1000,
max: 100000,
value: 1000,
description: '''The interval to restart the timer to poll the PLDm sensors
in milliseconds'''
)
option(
'normal-ras-event-timer',
type: 'integer',
min: 2000,
max: 10000,
value: 5000,
description: '''The amount of time a BMC periodcally poll normal RAS event
in milliseconds'''
)
option(
'critical-ras-event-timer',
type: 'integer',
min: 25,
max: 100,
value: 50,
description: '''The amount of time a BMC periodcally poll critical RAS event
in milliseconds'''
)
option(
'poll-req-event-timer',
type: 'integer',
min: 25,
max: 100,
value: 25,
description: '''The amount of time a BMC send each part in multipart
pollForEventMessage in milliseconds'''
)
option(
'ampere',
type: 'feature',
description: 'Enable AMPERE PLDM'
)
option(
'destroy-unavaliable-sensor',
type: 'feature',
value: 'disabled',
description: 'Destroy unavaliable sensor from DBus'
)
option(
'cper-log-path',
type : 'string',
value : '/var/lib/faultlogs/cper/',
description : 'File system path containing CPER logs'
)
option(
'ampere-pldm-event-handler-app',
type : 'string',
value : '/usr/sbin/ampere_pldm_event_handler.sh',
description: '''Ampere PLDM event handler application to handl PLDM
sensor/platformMessagePoll event'''
)
# Impactless update configuration parameters
option(
'impactless_update_finish_ras_timeout_ms',
type: 'integer',
min: 0,
max: 20000,
value: 6000,
description: '''Timeout to wait for RAS polling completion before entering
quiesce mode in millisecond'''
)
option(
'impactless_update_mpro_recovery_timeout_ms',
type: 'integer',
min: 2000,
max: 120000,
value: 60000,
description: '''Timeout to wait for MPro recovery after acknowledgement of
impactless update in millisecond'''
)
option(
'impactless_update_timer_interval_ms',
type: 'integer',
min: 0,
max: 1000,
value: 100,
description: '''Interval in millisecond used for timers in impactless
update handling'''
)
option(
'firmware-package-staging-dir',
type: 'string',
value: '/tmp/pldm-images',
description: 'Firmware package staging directory for PLDM packages.',
)