mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-07-09 12:46:17 +09:00
![Simon Glass](/assets/img/avatar_default.png)
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>
33 lines
933 B
Python
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
|