Pci express channel implementation in intelligent platform management interface stack
AssigneeAmerican Megatrends, Inc.
InventorsAnurag Bhatia, Rama Bisa
Life of this patent
Estimating the term…
Abstract
Certain embodiments of the present disclosure are directed to a baseboard management controller (BMC) that includes a PCI express (PCIe) interface controller configured to provide access to a PCIe channel over a PCIe link, and firmware. The firmware includes a PCIe module being configured to access the PCIe channel through the PCIe interface controller and registered as a PCIe function. A software stack of the BMC communicates, through the PCIe module, with a PCIe device over the PCIe channel.
Claims25
A baseboard management controller (BMC), comprising:
- a PCI express (PCIe) interface controller configured to provide access to a PCIe channel over a PCIe link;
- firmware including:
- a PCIe module having a data transfer unit, the data transfer unit being configured to access the PCIe channel through the PCIe interface controller and registered as a PCIe function;
- a software stack implementing a plurality of functions in accordance with IMPI;
- a PCIe driver configured to provide access to the data transfer unit;
- a PCIe library implementing a plurality functions utilizing, through the PCIe driver, the data transfer unit;
- and
- a PCIe handler in communication with the software stack and the PCIe library, wherein a program of the software stack is configured to call the PCIe handler to communicate, through the PCIe library and the PCIe driver, with a PCIe device over the PCIe channel;
- and
- a processor configured to execute the firmware.
A method for utilizing a PCI express (PCIe) interface at a baseboard management controller (BMC), comprising:
- operating a PCIe interface controller at the BMC to provide access to a PCIe channel over a PCIe link;
- configuring a data transfer unit of a PCIe module at the BMC to access the PCIe channel through the PCIe interface controller, and registering the data transfer unit as a PCIe function;
- executing, at a processor of the BMC, a software stack that implements a plurality of functions in accordance with IMPI;
- executing a PCIe driver to provide access to the data transfer unit;
- executing a PCIe library that implements a plurality functions utilizing, through the PCIe driver, the data transfer unit;
- executing a PCIe handler in communication with the software stack and the PCIe library;
- and
- executing a program of the software stack to call the PCIe handler to communicate, through the PCIe library and the PCIe driver, with a PCIe device over the PCIe channel.
A non-transitory computer storage medium having computer-executable instructions stored thereon which, when executed by a processor of a baseboard management controller (BMC), cause the processor to:
- operate a PCIe interface controller, at the BMC, to access a PCIe channel over a PCIe link;
- execute a data transfer unit of a PCIe module, at the BMC, to access the PCIe channel through the PCIe interface controller, and register the data transfer unit as a PCIe function;
- execute a software stack that implements a plurality of functions in accordance with IMPI;
- execute a PCIe driver to access the data transfer unit;
- execute a PCIe library that implements a plurality functions utilizing, through the PCIe driver, the data transfer unit;
- execute a PCIe handler in communication with the software stack and the PCIe library;
- and
- execute a program of the software stack to call the PCIe handler to communicate, through the PCIe library and the PCIe driver, with a PCIe device over the PCIe channel.
Dependencies are inferred from the claim text.