3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
22 // The handle onto which the Reset Architectural Protocol is installed
24 EFI_HANDLE mResetHandle
= NULL
;
30 IN EFI_HANDLE ImageHandle
,
31 IN EFI_SYSTEM_TABLE
*SystemTable
37 Initialize the state information for the Reset Architectural Protocol
41 ImageHandle of the loaded driver
42 Pointer to the System Table
48 EFI_SUCCESS - thread can be successfully created
49 EFI_OUT_OF_RESOURCES - cannot allocate protocol data structure
50 EFI_DEVICE_ERROR - cannot create the timer service
53 // TODO: SystemTable - add argument and description to function comment
58 // Make sure the Reset Architectural Protocol is not already installed in the system
60 ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL
, &gEfiResetArchProtocolGuid
);
63 // Hook the runtime service table
65 SystemTable
->RuntimeServices
->ResetSystem
= KbcResetSystem
;
68 // Now install the Reset RT AP on a new handle
70 Status
= gBS
->InstallMultipleProtocolInterfaces (
72 &gEfiResetArchProtocolGuid
,
76 ASSERT_EFI_ERROR (Status
);