/** @file
CPU Config Block.
Copyright (c) 2019 Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _CPU_CONFIG_H_
#define _CPU_CONFIG_H_
#define CPU_CONFIG_REVISION 3
extern EFI_GUID gCpuConfigGuid;
#pragma pack (push,1)
/**
CPU Configuration Structure.
Revision 1:
- Initial version.
Revision 2:
- Deprecate and move SkipMpInit to CpuConfigLibPreMemConfig.
Revision 3:
- Move DebugInterfaceEnable from CPU_TEST_CONFIG.
**/
typedef struct {
CONFIG_BLOCK_HEADER Header; ///< Config Block Header
/**
Enable or Disable Advanced Encryption Standard (AES) feature.
For some countries, this should be disabled for legal reasons.
- 0: Disable
- 1: Enable
**/
UINT32 AesEnable : 1;
UINT32 SkipMpInit : 1; ///< @deprecated since revision 2. For Fsp only, Silicon Initialization will skip MP Initialization (including BSP) if enabled. For non-FSP, this should always be 0.
UINT32 DebugInterfaceEnable : 1; ///< Enable or Disable processor debug features; 0: Disable; 1: Enable.
UINT32 RsvdBits : 28; ///< Reserved for future use
EFI_PHYSICAL_ADDRESS MicrocodePatchAddress; ///< Pointer to microcode patch that is suitable for this processor.
} CPU_CONFIG;
#pragma pack (pop)
#endif // _CPU_CONFIG_H_