+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
- Ia32Reset.c\r
-\r
-Abstract:\r
-\r
---*/\r
-\r
-#include "Reset.h"\r
-\r
-//\r
-// The handle onto which the Reset Architectural Protocol is installed\r
-//\r
-EFI_HANDLE mResetHandle = NULL;\r
-\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-InitializeReset (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Initialize the state information for the Reset Architectural Protocol\r
-\r
-Arguments:\r
-\r
- ImageHandle of the loaded driver\r
- Pointer to the System Table\r
-\r
-Returns:\r
-\r
- Status\r
-\r
- EFI_SUCCESS - thread can be successfully created\r
- EFI_OUT_OF_RESOURCES - cannot allocate protocol data structure\r
- EFI_DEVICE_ERROR - cannot create the timer service\r
-\r
---*/\r
-// TODO: SystemTable - add argument and description to function comment\r
-{\r
- EFI_STATUS Status;\r
-\r
- //\r
- // Make sure the Reset Architectural Protocol is not already installed in the system\r
- //\r
- ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gEfiResetArchProtocolGuid);\r
-\r
- //\r
- // Hook the runtime service table\r
- //\r
- SystemTable->RuntimeServices->ResetSystem = KbcResetSystem;\r
-\r
- //\r
- // Now install the Reset RT AP on a new handle\r
- //\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &mResetHandle,\r
- &gEfiResetArchProtocolGuid,\r
- NULL,\r
- NULL\r
- );\r
- ASSERT_EFI_ERROR (Status);\r
-\r
- return Status;\r
-}\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
- Ia32Reset.dxs\r
-\r
-Abstract:\r
- Dependency expression source file.\r
- \r
---*/ \r
-\r
-\r
-#include "EfiDepex.h"\r
-\r
-#include EFI_PROTOCOL_DEFINITION (CpuIO)\r
-\r
-DEPENDENCY_START\r
- EFI_CPU_IO_PROTOCOL_GUID\r
-DEPENDENCY_END\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
- IpfReset.c\r
-\r
-Abstract:\r
-\r
---*/\r
-\r
-#include "Cf9Reset.h"\r
-\r
-SAL_RETURN_REGS\r
-ResetEsalServicesClassCommonEntry (\r
- IN UINT64 FunctionId,\r
- IN UINT64 Arg2,\r
- IN UINT64 Arg3,\r
- IN UINT64 Arg4,\r
- IN UINT64 Arg5,\r
- IN UINT64 Arg6,\r
- IN UINT64 Arg7,\r
- IN UINT64 Arg8,\r
- IN SAL_EXTENDED_SAL_PROC ExtendedSalProc,\r
- IN BOOLEAN VirtualMode,\r
- IN VOID *Global\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Main entry for Extended SAL Reset Services\r
-\r
-Arguments:\r
-\r
- FunctionId Function Id which needed to be called.\r
- Arg2 EFI_RESET_TYPE, whether WARM of COLD reset\r
- Arg3 Last EFI_STATUS \r
- Arg4 Data Size of UNICODE STRING passed in ARG5\r
- Arg5 Unicode String which CHAR16*\r
-\r
-Returns:\r
-\r
- SAL_RETURN_REGS\r
-\r
---*/\r
-// TODO: Arg6 - add argument and description to function comment\r
-// TODO: Arg7 - add argument and description to function comment\r
-// TODO: Arg8 - add argument and description to function comment\r
-// TODO: ExtendedSalProc - add argument and description to function comment\r
-// TODO: VirtualMode - add argument and description to function comment\r
-// TODO: Global - add argument and description to function comment\r
-{\r
- SAL_RETURN_REGS ReturnVal;\r
-\r
- switch (FunctionId) {\r
- case ResetSystem:\r
- KbcResetSystem (Arg2, Arg3, (UINTN) Arg4, (VOID *) Arg5);\r
- ReturnVal.Status = EFI_SUCCESS;\r
- break;\r
-\r
- default:\r
- ReturnVal.Status = EFI_SAL_INVALID_ARGUMENT;\r
- break;\r
- }\r
-\r
- return ReturnVal;\r
-}\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-InitializeReset (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Initialize the state information for the Reset Architectural Protocol\r
-\r
-Arguments:\r
-\r
- ImageHandle of the loaded driver\r
- Pointer to the System Table\r
-\r
-Returns:\r
-\r
- Status\r
-\r
- EFI_SUCCESS - thread can be successfully created\r
- EFI_OUT_OF_RESOURCES - cannot allocate protocol data structure\r
- EFI_DEVICE_ERROR - cannot create the timer service\r
-\r
---*/\r
-// TODO: SystemTable - add argument and description to function comment\r
-{\r
- EfiInitializeRuntimeDriverLib (ImageHandle, SystemTable, NULL);\r
-\r
- RegisterEsalClass (\r
- &gEfiExtendedSalResetServicesProtocolGuid,\r
- NULL,\r
- ResetEsalServicesClassCommonEntry,\r
- ResetSystem,\r
- NULL\r
- );\r
-\r
- return EFI_SUCCESS;\r
-}\r
-\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
- IpfReset.dxs\r
-\r
-Abstract:\r
- Dependency expression source file.\r
- \r
---*/ \r
-\r
-\r
-#include "EfiDepex.h"\r
-\r
-#include EFI_PROTOCOL_DEFINITION (ExtendedSalGuid)\r
-\r
-DEPENDENCY_START\r
- EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID\r
-DEPENDENCY_END\r
[Sources.common]\r
Reset.c\r
Reset.h\r
-\r
-[Sources.ipf]\r
- Ipf/IpfReset.c\r
-\r
-[Sources.ia32]\r
- Ia32/Ia32Reset.c\r
-\r
-[Sources.x64]\r
- X64/X64Reset.c\r
+ ResetEntry.c\r
\r
[Protocols]\r
gEfiResetArchProtocolGuid\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2009, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+ \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+\r
+\r
+--*/\r
+\r
+#include "Reset.h"\r
+\r
+//\r
+// The handle onto which the Reset Architectural Protocol is installed\r
+//\r
+EFI_HANDLE mResetHandle = NULL;\r
+\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+InitializeReset (\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Initialize the state information for the Reset Architectural Protocol\r
+\r
+Arguments:\r
+\r
+ ImageHandle of the loaded driver\r
+ Pointer to the System Table\r
+\r
+Returns:\r
+\r
+ Status\r
+\r
+ EFI_SUCCESS - thread can be successfully created\r
+ EFI_OUT_OF_RESOURCES - cannot allocate protocol data structure\r
+ EFI_DEVICE_ERROR - cannot create the timer service\r
+\r
+--*/\r
+// TODO: SystemTable - add argument and description to function comment\r
+{\r
+ EFI_STATUS Status;\r
+\r
+ //\r
+ // Make sure the Reset Architectural Protocol is not already installed in the system\r
+ //\r
+ ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gEfiResetArchProtocolGuid);\r
+\r
+ //\r
+ // Hook the runtime service table\r
+ //\r
+ SystemTable->RuntimeServices->ResetSystem = KbcResetSystem;\r
+\r
+ //\r
+ // Now install the Reset RT AP on a new handle\r
+ //\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &mResetHandle,\r
+ &gEfiResetArchProtocolGuid,\r
+ NULL,\r
+ NULL\r
+ );\r
+ ASSERT_EFI_ERROR (Status);\r
+\r
+ return Status;\r
+}\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
- x64Reset.c\r
-\r
-Abstract:\r
-\r
---*/\r
-\r
-#include "Reset.h"\r
-\r
-//\r
-// The handle onto which the Reset Architectural Protocol is installed\r
-//\r
-EFI_HANDLE mResetHandle = NULL;\r
-\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-InitializeReset (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Initialize the state information for the Reset Architectural Protocol\r
-\r
-Arguments:\r
-\r
- ImageHandle of the loaded driver\r
- Pointer to the System Table\r
-\r
-Returns:\r
-\r
- Status\r
-\r
- EFI_SUCCESS - thread can be successfully created\r
- EFI_OUT_OF_RESOURCES - cannot allocate protocol data structure\r
- EFI_DEVICE_ERROR - cannot create the timer service\r
-\r
---*/\r
-// TODO: SystemTable - add argument and description to function comment\r
-{\r
- EFI_STATUS Status;\r
-\r
- //\r
- // Make sure the Reset Architectural Protocol is not already installed in the system\r
- //\r
- ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gEfiResetArchProtocolGuid);\r
-\r
- //\r
- // Hook the runtime service table\r
- //\r
- SystemTable->RuntimeServices->ResetSystem = KbcResetSystem;\r
-\r
- //\r
- // Now install the Reset RT AP on a new handle\r
- //\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &mResetHandle,\r
- &gEfiResetArchProtocolGuid,\r
- NULL,\r
- NULL\r
- );\r
- ASSERT_EFI_ERROR (Status);\r
-\r
- return Status;\r
-}\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
- x64Reset.dxs\r
-\r
-Abstract:\r
- Dependency expression source file.\r
- \r
---*/ \r
-\r
-\r
-#include "EfiDepex.h"\r
-\r
-#include EFI_PROTOCOL_DEFINITION (CpuIO)\r
-\r
-DEPENDENCY_START\r
- EFI_CPU_IO_PROTOCOL_GUID\r
-DEPENDENCY_END\r