3 Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 #include <Protocol/Reset.h>
17 #include <Library/DebugLib.h>
18 #include <Library/UefiDriverEntryPoint.h>
19 #include <Library/UefiBootServicesTableLib.h>
20 #include <Library/EfiResetSystemLib.h>
24 Resets the entire platform.
26 @param ResetType The type of reset to perform.
27 @param ResetStatus The status code for the reset.
28 @param DataSize The size, in bytes, of WatchdogData.
29 @param ResetData For a ResetType of EfiResetCold, EfiResetWarm, or
30 EfiResetShutdown the data buffer starts with a Null-terminated
31 Unicode string, optionally followed by additional binary data.
37 IN EFI_RESET_TYPE ResetType
,
38 IN EFI_STATUS ResetStatus
,
40 IN VOID
*ResetData OPTIONAL
43 LibResetSystem (ResetType
, ResetStatus
, DataSize
, ResetData
);
52 IN EFI_HANDLE ImageHandle
,
53 IN EFI_SYSTEM_TABLE
*SystemTable
59 LibInitializeResetSystem (ImageHandle
, SystemTable
);
61 SystemTable
->RuntimeServices
->ResetSystem
= ResetSystemViaLib
;
64 Status
= gBS
->InstallMultipleProtocolInterfaces (
66 &gEfiResetArchProtocolGuid
,
70 ASSERT_EFI_ERROR (Status
);