u-boot-brain/tools/binman/etype/intel_fit.py
Simon Glass 5af1207ec9 binman: Add support for Intel FIT
A Firmware Image Table (FIT) is a data structure defined by Intel which
contains information about various things needed by the SoC, such as
microcode.

Add support for this entry as well as the pointer to it. The contents of
FIT are fixed at present. Future work is needed to support adding
microcode, etc.

Signed-off-by: Simon Glass <sjg@chromium.org>
2019-10-15 08:40:02 -06:00

33 lines
933 B
Python

# SPDX-License-Identifier: GPL-2.0+
# Copyright (c) 2016 Google, Inc
# Written by Simon Glass <sjg@chromium.org>
#
# Entry-type module for Intel Firmware Image Table
#
import struct
from blob import Entry_blob
class Entry_intel_fit(Entry_blob):
"""Intel Firmware Image Table (FIT)
This entry contains a dummy FIT as required by recent Intel CPUs. The FIT
contains information about the firmware and microcode available in the
image.
At present binman only supports a basic FIT with no microcode.
"""
def __init__(self, section, etype, node):
Entry_blob.__init__(self, section, etype, node)
def ReadNode(self):
"""Force 16-byte alignment as required by FIT pointer"""
Entry_blob.ReadNode(self)
self.align = 16
def ObtainContents(self):
data = struct.pack('<8sIHBB', '_FIT_ ', 1, 0x100, 0x80, 0x7d)
self.SetContents(data)
return True