]> git.proxmox.com Git - mirror_edk2.git/blame - Vlv2TbltDevicePkg/PlatformCpuInfoDxe/PlatformCpuInfoDxe.c
Vlv2TbltDevicePkg: Build full UEFI Shell from sources
[mirror_edk2.git] / Vlv2TbltDevicePkg / PlatformCpuInfoDxe / PlatformCpuInfoDxe.c
CommitLineData
3cbfba02
DW
1/** @file\r
2\r
3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>\r
4 \r\r
9dc8036d
MK
5 SPDX-License-Identifier: BSD-2-Clause-Patent\r
6\r
3cbfba02
DW
7 \r\r
8\r
9Module Name:\r
10\r
11 PlatformCpuInfoDxe.c\r
12\r
13Abstract:\r
14 Platform Cpu Info driver to public platform related HOB data\r
15\r
16--*/\r
17\r
18#include "PlatformCpuInfoDxe.h"\r
19\r
20CHAR16 EfiPlatformCpuInfoVariable[] = L"PlatformCpuInfo";\r
21\r
22EFI_STATUS\r
23EFIAPI\r
24PlatformCpuInfoInit (\r
25 IN EFI_HANDLE ImageHandle,\r
26 IN EFI_SYSTEM_TABLE *SystemTable\r
27 )\r
28{\r
29 EFI_STATUS Status;\r
30 EFI_PLATFORM_CPU_INFO *PlatformCpuInfoPtr;\r
31 EFI_PEI_HOB_POINTERS GuidHob;\r
32\r
33 //\r
34 // Get Platform Cpu Info HOB\r
35 //\r
36 GuidHob.Raw = GetHobList ();\r
37 while ((GuidHob.Raw = GetNextGuidHob (&gEfiPlatformCpuInfoGuid, GuidHob.Raw)) != NULL) {\r
38 PlatformCpuInfoPtr = GET_GUID_HOB_DATA (GuidHob.Guid);\r
39 GuidHob.Raw = GET_NEXT_HOB (GuidHob);\r
40\r
41 //\r
42 // Write the Platform CPU Info to volatile memory for runtime purposes.\r
43 // This must be done in its own driver because SetVariable protocol is dependent on chipset,\r
44 // which is dependent on CpuIo, PlatformInfo, and Metronome.\r
45 //\r
46 Status = gRT->SetVariable(\r
47 EfiPlatformCpuInfoVariable,\r
48 &gEfiVlv2VariableGuid,\r
49 EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
50 sizeof(EFI_PLATFORM_CPU_INFO),\r
51 PlatformCpuInfoPtr\r
52 );\r
53 if (EFI_ERROR(Status)) {\r
54 return Status;\r
55 }\r
56 }\r
57\r
58 return EFI_SUCCESS;\r
59}\r
60\r