The present disclosure relates generally to information handling systems, and more particularly to programming fuses in chipsets used in information handling systems.
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.
Many information handling systems include chipsets such as, for example, the Platform Controller Hub (PCH) available from INTEL® Corporation of Santa Clara, Calif., United States. Such chipsets may include One-Time-Programmable (OTP) Non-Volatile Memory (NVM) and/or other memory subsystems that utilize fuses such as In Field Programmable (IFP) fuses that may be burned during manufacture to provide security information in the chipset (e.g., information associated with a public key such as a hash of a master public key) and/or enable particular features in the system. For example, security information provided in the chipset in such a manner and associated with a public key may be utilized to verify software or firmware (e.g., a Basic Input/Output System (BIOS)) that has been signed with an associated private key. Similarly, features enabled in the information handling system in such a manner may include security features such as, for example, BOOT GUARD available in systems provided by DELL® Inc. of Round Rock, Tex., United States, and PLATFORM TRUST TECHNOLOGY available from INTEL® corporation of Santa Clara, Calif., United States. Providing chipsets with information and enabling system features in such manner provides a root of trust for that information and those features.
Conventional systems provide two methods for programming IFP fuses during manufacture: Automatic End Of Manufacturing (Auto EOM) and Host Embedded Controller Interface (HECI) EOM. Auto EOM provides for the burning of fuses in the chipset automatically upon the initial boot of the system and before the BIOS begins executing. As such, Auto EOM cannot be controlled by the BIOS or any software tool or script. HECI EOM provides for the burning of the fuses in response to a command provided post-boot (e.g., using an SPSManuf Universally Extensible Firmware Interface (UEFI) shell tool or executable version that can be run in an operating system.) Neither of Auto EOM or HECI EOM differentiates between the chipset (e.g., the PCH) or the Central Processing Unit (CPU) installed in the system, which can raise some issues. For example, each of PCH and CPU may be provided in different versions (e.g., a production version (also referred to as a Qualification Sample (QS)) or a pre-production version (also referred to as an Engineering Sample (ES)). The IFP fuse burn operations may differ based on the combination of the PCH and the CPU utilized in a system, and conventional BIOS storage only stores a single set of IFP fuse burn instructions. As such, a manufacturer must determine and provide the appropriate IFP fuse burn instructions in the BIOS storage for use in the IFP fuse burning process, and risks rendering the system unusable (e.g., “bricked”) if the wrong IFP fuse burn profile is utilized.
Accordingly, it would be desirable to provide an improved chipset fuse programming system.