package
1.2.0
Repository: https://github.com/linuxboot/fiano.git
Documentation: pkg.go.dev

# Packages

# Functions

CalculateOffsetFromPhysAddr calculates the offset within an image of the physical address (address to a region mapped from the SPI chip).
CalculatePhysAddrFromOffset calculates the physical address (address to a region mapped from the SPI chip) using an offset withtin an image, relatively to BasePhysAddr.
CalculateTailOffsetFromPhysAddr calculates the offset (towards down, relatively to BasePhysAddr) of the physical address (address to a region mapped from the SPI chip).
EntryDataSegmentCoordinates returns the coordinates of the data segment coordinates associates with the entry.
EntryDataSegmentSize returns the coordinates of the data segment size associates with the entry.
EntryRecalculateHeaders recalculates headers of the entry based on its data.
EntrySACMParseSize parses SACM structure size.
EntrySACMParseSizeFrom parses SACM structure size.
GetEntries returns parsed FIT-entries.
GetEntriesFrom returns parsed FIT-entries.
GetHeadersTableRangeFrom returns the starting and ending indexes of the FIT headers table within the firmware image.
GetPointerCoordinates returns the position of the FIT pointer within the firmware.
GetTable returns the table of FIT entries of the firmware image.
GetTableFrom returns the table of FIT entries of the firmware image.
NewEntry returns a new entry using headers and firmware image.
ParseEntryHeadersFrom parses a single entry headers entry.
ParseSACMData parses SACM entry and returns EntrySACMData.
ParseTable parses a FIT table from `b`.
RegisterEntryType adds a new FIT entry type to the registry of known entry types.

# Constants

ACHeaderVersion0 is version "0.0 – for SINIT ACM before 2017".
ACHeaderVersion3 is version "3.0 – for SINIT ACM of converge of BtG and TXT".
noinspection GoSnakeCaseUsage.
noinspection GoSnakeCaseUsage.
noinspection GoSnakeCaseUsage.
noinspection GoSnakeCaseUsage.
noinspection GoSnakeCaseUsage.
noinspection GoSnakeCaseUsage.
noinspection GoSnakeCaseUsage.
noinspection GoSnakeCaseUsage.
noinspection GoSnakeCaseUsage.
noinspection GoSnakeCaseUsage.
noinspection GoSnakeCaseUsage.
noinspection GoSnakeCaseUsage.
noinspection GoSnakeCaseUsage.
noinspection GoSnakeCaseUsage.

# Structs

EntryBase is the common information for any FIT entry.
EntryBIOSPolicyRecord represents a FIT entry of type "BIOS Policy Record" (0x09).
EntryBIOSStartupModuleEntry represents a FIT entry of type "BIOS Startup Module Entry" (0x07).
EntryBootPolicyManifestRecord represents a FIT entry of type "Boot Policy Manifest" (0x0C).
EntryCSESecureBoot represents a FIT entry of type "CSE Secure Boot" (0x10).
EntryDiagnosticACM represents a FIT entry of type "Diagnostic ACM" (0x03).
EntryFeaturePolicyDeliveryRecord represents a FIT entry of type "Feature Policy Delivery Record" (0x2D).
EntryFITHeaderEntry represents a FIT entry of type "FIT Header Entry" (0x00).
EntryHeaders implements a "FIT Entry Format".
EntryJMPDebugPolicy represents a FIT entry of type "JMP $ Debug Policy" (0x2F).
EntryKeyManifestRecord represents a FIT entry of type "Key Manifest Record" (0x0B).
EntryMicrocodeUpdateEntry represents a FIT entry of type "Microcode Update Entry" (0x01).
EntrySACM represents a FIT entry of type "Startup AC Module Entry" (0x02).
EntrySACMData combines the structure for ACM and the user area.
EntrySACMData0 is the structure for ACM of version 0.0.
EntrySACMData3 is the structure for ACM of version 3.0.
EntrySACMDataCommon is the common part from the beginning of a startup AC module entry of any version.
EntrySkip represents a FIT entry of type "Unused Entry (skip)" (0x7F).
EntryTPMPolicyRecord represents a FIT entry of type "TPM Policy Record" (0x08).
EntryTXTPolicyRecord represents a FIT entry of type "TXT Policy Record" (0x0A).
EntryTXTPolicyRecordDataIndexedIO is a parsed TXT Policy Record entry of version 1.
EntryUnknown represents an unknown FIT entry type.
ErrACMInvalidKeySize means ACM entry has invalid key size.
ErrExpectedFITHeadersMagic means FIT magic string was not found where it was expected.
ErrInvalidTXTPolicyRecordVersion means TXT Policy entry has invalid version.
ErrNotFound literally means "not found".
ErrUnknownACMHeaderVersion means ACM entry has invalid header version.
Uint24 is a 24 bit unsigned little-endian integer value.

# Interfaces

Entry
Entry is the interface common to any FIT entry.
EntryCustomGetDataSegmentSizer is an extension of Entry which overrides the default procedure of calculating the data segment size.
CustomRecalculateHeaderser is an extension of Entry which overrides the default procedure of recalculating EntryHeaders.
EntrySACMDataInterface is the interface of a startup AC module data (of any version).
EntryTXTPolicyRecordDataInterface is a parsed TXT Policy Record entry.
Firmware is an abstraction from (*uefi.UEFI).

# Type aliases

ACChipsetID defines the module release identifier.
ACFlags defines the module-specific flags.
ACModuleHeaderVersion defines module format version: * 0.0 – for SINIT ACM before 2017 * 3.0 – for SINIT ACM of converge of BtG and TXT.
ACModuleSubType defines the subtype of AC module (0 - TXT ACM; 1 - S-ACM).
ACModuleType defines the type of AC module.
ACModuleVendor defines the module vendor identifier.
Address64 is a 64bit address type.
BCDDate is a date in format ("year.month.day").
CodeControl is the authenticated code control flags.
Entries are a slice of multiple parsed FIT entries (headers + data).
EntriesByType is a helper to sort a slice of `Entry`-ies by their type/class.
EntryPoint is the authenticated code entry point offset (bytes).
EntryTXTPolicyRecordDataFlatPointer is a parsed TXT Policy Record entry of version 0.
EntryType is a 7 bit field containing the type code for the component registered in the FIT table.
EntryVersion contains the component's version number in binary coded decimal (BCD) format.
ErrorEntryPoint is the error response entry point offset (bytes).
GDTBasePtr is the GDT base pointer offset (bytes).
GDTLimit is the GDT limit (defines last byte of GDT).
SegSel is the segment selector initializer.
SESVN is the Software Guard Extensions (Secure Enclaves) Security Version Number.
SizeM16 is a size in multiple of 16 bytes (M16).
SizeM4 is a size in multiples of four bytes.
Table is the FIT entry headers table (located by the "FIT Pointer"), without data this headers reference to.
TXTSVN is the TXT Security Version Number.
TypeAndIsChecksumValid combines two fields: * "C_V" -- Checksum Valid bit.