+/**\r
+ Resets the entire platform.\r
+\r
+ @param[in] ResetType The type of reset to perform.\r
+ @param[in] ResetStatus The status code for the reset.\r
+ @param[in] DataSize The size, in bytes, of ResetData.\r
+ @param[in] ResetData For a ResetType of EfiResetCold, EfiResetWarm, or EfiResetShutdown\r
+ the data buffer starts with a Null-terminated string, optionally\r
+ followed by additional binary data. The string is a description\r
+ that the caller may use to further indicate the reason for the\r
+ system reset.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+WinReset (\r
+ IN EFI_RESET_TYPE ResetType,\r
+ IN EFI_STATUS ResetStatus,\r
+ IN UINTN DataSize,\r
+ IN VOID *ResetData OPTIONAL\r
+ )\r
+{\r
+ ASSERT (ResetType <= EfiResetPlatformSpecific);\r
+ SecPrint (" Emu ResetSystem is called: ResetType = %s\n", mResetTypeStr[ResetType]);\r
+\r
+ if (ResetType == EfiResetShutdown) {\r
+ exit (0);\r
+ } else {\r
+ //\r
+ // Jump back to SetJump with jump code = ResetType + 1\r
+ //\r
+ LongJump (&mResetJumpBuffer, ResetType + 1);\r
+ }\r
+}\r
+\r
+EFI_PEI_RESET2_PPI mEmuReset2Ppi = {\r
+ WinReset\r
+};\r
+\r