/** @file Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include #include #include #include #include #include /** Resets the entire platform. @param ResetType The type of reset to perform. @param ResetStatus The status code for the reset. @param DataSize The size, in bytes, of WatchdogData. @param ResetData For a ResetType of EfiResetCold, EfiResetWarm, or EfiResetShutdown the data buffer starts with a Null-terminated Unicode string, optionally followed by additional binary data. **/ VOID EFIAPI ResetSystemViaLib ( IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, IN UINTN DataSize, IN VOID *ResetData OPTIONAL ) { LibResetSystem (ResetType, ResetStatus, DataSize, ResetData); return; } EFI_STATUS EFIAPI InitializeReset ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable ) { EFI_STATUS Status; EFI_HANDLE Handle; LibInitializeResetSystem (ImageHandle, SystemTable); SystemTable->RuntimeServices->ResetSystem = ResetSystemViaLib; Handle = NULL; Status = gBS->InstallMultipleProtocolInterfaces ( &Handle, &gEfiResetArchProtocolGuid, NULL, NULL ); ASSERT_EFI_ERROR (Status); return Status; }