/** @file\r
\r
- Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>\r
- \r
+ Copyright (c) 2004 - 2016, 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
+ the terms and conditions of the BSD License that accompanies this distribution.\r
+\r
+ The full text of the license may be found at\r
+\r
+ http://opensource.org/licenses/bsd-license.php.\r
\r
- The full text of the license may be found at \r
\r
- http://opensource.org/licenses/bsd-license.php. \r
\r
- \r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
\r
- \r
\r
\r
\r
ACPI Platform Driver\r
\r
\r
---*/\r
+**/\r
\r
#include <PiDxe.h>\r
#include <Protocol/TcgService.h>\r
#include <PchAccess.h>\r
#include <Guid/Vlv2Variable.h>\r
#include <Guid/PlatformCpuInfo.h>\r
+#include <IndustryStandard/WindowsSmmSecurityMitigationTable.h>\r
\r
\r
CHAR16 EfiPlatformCpuInfoVariable[] = L"PlatformCpuInfo";\r
UINT8 TempVal;\r
EFI_ACPI_3_0_IO_APIC_STRUCTURE *IOApicType;\r
EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER *APICTableHeader;\r
+ EFI_ACPI_WSMT_TABLE *WsmtTable;\r
\r
CurrPtr = NULL;\r
EndPtr = NULL;\r
gBS->FreePool (OcurModelStringBuffer);\r
gBS->FreePool (OcurRefDataBlockBuffer);\r
break;\r
+\r
+\r
+ case EFI_ACPI_WINDOWS_SMM_SECURITY_MITIGATION_TABLE_SIGNATURE:\r
+ WsmtTable = (EFI_ACPI_WSMT_TABLE *) Table;\r
+ //\r
+ // Update Microsoft WSMT table Protections flags.\r
+ //\r
+ WsmtTable->ProtectionFlags = ((WsmtTable->ProtectionFlags) | (EFI_WSMT_PROTECTION_FLAGS_FIXED_COMM_BUFFERS | EFI_WSMT_PROTECTION_FLAGS_COMM_BUFFER_NESTED_PTR_PROTECTION ));\r
+ break;\r
+\r
+\r
default:\r
break;\r
}\r
&SetupVarBuffer\r
);\r
ASSERT_EFI_ERROR (Status);\r
- } \r
+ }\r
\r
//\r
// Find the AcpiSupport protocol.\r
mGlobalNvsArea.Area->BatteryChargingSolution = GLOBAL_NVS_DEVICE_DISABLE;\r
mGlobalNvsArea.Area->ISPDevSel = mSystemConfiguration.ISPDevSel;\r
mGlobalNvsArea.Area->LpeEnable = mSystemConfiguration.Lpe;\r
+ mGlobalNvsArea.Area->LpeAudioReportedByDSDT = mSystemConfiguration.LpeAudioReportedByDSDT;\r
\r
if (mSystemConfiguration.ISPEn == 0) {\r
mGlobalNvsArea.Area->ISPDevSel = GLOBAL_NVS_DEVICE_DISABLE;\r
}\r
\r
mGlobalNvsArea.Area->SdCardRemovable = mSystemConfiguration.SdCardRemovable;\r
- \r
+\r
//\r
// Microsoft IOT\r
//\r
mGlobalNvsArea.Area->MicrosoftIoT = GLOBAL_NVS_DEVICE_DISABLE;\r
DEBUG ((EFI_D_ERROR, "JP1 is not set to be MSFT IOT configuration.\n"));\r
}\r
- \r
+\r
//\r
// SIO related option.\r
//\r