US-20260127005-A1 - BIOS/BMC INITIALIZATION COMMUNICATION SYSTEM
Abstract
A BIOS/BMC initialization communication system includes a storage device having a controller memory buffer device, a BMC device coupled to the storage device, and a BIOS coupled to the storage device. During initialization operations, the BIOS configures the controller memory buffer device for BIOS/BMC communications, and transmits controller memory buffer device utilization information for the controller memory buffer device to the BMC device. The BIOS may then communicate with the BMC device during initialization operations by providing a BMC command in the controller memory buffer device, determining that the BMC device has provided a BMC response in the controller memory buffer device, and retrieving the BMC response. Similarly, the BMC device may communicate with the BIOS during initialization operations by providing a BIOS command in the controller memory buffer device, determining that the BIOS has provided a BIOS response in the controller memory buffer device, and retrieving the BIOS response.
Inventors
- Sangamesh Koradhanyamath
- Nagaraj Annenavar
- Swapan Kumar Bhakat
- Adithya Mundigemane Shankaranarayana
Assignees
- DELL PRODUCTS L.P.
Dates
- Publication Date
- 20260507
- Application Date
- 20241105
Claims (20)
- 1 . A Basic Input/Output System (BIOS)/Baseboard Management Controller (BMC) initialization communication system, comprising: a storage device that includes a controller memory buffer device; a Baseboard Management Controller (BMC) device that is coupled to the storage device; a Basic Input/Output System (BIOS) that is coupled to the storage device and that is configured, during initialization operations, to: configure the controller memory buffer device for BIOS/BMC communications; transmit controller memory buffer device utilization information for the controller memory buffer device to the BMC device; provide, in the controller memory buffer device, a BMC command; determine that the BMC device has provided a BMC response to the BMC command in the controller memory buffer device; and retrieve, in response to determining that the BMC device has provided the BMC response to the BMC command in the controller memory buffer device, the BMC response.
- 2 . The system of claim 1 , wherein the configuring the controller memory buffer device for BIOS/BMC communications includes: setting a register in the storage device to indicate an intent to use the controller memory buffer device.
- 3 . The system of claim 1 , wherein the BIOS is configured, during the initialization operations, to: retrieve the controller memory buffer device utilization information from the controller memory buffer device.
- 4 . The system of claim 1 , wherein the controller memory buffer device utilization information for the controller memory buffer device is transmitted to the BMC device via an Intelligent Platform Management Interface (IPMI) communication subsystem.
- 5 . The system of claim 1 , wherein the configuring the controller memory buffer device for BIOS/BMC communications includes: configuring the controller memory buffer device with a BIOS/BMC submission queue that is configured to store the BMC request and a BIOS/BMC completion queue that is configured to store the BMC response.
- 6 . The system of claim 1 , wherein the providing the BMC command in the controller memory buffer device includes: providing a BMC command indicator in a header of the controller memory buffer device.
- 7 . The system of claim 1 , wherein the BMC device is configured to: provide, in the controller memory buffer device, a BIOS command; determine that the BIOS has provided a BIOS response to the BIOS command in the controller memory buffer device; and retrieve, in response to determining that the BIOS has provided the BIOS response to the BIOS command in the controller memory buffer device, the BIOS response.
- 8 . An Information Handling System (IHS), comprising: a processing system; and a memory system that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide a Basic Input/Output System (BIOS) engine that is configured, during initialization operations, to: configure, for BIOS/BMC communications, a controller memory buffer device in a storage device that is coupled to the processing system; transmit controller memory buffer device utilization information for the controller memory buffer device to a BMC device that is coupled to the processing system; provide, in the controller memory buffer device, a BMC command; determine that the BMC device has provided a BMC response to the BMC command in the controller memory buffer device; and retrieve, in response to determining that the BMC device has provided the BMC response to the BMC command in the controller memory buffer device, the BMC response.
- 9 . The IHS of claim 8 , wherein the configuring the controller memory buffer device for BIOS/BMC communications includes: setting a register in the storage device to indicate an intent to use the controller memory buffer device.
- 10 . The IHS of claim 8 , wherein the BIOS engine is configured, during the initialization operations, to: retrieve the controller memory buffer device utilization information from the controller memory buffer device.
- 11 . The IHS of claim 8 , wherein the controller memory buffer device utilization information for the controller memory buffer device is transmitted to the BMC device via an Intelligent Platform Management Interface (IPMI) subsystem.
- 12 . The IHS of claim 8 , wherein the configuring the controller memory buffer device for BIOS/BMC communications includes: configuring the controller memory buffer device with a BIOS/BMC submission queue that is configured to store the BMC request and a BIOS/BMC completion queue that is configured to store the BMC response.
- 13 . The IHS of claim 8 , wherein the providing the BMC command in the controller memory buffer device includes: providing a BMC command indicator in a header of the controller memory buffer device.
- 14 . A method for Basic Input/Output System (BIOS)/Baseboard Management Controller (BMC) communication during initialization of a computing device, comprising: configuring, by a Basic Input/Output System (BIOS) during initialization operations, a controller memory buffer device in a storage device for BIOS/BMC communications; transmitting, by the BIOS during the initialization operations, controller memory buffer device utilization information for the controller memory buffer device to a BMC device; providing, by the BIOS in the controller memory buffer device during the initialization operations, a BMC command; determining, by the BIOS during the initialization operations, that the BMC device has provided a BMC response to the BMC command in the controller memory buffer device; and retrieving, by the BIOS during the initialization operations in response to determining that the BMC device has provided the BMC response to the BMC command in the controller memory buffer device, the BMC response.
- 15 . The method of claim 14 , wherein the configuring the controller memory buffer device for BIOS/BMC communications includes: setting a register in the storage device to indicate an intent to use the controller memory buffer device.
- 16 . The method of claim 14 , further comprising: retrieving, by the BIOS during the initialization operations, the controller memory buffer device utilization information from the controller memory buffer device.
- 17 . The method of claim 14 , wherein the controller memory buffer device utilization information for the controller memory buffer device is transmitted to the BMC device via an Intelligent Platform Management Interface (IPMI) subsystem.
- 18 . The method of claim 14 , wherein the configuring the controller memory buffer device for BIOS/BMC communications includes: configuring the controller memory buffer device with a BIOS/BMC submission queue that is configured to store the BMC request and a BIOS/BMC completion queue that is configured to store the BMC response.
- 19 . The method of claim 14 , wherein the providing the BMC command in the controller memory buffer device includes: providing a BMC command indicator in a header of the controller memory buffer device.
- 20 . The method of claim 14 , further comprising: providing, by the BMC device in the controller memory buffer device during the initialization operations, a BIOS command; determining, by the BMC device during the initialization operations, that the BIOS has provided a BIOS response to the BIOS command in the controller memory buffer device; and retrieving, by the BMC device during the initialization operations in response to determining that the BIOS has provided the BIOS response to the BIOS command in the controller memory buffer device, the BIOS response.
Description
BACKGROUND The present disclosure relates generally to information handling systems, and more particularly to communication between a Basic Input/Output System (BIOS) and a Baseboard Management Controller (BMC) device during initialization of an information handlings system. As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems. Information handling systems such as, for example, server devices, often include a Baseboard Management Controller (BMC) such as the integrated DELL® Remote Access Controller (iDRAC) provided in server devices available from DELL® Inc. of Round Rock, Texas, United States. During initialization of such server devices, the BMC may communicate with a Basic Input/Output System (BIOS) in the server device, and conventional BMCs in conventional server devices include a Peripheral Component Interconnect express (PCIe) BMC Interface (PBI) communication subsystem for use in performing such initialization communications. However, PBI communication subsystems suffer from a number of issues. For example, PBI communication subsystems includes a relatively limited memory buffer capacity of 16KB that often requires multiple sequential initialization communication transactions for relatively large data packets, which introduces an initialization communications bottleneck that impacts the time required to initialize the server device (an impact that will increase as the amount of server device platform/system management data communicated during initialization increases). Furthermore, the BMC must be available for its PBI communication subsystems to be used. Further still, PBI communication subsystems are relatively “tightly bound” to their server device platforms (e.g., to the hardware in the BMC), thus requiring the source code of the BIOS to be changed in each server device platform generation in order to allow it to use the PBI communication subsystem. Accordingly, it would be desirable to provide a BIOS/BMC initialization communication system that addresses the issues discussed above. SUMMARY According to one embodiment, an Information Handling System (IHS) includes a processing system; and a memory system that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide a Basic Input/Output System (BIOS) engine that is configured, during initialization operations, to: configure, for BIOS/BMC communications, a controller memory buffer device in a storage device that is coupled to the processing system; transmit controller memory buffer device utilization information for the controller memory buffer device to a BMC device that is coupled to the processing system; provide, in the controller memory buffer device, a BMC command; determine that the BMC device has provided a BMC response to the BMC command in the controller memory buffer device; and retrieve, in response to determining that the BMC device has provided the BMC response to the BMC command in the controller memory buffer device, the BMC response. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic view illustrating an embodiment of an Information Handling System (IHS). FIG. 2 is a schematic view illustrating an embodiment of a computing device that may include the BIOS/BMC initialization communication system of the present disclosure. FIG. 3 is a flow chart illustrating an embodiment of a method for BIOS/BMC communication during initialization of a computing device. FIG. 4 is a schematic view illustrating an embodiment of the computing device of FIG. 2 operating during the method of FIG. 3. FIG. 5 is a schematic view illustrating an embodiment of the computing device of FIG. 2 operating du