\r
**/\r
\r
-#include "PiDxe.h"\r
-#include <Library/DebugLib.h>\r
#include <Library/BaseMemoryLib.h>\r
+#include <Library/DebugLib.h>\r
#include <Library/PcdLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/UefiRuntimeLib.h>\r
-#include <Guid/EventGroup.h>\r
\r
#include "QemuFlash.h"\r
\r
#define CLEARED_ARRAY_STATUS 0x00\r
\r
\r
-STATIC UINT8 *mFlashBase = NULL;\r
+UINT8 *mFlashBase;\r
+\r
STATIC UINTN mFdBlockSize = 0;\r
STATIC UINTN mFdBlockCount = 0;\r
\r
-\r
-VOID\r
-QemuFlashConvertPointers (\r
- VOID\r
- )\r
-{\r
- EfiConvertPointer (0x0, (VOID **) &mFlashBase);\r
-}\r
-\r
-\r
STATIC\r
volatile UINT8*\r
QemuFlashPtr (\r
ASSERT(PcdGet32 (PcdOvmfFirmwareFdSize) % mFdBlockSize == 0);\r
mFdBlockCount = PcdGet32 (PcdOvmfFirmwareFdSize) / mFdBlockSize;\r
\r
+ //\r
+ // execute module specific hooks before probing the flash\r
+ //\r
+ QemuFlashBeforeProbe (\r
+ (EFI_PHYSICAL_ADDRESS)(UINTN) mFlashBase,\r
+ mFdBlockSize,\r
+ mFdBlockCount\r
+ );\r
+\r
if (!QemuFlashDetected ()) {\r
+ ASSERT (!FeaturePcdGet (PcdSmmSmramRequire));\r
return EFI_WRITE_PROTECTED;\r
}\r
\r