+\r
+!if $(SMM_REQUIRE) == TRUE\r
+ OvmfPkg/SmmAccess/SmmAccess2Dxe.inf\r
+ OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf\r
+ UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf\r
+\r
+ #\r
+ # SMM Initial Program Load (a DXE_RUNTIME_DRIVER)\r
+ #\r
+ MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf\r
+\r
+ #\r
+ # SMM_CORE\r
+ #\r
+ MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf\r
+\r
+ #\r
+ # Privileged drivers (DXE_SMM_DRIVER modules)\r
+ #\r
+ UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf\r
+ MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf {\r
+ <LibraryClasses>\r
+ LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf\r
+ }\r
+ UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf {\r
+ <LibraryClasses>\r
+ SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf\r
+ SmmCpuFeaturesLib|OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf\r
+ }\r
+\r
+ #\r
+ # Variable driver stack (SMM)\r
+ #\r
+ OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf\r
+ MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf\r
+ MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {\r
+ <LibraryClasses>\r
+ NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf\r
+ }\r
+ MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf\r
+\r
+!else\r
+\r
+ #\r
+ # Variable driver stack (non-SMM)\r
+ #\r
+ OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf\r
+ OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf {\r
+ <LibraryClasses>\r
+ PlatformFvbLib|OvmfPkg/Library/EmuVariableFvbLib/EmuVariableFvbLib.inf\r
+ }\r
+ MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
+ MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {\r
+ <LibraryClasses>\r
+ NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf\r
+ }\r
+!endif\r