From: jljusten Date: Mon, 23 Feb 2009 22:32:16 +0000 (+0000) Subject: KbcResetDxe: DuetPkg => PcAtChipsetPkg X-Git-Tag: edk2-stable201903~18635 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=84042d3ea73598152be163c3f3d6601e1a3072ec KbcResetDxe: DuetPkg => PcAtChipsetPkg git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7615 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/DuetPkg/KbcResetDxe/Reset.c b/DuetPkg/KbcResetDxe/Reset.c deleted file mode 100644 index 45f4bc7170..0000000000 --- a/DuetPkg/KbcResetDxe/Reset.c +++ /dev/null @@ -1,70 +0,0 @@ -/*++ - -Copyright (c) 2006, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -Module Name: - Reset.c - -Abstract: - - Reset Architectural Protocol implementation - ---*/ - -#include "Reset.h" - -VOID -EFIAPI -KbcResetSystem ( - IN EFI_RESET_TYPE ResetType, - IN EFI_STATUS ResetStatus, - IN UINTN DataSize, - IN VOID *ResetData OPTIONAL - ) -/*++ - -Routine Description: - - Reset the system. - -Arguments: - - ResetType - warm or cold - ResetStatus - possible cause of reset - DataSize - Size of ResetData in bytes - ResetData - Optional Unicode string - For details, see efiapi.h - -Returns: - Does not return if the reset takes place. - EFI_INVALID_PARAMETER If ResetType is invalid. - ---*/ -{ - UINT8 Data; - - switch (ResetType) { - case EfiResetWarm: - case EfiResetCold: - case EfiResetShutdown: - Data = 0xfe; - IoWrite8 (0x64, Data); - break; - - default: - return ; - } - - // - // Given we should have reset getting here would be bad - // - ASSERT (FALSE); -} - diff --git a/DuetPkg/KbcResetDxe/Reset.h b/DuetPkg/KbcResetDxe/Reset.h deleted file mode 100644 index 3b70580a81..0000000000 --- a/DuetPkg/KbcResetDxe/Reset.h +++ /dev/null @@ -1,85 +0,0 @@ -/*++ - -Copyright (c) 2006, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -Module Name: - Reset.h - -Abstract: - - some definitions for reset - ---*/ - -#ifndef _KBC_RESET_H -#define _KBC_RESET_H - -#include - -#include -#include -#include -#include - -#include - -EFI_STATUS -EFIAPI -InitializeReset ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -/*++ - -Routine Description: - - TODO: Add function description - -Arguments: - - ImageHandle - TODO: add argument description - SystemTable - TODO: add argument description - -Returns: - - TODO: add return values - ---*/ -; - -VOID -EFIAPI -KbcResetSystem ( - IN EFI_RESET_TYPE ResetType, - IN EFI_STATUS ResetStatus, - IN UINTN DataSize, - IN VOID *ResetData OPTIONAL - ) -/*++ - -Routine Description: - - TODO: Add function description - -Arguments: - - ResetType - TODO: add argument description - ResetStatus - TODO: add argument description - DataSize - TODO: add argument description - ResetData - TODO: add argument description - -Returns: - - TODO: add return values - ---*/ -; - -#endif diff --git a/DuetPkg/KbcResetDxe/Reset.inf b/DuetPkg/KbcResetDxe/Reset.inf deleted file mode 100644 index a1bcaebcef..0000000000 --- a/DuetPkg/KbcResetDxe/Reset.inf +++ /dev/null @@ -1,51 +0,0 @@ -#/*++ -# -# Copyright (c) 2006 - 2008, Intel Corporation -# All rights reserved. This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -# Module Name: -# Reset.inf -# -# Abstract: -# -#--*/ -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = KbcReset - FILE_GUID = 6F0198AA-1F1D-426D-AE3E-39AB633FCC28 - MODULE_TYPE = DXE_RUNTIME_DRIVER - VERSION_STRING = 1.0 - EDK_RELEASE_VERSION = 0x00020000 - EFI_SPECIFICATION_VERSION = 0x00020000 - - ENTRY_POINT = InitializeReset - -[Packages] - DuetPkg/DuetPkg.dec - MdePkg/MdePkg.dec - IntelFrameworkPkg/IntelFrameworkPkg.dec - -[LibraryClasses] - DebugLib - UefiBootServicesTableLib - UefiDriverEntryPoint - IoLib - -[Sources.common] - Reset.c - Reset.h - ResetEntry.c - -[Protocols] - gEfiResetArchProtocolGuid - -[Depex] - gEfiCpuIoProtocolGuid - - diff --git a/DuetPkg/KbcResetDxe/ResetEntry.c b/DuetPkg/KbcResetDxe/ResetEntry.c deleted file mode 100644 index bcef440fcf..0000000000 --- a/DuetPkg/KbcResetDxe/ResetEntry.c +++ /dev/null @@ -1,76 +0,0 @@ -/*++ - -Copyright (c) 2009, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - - - ---*/ - -#include "Reset.h" - -// -// The handle onto which the Reset Architectural Protocol is installed -// -EFI_HANDLE mResetHandle = NULL; - - -EFI_STATUS -EFIAPI -InitializeReset ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -/*++ - -Routine Description: - - Initialize the state information for the Reset Architectural Protocol - -Arguments: - - ImageHandle of the loaded driver - Pointer to the System Table - -Returns: - - Status - - EFI_SUCCESS - thread can be successfully created - EFI_OUT_OF_RESOURCES - cannot allocate protocol data structure - EFI_DEVICE_ERROR - cannot create the timer service - ---*/ -// TODO: SystemTable - add argument and description to function comment -{ - EFI_STATUS Status; - - // - // Make sure the Reset Architectural Protocol is not already installed in the system - // - ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gEfiResetArchProtocolGuid); - - // - // Hook the runtime service table - // - SystemTable->RuntimeServices->ResetSystem = KbcResetSystem; - - // - // Now install the Reset RT AP on a new handle - // - Status = gBS->InstallMultipleProtocolInterfaces ( - &mResetHandle, - &gEfiResetArchProtocolGuid, - NULL, - NULL - ); - ASSERT_EFI_ERROR (Status); - - return Status; -} diff --git a/PcAtChipsetPkg/KbcResetDxe/Reset.c b/PcAtChipsetPkg/KbcResetDxe/Reset.c new file mode 100644 index 0000000000..45f4bc7170 --- /dev/null +++ b/PcAtChipsetPkg/KbcResetDxe/Reset.c @@ -0,0 +1,70 @@ +/*++ + +Copyright (c) 2006, Intel Corporation +All rights reserved. This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +Module Name: + Reset.c + +Abstract: + + Reset Architectural Protocol implementation + +--*/ + +#include "Reset.h" + +VOID +EFIAPI +KbcResetSystem ( + IN EFI_RESET_TYPE ResetType, + IN EFI_STATUS ResetStatus, + IN UINTN DataSize, + IN VOID *ResetData OPTIONAL + ) +/*++ + +Routine Description: + + Reset the system. + +Arguments: + + ResetType - warm or cold + ResetStatus - possible cause of reset + DataSize - Size of ResetData in bytes + ResetData - Optional Unicode string + For details, see efiapi.h + +Returns: + Does not return if the reset takes place. + EFI_INVALID_PARAMETER If ResetType is invalid. + +--*/ +{ + UINT8 Data; + + switch (ResetType) { + case EfiResetWarm: + case EfiResetCold: + case EfiResetShutdown: + Data = 0xfe; + IoWrite8 (0x64, Data); + break; + + default: + return ; + } + + // + // Given we should have reset getting here would be bad + // + ASSERT (FALSE); +} + diff --git a/PcAtChipsetPkg/KbcResetDxe/Reset.h b/PcAtChipsetPkg/KbcResetDxe/Reset.h new file mode 100644 index 0000000000..3b70580a81 --- /dev/null +++ b/PcAtChipsetPkg/KbcResetDxe/Reset.h @@ -0,0 +1,85 @@ +/*++ + +Copyright (c) 2006, Intel Corporation +All rights reserved. This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +Module Name: + Reset.h + +Abstract: + + some definitions for reset + +--*/ + +#ifndef _KBC_RESET_H +#define _KBC_RESET_H + +#include + +#include +#include +#include +#include + +#include + +EFI_STATUS +EFIAPI +InitializeReset ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + ImageHandle - TODO: add argument description + SystemTable - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +VOID +EFIAPI +KbcResetSystem ( + IN EFI_RESET_TYPE ResetType, + IN EFI_STATUS ResetStatus, + IN UINTN DataSize, + IN VOID *ResetData OPTIONAL + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + ResetType - TODO: add argument description + ResetStatus - TODO: add argument description + DataSize - TODO: add argument description + ResetData - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +#endif diff --git a/PcAtChipsetPkg/KbcResetDxe/Reset.inf b/PcAtChipsetPkg/KbcResetDxe/Reset.inf new file mode 100644 index 0000000000..a1bcaebcef --- /dev/null +++ b/PcAtChipsetPkg/KbcResetDxe/Reset.inf @@ -0,0 +1,51 @@ +#/*++ +# +# Copyright (c) 2006 - 2008, Intel Corporation +# All rights reserved. This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# Module Name: +# Reset.inf +# +# Abstract: +# +#--*/ +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = KbcReset + FILE_GUID = 6F0198AA-1F1D-426D-AE3E-39AB633FCC28 + MODULE_TYPE = DXE_RUNTIME_DRIVER + VERSION_STRING = 1.0 + EDK_RELEASE_VERSION = 0x00020000 + EFI_SPECIFICATION_VERSION = 0x00020000 + + ENTRY_POINT = InitializeReset + +[Packages] + DuetPkg/DuetPkg.dec + MdePkg/MdePkg.dec + IntelFrameworkPkg/IntelFrameworkPkg.dec + +[LibraryClasses] + DebugLib + UefiBootServicesTableLib + UefiDriverEntryPoint + IoLib + +[Sources.common] + Reset.c + Reset.h + ResetEntry.c + +[Protocols] + gEfiResetArchProtocolGuid + +[Depex] + gEfiCpuIoProtocolGuid + + diff --git a/PcAtChipsetPkg/KbcResetDxe/ResetEntry.c b/PcAtChipsetPkg/KbcResetDxe/ResetEntry.c new file mode 100644 index 0000000000..bcef440fcf --- /dev/null +++ b/PcAtChipsetPkg/KbcResetDxe/ResetEntry.c @@ -0,0 +1,76 @@ +/*++ + +Copyright (c) 2009, Intel Corporation +All rights reserved. This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + + + +--*/ + +#include "Reset.h" + +// +// The handle onto which the Reset Architectural Protocol is installed +// +EFI_HANDLE mResetHandle = NULL; + + +EFI_STATUS +EFIAPI +InitializeReset ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +/*++ + +Routine Description: + + Initialize the state information for the Reset Architectural Protocol + +Arguments: + + ImageHandle of the loaded driver + Pointer to the System Table + +Returns: + + Status + + EFI_SUCCESS - thread can be successfully created + EFI_OUT_OF_RESOURCES - cannot allocate protocol data structure + EFI_DEVICE_ERROR - cannot create the timer service + +--*/ +// TODO: SystemTable - add argument and description to function comment +{ + EFI_STATUS Status; + + // + // Make sure the Reset Architectural Protocol is not already installed in the system + // + ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gEfiResetArchProtocolGuid); + + // + // Hook the runtime service table + // + SystemTable->RuntimeServices->ResetSystem = KbcResetSystem; + + // + // Now install the Reset RT AP on a new handle + // + Status = gBS->InstallMultipleProtocolInterfaces ( + &mResetHandle, + &gEfiResetArchProtocolGuid, + NULL, + NULL + ); + ASSERT_EFI_ERROR (Status); + + return Status; +}