/** @file
Source code file for Report CPU HOB library.
Copyright (c) 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include
#include
#include
#include
/**
Build a HOB for the CPU.
**/
VOID
EFIAPI
ReportCpuHob (
VOID
)
{
UINT8 PhysicalAddressBits;
CPUID_VIR_PHY_ADDRESS_SIZE_EAX AddressSizeEax;
AsmCpuid (CPUID_VIR_PHY_ADDRESS_SIZE, &AddressSizeEax.Uint32, NULL, NULL, NULL);
if (AddressSizeEax.Uint32 >= CPUID_VIR_PHY_ADDRESS_SIZE) {
AsmCpuid (CPUID_VIR_PHY_ADDRESS_SIZE, &AddressSizeEax.Uint32, NULL, NULL, NULL);
PhysicalAddressBits = (UINT8)AddressSizeEax.Bits.PhysicalAddressBits;
} else {
PhysicalAddressBits = 36;
}
///
/// Create a CPU hand-off information
///
BuildCpuHob (PhysicalAddressBits, 16);
}