intelfit

package module
v0.0.0-...-3728c36 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2019 License: GPL-3.0 Imports: 4 Imported by: 2

README

# intelfit
A minimal golang library to parse the intelfit out of a flashimage.
According to intel:
```
A Firmware Interface Table (FIT) is a data structure inside BIOS flash and consists of multiple entries. Each entry defines the starting address and attributes of different components in the BIOS. FIT resides in the BIOS Flash area and is located by a FIT pointer at physical address (4GB - 40h), refer to Figure below. The FIT is generated at build time, based on the size and location of the firmware components.
```

Documentation

Index

Constants

View Source
const (
	FIT_HEADER FITType = iota
	MICROCODE_UPDATE
	STARTUP_AC_MODULE
	BIOS_STARTUP_MODULE = iota + 0x07
	TPM_POLICY
	BIOS_POLICY
	TXT_POLICY
	KEY_MANIFEST
	BOOT_POLICY
	CSE_SECURE_BOOT         = 0x10
	FEATURE_POLICY_DELIVERY = 0x2D
	JMP_DEBUG               = 0x2F
	OEM_RESERVED_START      = 0x30
	OEM_RESERVED_END        = 0x70
	SKIP                    = 0x7F
)

Variables

This section is empty.

Functions

func ParseFITEntry

func ParseFITEntry(FITReader io.Reader, next *FitEntry, mask uint64)

Types

type FIT

type FIT struct {
	Offset  uint32
	Mask    uint64
	Header  FitHeader
	Entries []FitEntry
}

func ParseFIT

func ParseFIT(firmwareBytes []byte) (*FIT, error)

type FITType

type FITType int

func (FITType) String

func (s FITType) String() string

type FitEntry

type FitEntry struct {
	Address           uint64
	Size              uint32
	Reserved          byte
	Version           uint16
	Type              FITType
	TypeString        string
	ChecksumAvailable bool
	Checksum          byte
}

type FitHeader

type FitHeader struct {
	Signature string
	FitEntry
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL