Out-of-Band SMM Firmware Update via BMC Shared Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems require disruptive system or kernel restarts for SMM updates, which incur significant downtime and disruption, and maintaining separate in-band update agents for SMM runtime updates is costly for cloud service providers.
Innovation Solution
Utilizing a Baseboard Management Controller (BMC) to manage SMM updates through an out-of-band channel, employing an enhanced Serial Peripheral Interface (eSPI)-based Memory Mapped BMC Interface (MMBI) protocol for data exchange, enabling seamless SMM updates during host OS runtime without disrupting the operating system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional SMM update methods are used requiring system reset, then SMM code can be updated, but system downtime and workload disruption occur
Solution Approach 1:
The system performs preliminary actions by staging the SMM update image in a reserved buffer memory region before the actual update is needed. The BMC downloads and prepares the update image in advance, so when the update is triggered, it can be applied immediately without requiring system reset or causing downtime. This preliminary preparation resolves the contradiction by having the update ready beforehand.
Solution Approach 2:
The Baseboard Management Controller (BMC) acts as an intermediary between the external update source and the SMM firmware. The BMC handles the download, validation, and staging of update images through out-of-band channels, allowing SMM updates to be applied without involving the host OS or causing system disruption. This intermediary mechanism enables updates without the traditional system reset requirement.
2Ease of operation
If in-band update agents are maintained for SMM runtime update, then runtime updates are possible, but extra cost is incurred for CSP business model
Solution Approach 1:
The update management functionality is extracted from the host OS and relocated to the BMC, which operates independently through out-of-band channels. By removing the need for in-band update agents in the OS, the system eliminates the associated costs and complexity while maintaining runtime update capability. The BMC handles all update operations without requiring OS involvement.
3Reliability
If configuration registers are protected by SMM privileges, then security is improved, but OS enabling effort and kernel changes are required
Solution Approach 1:
The BMC serves as an intermediary that can directly program protected configuration registers through SMM interfaces without requiring OS kernel changes. By using out-of-band SMM channels, the system maintains strong security protection on configuration registers while eliminating the need for complex OS enabling efforts or kernel modifications.
Data Source
AI summary
Systems and methods to support system management mode (SMM) update and telemetry in runtime for bare metal deployments. During runtime operation of a host operating system on a bare metal platform having a management controller and including a processing unit on which the host operating system (OS) and host BIOS are executed, an out-of-band runtime update is performed to update secure execution mode (e.g., SMM) runtime firmware for the bare metal platform using an out-of-band channel comprising an interrupt driven, shared memory-based data exchange channel between the management controller and the host BIOS. This enables secure execution mode runtime firmware to be updated without during runtime without having to reboot the platform or restart the OS kernel. The out-of-band channel also supports exchange of telemetry data logged by the host BIOS during the runtime update with the management controller.


