WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
**/\r
\r
-#include "Reset.h"\r
+#include <PiDxe.h>\r
+\r
+#include <Library/DebugLib.h>\r
+#include <Library/UefiBootServicesTableLib.h>\r
+#include <Library/ResetSystemLib.h>\r
+\r
+#include <Protocol/Reset.h>\r
\r
//\r
// The handle onto which the Reset Architectural Protocol is installed\r
//\r
EFI_HANDLE mResetHandle = NULL;\r
\r
+/**\r
+ Reset the system.\r
+\r
+ @param ResetType warm or cold\r
+ @param ResetStatus possible cause of reset\r
+ @param DataSize Size of ResetData in bytes\r
+ @param ResetData Optional Unicode string\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+KbcResetSystem (\r
+ IN EFI_RESET_TYPE ResetType,\r
+ IN EFI_STATUS ResetStatus,\r
+ IN UINTN DataSize,\r
+ IN VOID *ResetData OPTIONAL\r
+ )\r
+{\r
+ switch (ResetType) {\r
+ case EfiResetWarm:\r
+ ResetWarm ();\r
+ break;\r
+ case EfiResetCold:\r
+ ResetCold ();\r
+ break;\r
+ case EfiResetShutdown:\r
+ ResetShutdown ();\r
+ break;\r
+ default:\r
+ return;\r
+ }\r
+\r
+ //\r
+ // Given we should have reset getting here would be bad\r
+ //\r
+ ASSERT (FALSE);\r
+}\r
\r
/**\r
- Initialize the state information for the Reset Architectural Protocol\r
+ Initialize the state information for the Reset Architectural Protocol.\r
\r
@param ImageHandle Handle of the loaded driver \r
@param SystemTable Pointer to the System Table\r
//\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&mResetHandle,\r
- &gEfiResetArchProtocolGuid,\r
- NULL,\r
+ &gEfiResetArchProtocolGuid, NULL,\r
NULL\r
);\r
ASSERT_EFI_ERROR (Status);\r