gEfiCpuTokenSpaceGuid.PcdCpuHotPlugDataAddress|0
gEfiCpuTokenSpaceGuid.PcdCpuCallbackSignal|0
gEfiCpuTokenSpaceGuid.PcdCpuConfigContextBuffer|0
+ gEfiVLVTokenSpaceGuid.PcdCpuLockBoxDataAddress|0
+ gEfiVLVTokenSpaceGuid.PcdCpuSmramCpuDataAddress|0
+ gEfiVLVTokenSpaceGuid.PcdCpuLockBoxSize|0
[Components.IA32]
gEfiCpuTokenSpaceGuid.PcdCpuHotPlugDataAddress|0
gEfiCpuTokenSpaceGuid.PcdCpuCallbackSignal|0
gEfiCpuTokenSpaceGuid.PcdCpuConfigContextBuffer|0
+ gEfiVLVTokenSpaceGuid.PcdCpuLockBoxDataAddress|0
+ gEfiVLVTokenSpaceGuid.PcdCpuSmramCpuDataAddress|0
+ gEfiVLVTokenSpaceGuid.PcdCpuLockBoxSize|0
[Components.IA32]
gEfiCpuTokenSpaceGuid.PcdCpuHotPlugDataAddress|0
gEfiCpuTokenSpaceGuid.PcdCpuCallbackSignal|0
gEfiCpuTokenSpaceGuid.PcdCpuConfigContextBuffer|0
+ gEfiVLVTokenSpaceGuid.PcdCpuLockBoxDataAddress|0
+ gEfiVLVTokenSpaceGuid.PcdCpuSmramCpuDataAddress|0
+ gEfiVLVTokenSpaceGuid.PcdCpuLockBoxSize|0
[Components.IA32]
\r
This driver is for ECP platforms.\r
\r
- Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>\r
\r\r
This program and the accompanying materials are licensed and made available under\r\r
the terms and conditions of the BSD License that accompanies this distribution. \r\r
#include <Protocol/SmmSwDispatch.h>\r
#include <Protocol/SmmReadyToLock.h>\r
#include <Protocol/SmmControl.h>\r
+#include <Guid/Vlv2DeviceRefCodePkgTokenSpace.h>\r
\r
#define SMM_FROM_SMBASE_DRIVER 0x55\r
#define SMM_FROM_CPU_DRIVER_SAVE_INFO 0x81\r
IN EFI_SMM_SW_DISPATCH_CONTEXT *DispatchContext\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT64 VarData[3];\r
- UINTN VarSize;\r
-\r
ASSERT (DispatchContext != NULL);\r
ASSERT (DispatchContext->SwSmiInputValue == SMM_FROM_SMBASE_DRIVER);\r
\r
if (!mLocked && IoRead8 (mSmiDataRegister) == SMM_FROM_CPU_DRIVER_SAVE_INFO) {\r
- VarSize = sizeof (VarData);\r
- Status = gRT->GetVariable (\r
- L"SmramCpuNvs",\r
- &mSmramCpuNvsHeaderGuid,\r
- NULL,\r
- &VarSize,\r
- VarData\r
- );\r
- if (!EFI_ERROR (Status) && VarSize == sizeof (VarData)) {\r
CopyMem (\r
- (VOID *)(UINTN)(VarData[0]),\r
- (VOID *)(UINTN)(VarData[1]),\r
- (UINTN)(VarData[2])\r
+ (VOID *)(UINTN)(PcdGetEx64 (&gEfiVLVTokenSpaceGuid, PcdCpuLockBoxDataAddress)),\r
+ (VOID *)(UINTN)(PcdGetEx64 (&gEfiVLVTokenSpaceGuid, PcdCpuSmramCpuDataAddress)),\r
+ (UINTN)(PcdGetEx64 (&gEfiVLVTokenSpaceGuid, PcdCpuLockBoxSize))\r
);\r
- }\r
}\r
}\r
\r
#\r
# A helper driver to save information to SMRAM after SMRR is enabled.\r
#\r
-# Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>\r
# \r\r
# This program and the accompanying materials are licensed and made available under\r\r
# the terms and conditions of the BSD License that accompanies this distribution. \r\r
[Packages]\r
MdePkg/MdePkg.dec\r
IntelFrameworkPkg/IntelFrameworkPkg.dec\r
+ Vlv2DeviceRefCodePkg/Vlv2DeviceRefCodePkg.dec\r
\r
[LibraryClasses]\r
UefiDriverEntryPoint\r
gEfiSmmControlProtocolGuid ## CONSUMED\r
gEfiSmmReadyToLockProtocolGuid ## CONSUMED\r
\r
+[Pcd.common]\r
+ gEfiVLVTokenSpaceGuid.PcdCpuLockBoxDataAddress\r
+ gEfiVLVTokenSpaceGuid.PcdCpuSmramCpuDataAddress\r
+ gEfiVLVTokenSpaceGuid.PcdCpuLockBoxSize\r
+ \r
[Depex]\r
gEfiSmmSwDispatchProtocolGuid AND\r
gEfiSmmControlProtocolGuid\r