/** @file
|
|
@copyright
|
Copyright 2011 - 2021 Intel Corporation.
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
**/
|
|
#ifndef _BIOS_INFO_H_
|
#define _BIOS_INFO_H_
|
|
#undef BIOS_INFO_STRUCT_SIZE
|
#define BIOS_INFO_STRUCT_SIZE 4
|
//
|
// BIOS INFO data structure
|
// This is self contained data structure for BIOS info for TXT
|
//
|
#pragma pack (1)
|
|
#define BIOS_INFO_SIGNATURE SIGNATURE_64 ('$', 'B', 'I', 'O', 'S', 'I', 'F', '$')
|
typedef struct {
|
UINT64 Signature;
|
UINT32 EntryCount;
|
UINT32 Reserved;
|
} BIOS_INFO_HEADER;
|
|
//
|
// BIOS_INFO_STRUCT attributes
|
// bits[0:3] means general attributes
|
// bits[4:7] means type specific attributes
|
//
|
#define BIOS_INFO_STRUCT_ATTRIBUTE_GENERAL_EXCLUDE_FROM_FIT 0x01
|
#define BIOS_INFO_STRUCT_ATTRIBUTE_MICROCODE_WHOLE_REGION 0x10
|
#define BIOS_INFO_STRUCT_ATTRIBUTE_BIOS_POST_IBB 0x10
|
#define BIOS_INFO_STRUCT_ATTRIBUTE_BIOS_NON_IBB 0x20
|
|
typedef struct {
|
//
|
// FitTable entry type
|
//
|
UINT8 Type;
|
//
|
// BIOS_INFO_STRUCT attributes
|
//
|
UINT8 Attributes;
|
//
|
// FitTable entry version
|
//
|
UINT16 Version;
|
//
|
// FitTable entry real size
|
//
|
UINT32 Size;
|
//
|
// FitTable entry address
|
//
|
UINT64 Address;
|
} BIOS_INFO_STRUCT;
|
|
typedef struct {
|
BIOS_INFO_HEADER Header;
|
BIOS_INFO_STRUCT Entry[BIOS_INFO_STRUCT_SIZE];
|
} BIOS_INFO;
|
|
#pragma pack ()
|
|
#endif
|