Configuration Files

CHIPSEC configuration maps platform and device identities to register, field, control and BAR definitions. Platform files are stored under chipsec/cfg/<vendor-id>/; reusable definitions are grouped into XML fragments under IP directories. Platform detection selects the platform files, whose device entries refer to those fragments with config.

For example, chipsec/cfg/8086/kbl.xml selects a configuration fragment for the SPI device:

<pci>
   <device name="SPI" bus="0x00" dev="0x1F" fun="5"
               config="SPI.spi0.xml" />
</pci>

The referenced chipsec/cfg/8086/SPI/spi0.xml contains the register and control definitions:

<configuration>
   <registers>
      <register name="BC" type="pcicfg" offset="0xDC" size="4"
                     desc="BIOS Control">
         <field name="BLE" bit="1" size="1" desc="BIOS Lock Enable" />
      </register>
   </registers>
   <controls>
      <control name="BiosLockEnable" register="BC" field="BLE"
                    desc="BIOS Lock Enable" />
   </controls>
</configuration>

The platform XML is parsed for device and other platform configuration sections; register, control and lock definitions belong in referenced configuration fragments. Placing those sections directly in a platform XML does not load them in the current configuration pipeline. Follow a nearby platform and its referenced fragments when adding definitions.

List of Cfg components