Documentation
¶
Overview ¶
Package fsp implements FSP info header parsing
Index ¶
Constants ¶
const ( // size of the shared part of the header across FSP spec revisions FixedInfoHeaderLength = 12 HeaderV3Length = 72 HeaderV4Length = 72 HeaderV5Length = 76 HeaderV6Length = 80 // FSP 2.0 CurrentSpecVersion = SpecVersion(0x20) HeaderMinRevision = 3 HeaderMaxRevision = 6 // FSP 3.0 UnsupportedSpecVersion = SpecVersion(0x30) )
constants from the FSP 2.0 spec
Variables ¶
var (
Signature = [4]byte{'F', 'S', 'P', 'H'}
)
values from the FSP 2.0 spec
Functions ¶
This section is empty.
Types ¶
type CommonInfoHeader ¶ added in v1.2.0
type CommonInfoHeader struct {
Signature [4]byte
HeaderLength uint32
SpecVersion SpecVersion
HeaderRevision uint8
ImageRevision ImageRevision
ImageID [8]byte
ImageSize uint32
ImageBase uint32
ImageAttribute ImageAttribute
ComponentAttribute ComponentAttribute
CfgRegionOffset uint32
CfgRegionSize uint32
TempRAMInitEntryOffset uint32
NotifyPhaseEntryOffset uint32
FSPMemoryInitEntryOffset uint32
TempRAMExitEntryOffset uint32
FSPSiliconInitEntryOffset uint32
FspMultiPhaseSiInitEntryOffset uint32
ExtendedImageRevision uint16
}
CommonInfoHeader represents the FSP_INFO_HEADER structure revision independent
func NewInfoHeader ¶
func NewInfoHeader(b []byte) (*CommonInfoHeader, error)
NewInfoHeader creates an CommonInfoHeader from a byte buffer.
func (CommonInfoHeader) Summary ¶ added in v1.2.0
func (ih CommonInfoHeader) Summary() string
Summary prints a multi-line summary of the header's content.
type ComponentAttribute ¶
type ComponentAttribute uint16
ComponentAttribute represents the component attribute.
func (ComponentAttribute) IsDebugBuild ¶
func (ca ComponentAttribute) IsDebugBuild() bool
IsDebugBuild returns true if the FSP build is a debug build, and false if it's a release build.
func (ComponentAttribute) IsTestRelease ¶
func (ca ComponentAttribute) IsTestRelease() bool
IsTestRelease returns true if the release is a test release, and false if it's an official release.
func (ComponentAttribute) String ¶
func (ca ComponentAttribute) String() string
func (ComponentAttribute) Type ¶
func (ca ComponentAttribute) Type() Type
Type returns the FSP type.
type FixedInfoHeader ¶
type FixedInfoHeader struct {
Signature [4]byte
HeaderLength uint32
Reserved1 [2]uint8
SpecVersion SpecVersion
HeaderRevision uint8
}
FixedInfoHeader is the common header among the various revisions of the FSP info header.
type ImageAttribute ¶
type ImageAttribute uint16
ImageAttribute represents the image attributes.
func (ImageAttribute) IsDispatchModeSupported ¶ added in v1.2.0
func (ia ImageAttribute) IsDispatchModeSupported() bool
IsDispatchModeSupported returns true if FSP supports Dispatch mode.
func (ImageAttribute) IsGraphicsDisplaySupported ¶
func (ia ImageAttribute) IsGraphicsDisplaySupported() bool
IsGraphicsDisplaySupported returns true if FSP supports enabling graphics display.
func (ImageAttribute) String ¶
func (ia ImageAttribute) String() string
type ImageRevision ¶
type ImageRevision uint64
ImageRevision is the image revision field of the FSP info header.
func DecodeImageRevision ¶ added in v1.2.0
func DecodeImageRevision(HeaderRevision uint8, Revision uint32, ExtendedRevision uint16) ImageRevision
func (ImageRevision) String ¶
func (ir ImageRevision) String() string
type InfoHeaderRev3 ¶
type InfoHeaderRev3 struct {
FixedInfoHeader
ImageRevisionLowBytes uint32
ImageID [8]byte
ImageSize uint32
ImageBase uint32
ImageAttribute ImageAttribute
ComponentAttribute ComponentAttribute
CfgRegionOffset uint32
CfgRegionSize uint32
Reserved2 [4]byte
TempRAMInitEntryOffset uint32
Reserved3 [4]byte
NotifyPhaseEntryOffset uint32
FSPMemoryInitEntryOffset uint32
TempRAMExitEntryOffset uint32
FSPSiliconInitEntryOffset uint32
}
InfoHeaderRev3 represents the FSP_INFO_HEADER structure revision 3 + 4 (FSP 2.0) as defined by Intel.
type InfoHeaderRev5 ¶ added in v1.2.0
type InfoHeaderRev5 struct {
InfoHeaderRev3
FspMultiPhaseSiInitEntryOffset uint32
}
InfoHeaderRev5 represents the FSP_INFO_HEADER structure revision 5 (FSP 2.0) as defined by Intel.
type InfoHeaderRev6 ¶ added in v1.2.0
type InfoHeaderRev6 struct {
InfoHeaderRev5
ExtendedImageRevision uint16
Reserved4 uint16
}
InfoHeaderRev6 represents the FSP_INFO_HEADER structure revision 6 (FSP 2.0) as defined by Intel.
type SpecVersion ¶
type SpecVersion uint8
SpecVersion represents the spec version as a packed BCD two-digit, dot-separated unsigned integer.
func (SpecVersion) String ¶
func (sv SpecVersion) String() string