summaryrefslogtreecommitdiffstats
path: root/Vlv2TbltDevicePkg
diff options
context:
space:
mode:
authorLu, ShifeiX A <shifeix.a.lu@intel.com>2016-07-28 16:21:28 +0800
committerdavid wei <david.wei@intel.com>2016-07-31 11:59:54 +0800
commit2c855d3aaf36da80f8c4f0ae12d31900a628b0a9 (patch)
tree4d46beb0af3f959679b8bc9c9c7abed476ab29ae /Vlv2TbltDevicePkg
parentb52e697b2a68e37e973653877733484ad2f65c29 (diff)
downloadedk2-2c855d3aaf36da80f8c4f0ae12d31900a628b0a9.tar.gz
edk2-2c855d3aaf36da80f8c4f0ae12d31900a628b0a9.tar.bz2
edk2-2c855d3aaf36da80f8c4f0ae12d31900a628b0a9.zip
Vlv2DeviceRefCodePkg&Vlv2DevicePkg:Add sample WSMT table.
This is an sample WSMT table, which we only update BIT0 and BIT1 of Protections flags fields. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: lushifex <shifeix.a.lu@intel.com> Reviewed-by: David Wei <david.wei@intel.com>
Diffstat (limited to 'Vlv2TbltDevicePkg')
-rw-r--r--Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c
index db1b5a5eeb..8a883f2a09 100644
--- a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c
+++ b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c
@@ -58,6 +58,7 @@ Abstract:
#include <PchAccess.h>
#include <Guid/Vlv2Variable.h>
#include <Guid/PlatformCpuInfo.h>
+#include <IndustryStandard/WindowsSmmSecurityMitigationTable.h>
CHAR16 EfiPlatformCpuInfoVariable[] = L"PlatformCpuInfo";
@@ -238,6 +239,7 @@ PlatformUpdateTables (
UINT8 TempVal;
EFI_ACPI_3_0_IO_APIC_STRUCTURE *IOApicType;
EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER *APICTableHeader;
+ EFI_ACPI_WSMT_TABLE *WsmtTable;
CurrPtr = NULL;
EndPtr = NULL;
@@ -599,6 +601,17 @@ PlatformUpdateTables (
gBS->FreePool (OcurModelStringBuffer);
gBS->FreePool (OcurRefDataBlockBuffer);
break;
+
+
+ case EFI_ACPI_WINDOWS_SMM_SECURITY_MITIGATION_TABLE_SIGNATURE:
+ WsmtTable = (EFI_ACPI_WSMT_TABLE *) Table;
+ //
+ // Update Microsoft WSMT table Protections flags.
+ //
+ WsmtTable->ProtectionFlags = ((WsmtTable->ProtectionFlags) | (EFI_WSMT_PROTECTION_FLAGS_FIXED_COMM_BUFFERS | EFI_WSMT_PROTECTION_FLAGS_COMM_BUFFER_NESTED_PTR_PROTECTION ));
+ break;
+
+
default:
break;
}