SEC_IDT_TABLE IdtTableInStack;\r
IA32_DESCRIPTOR IdtDescriptor;\r
UINT32 Index;\r
+ volatile UINT8 *Table;\r
+\r
+ //\r
+ // To ensure SMM can't be compromised on S3 resume, we must force re-init of\r
+ // the BaseExtractGuidedSectionLib. Since this is before library contructors\r
+ // are called, we must use a loop rather than SetMem.\r
+ //\r
+ Table = (UINT8*)(UINTN)FixedPcdGet64 (PcdGuidedExtractHandlerTableAddress);\r
+ for (Index = 0;\r
+ Index < FixedPcdGet32 (PcdGuidedExtractHandlerTableSize);\r
+ ++Index) {\r
+ Table[Index] = 0;\r
+ }\r
\r
ProcessLibraryConstructorList (NULL, NULL);\r
\r