The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
The Baseboard Management Controller (BMC) provides the interface to the System Event Log (SEL). The SEL can be accessed from the system side as well as from other external interfaces. The BMC uses a message handler to route messages between the different interfaces. It also monitors and manages the system board, including temperatures and voltages.
The SEL is a nonvolatile repository for system events. The SEL device is separate from the event receiver device and accepts commands to manage the contents.
This section includes the following topics:
The SEL messages are logged as a 16 byte string that contains the information about the change that triggered the message.
The Sensor Initialization Agent is not a logical device, but a collection of functions and services specific to handling SDR information. The Sensor Initialization Agent works directly with the content of SDRs, in particular, with the sensor data records and the device locator records.
The agent uses the SDR information for sensor and IPMB device initialization during system startup. The agent interprets sensor data records and is directed by the init required fields to load thresholds to sensors that have the threshold initialization required bit set in the SDR records. Other bits in the record direct the agent to enable sensors and devices that come up with sensors, events, or both disabled.
The agent function runs at system power-up and at any system hard resets. We recommend that you run the agent function when the BMC first receives standby power.
In systems that implement power management, the system management software takes additional steps to restore intermediate settings after the system has powered up.
The Sensor Data Record (SDR) device provides the interface to the sensor data records. A set of commands store and retrieve sensor data records. The SDR device provides a set of commands for discovering, configuring, and accessing sensors.
This section includes the following topics:
The SDR repository holds sensor, device locator, and entity association records for all sensors in the platform management subsystem. The BMC provides this interface to the SDR repository. The sensor data records can be accessed by using SDR commands.
There are two SDR repository implementations: modal and nonmodal.
A modal SDR repository is only updated when the controller is in SDR repository update mode. SDR information is kept in nonvolatile storage devices. Lengthy write operations during update can be required, which can interfere with other controller operations. For example, the SDR repository can be stored in a flash device that also holds a portion of the management controller code. A modal SDR repository implementation allows the functions associated with that code to be temporarily unavailable during the update process.
A nonmodal SDR repository can be written to at any time. Writing to the SDR does not impact the operation of other commands in the management controller.
Event messages are special messages sent to management controllers when they detect significant or critical system management events. This includes messages for events such as temperature threshold exceeded, voltage threshold exceeded, power fault, and so on. The device generating an event message notifies the system by sending the message to the event receiver device.
Messages from the event receiver device are directly written into the system event log. The appropriate Add SEL Entry command is sent directly to the SEL device.
SEL, SDR, and event commands are designed so that the devices that implement those command sets are isolated from the contents of the message. The devices do not interpret the messages. The event receiver device receives and routes event messages. The SEL devices retrieve and store log entries. The SDR devices retrieve and store sensor data records.
This section includes the following topics:
This command returns the number of entries in the SEL, the SEL command version, and the timestamp for the most recent entry and delete or clear.
This command returns the number of possible allocation units, the amount of usable free space (in allocation units), the allocation unit size (in bytes), and the size of the largest contiguous free region (in allocation units). The allocation unit size is the number of bytes in which storage is allocated. For example, if a 16 byte record is to be added, and the SEL has a 32 byte allocation unit size, the record takes up 32 bytes of storage.
This command sets the present owner of the SEL, as identified by the software ID or by the requester slave address from the command. The reservation process provides a limited amount of protection at repository access from the Intelligent Platform Management Interface (IPMB) when records are being deleted or incrementally read.
This command retrieves entries from the SEL. The record data field in the response returns the 16 bytes of data from the SEL event record.
This command enables the BIOS to add records to the system event log. Normally, the SEL device and the event receiver service are incorporated into the same management controller. In this case, BIOS or the system SMI handler adds its own events to the SEL by formatting an event message and sending it to the SEL device rather than by using this command.
This command is a version of the Add SEL Entry command. It allows the record to be incrementally added to the SEL. This command must be preceded by a Reserve SEL command. The first partial add must be to offset 0000h, and subsequent partial adds must be done sequentially, with no gaps or overlap between the adds.
This command erases the SEL contents. This process can take several seconds, based on the type of storage device. The command also shows the status of the erasure.
This command returns the time from the SEL device,which uses it for event timestamps.
This command initializes the time setting in the SEL device, which uses it for event timestamps.
This command allows remote software to know whether new information has been added to machine check architecture (MCA) log. The MCA log is a storage area that can be implemented in Intel Itanium-based computer systems and holds information from an MCA handler running from system firmware.
This command can be used by system software or firmware to set the status returned by the Get Auxiliary Log Status command. Some implementations mght use a private mechanism to set this status, in which case this command can not be provided even if the Get Auxiliary Log Status command is provided.
The following commands control the SDR repository device actions:
This command returns the SDR command version for the SDR repository. It also returns a timestamp for the last add, delete, or clear commands.
This command returns the number of possible allocation units, the amount of usable free space (in allocation units), the allocation unit size (in bytes), and the size of the largest contiguous free region (in allocation units). The allocation unit size is the number of bytes in which storage is allocated. For example, if a 20 byte record is to be added, and the SDR repository has a 16 byte allocation unit size, then the record would take up 32 bytes of storage.
This command sets the present owner of the repository, as identified by the software ID or the requester slave address from the command. The reservation process provides a limited amount of protection on repository access from the IPMB when records are being deleted or incrementally read.
This command returns the sensor record specified by the record ID. The command also accepts a byte range specification that allows a selected portion of the record to be retrieved (incremental read). The Reserve SDR Repository command must be issued first for an incremental read to an offset other than 0000h. (The Get SDR Repository Info command should be used to verify the version of the SDR repository before sending other SDR repository commands. The command format and operation could change between versions.)
This command adds the specified sensor record to the SDR repository and returns its record ID. The data passed in the request must contain all of the SDR data.
This command is a version of the Add SDR command that allows the record to be incrementally added to the repository. This command must be preceded by a Reserve SDR Repository command. The first partial add must be to offset 0000h, and partial adds must be done sequentially, with no gaps or overlap between the adds.
This command deletes the sensor record specified by record ID. The requester ID and the reservation ID must also match the owner of the SDR repository.
This command clears all records from the SDR repository and reinitializes the SDR repository subsystem. The requestor ID and reservation ID information must match the present owner of the SDR repository. We recommend that this command not be used within your utilities and system management software.
This command returns the time setting from the SDR repository device, which the SDR repository devices uses for tracking when changes to the SDR repository are made.
This command initializes the time setting in the SDR repository device, which the SDR repository devices uses for tracking when changes to the SDR repository are made.
This command enters a mode that allows a subset of normal commands. Available commands are Get Device ID, Get SDR, Add SDR, Partial Add SDR and Clear SDR Repository.
This command exits the SDR repository update mode and restores normal use of all commands.
This command runs the initialization agent and can also check the status of the agent.
The following commands can be executed on the event receiver device:
This is a global command to tell a controller where to send event messages. The slave address and LUN of the event receiver must be provided. A value FFh for the event receiver slave address disables the generation of event messages.
This is a global command to retrieve the present setting for the event receiver slave address and LUN.
This command is a request for the BMC to process event data that the command contains. The data is logged to the SEL.
Examples that are reported to the SEL Repository are provided here. The raw record contains 16 bytes and are dislayed in the examples as hexadecimal values. Following the arrow is the translation of the data. The |-pipes are separators for ease of reading the translation.
The following topics are included:
These are examples of presence assertions. This shows a boot-up process.
These are examples of LED color changes written into the SEL Repository.
These are examples of SEL messages when voltage thresholds are crossed.
These are examples of SEL messages when temperature thresholds are crossed.