From bb77cee7d1222e3e48bcc1dae28915485c73af0d Mon Sep 17 00:00:00 2001 From: mdkinney Date: Tue, 3 Aug 2010 05:16:57 +0000 Subject: [PATCH] Update KbcResetDxe to be more generic by layering it on top of the ResetSystemLib class. Reduce number of source files from 3 to 1. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10768 6f19259b-4bc3-4df7-8a09-765794883524 --- PcAtChipsetPkg/KbcResetDxe/Reset.c | 54 -------------------- PcAtChipsetPkg/KbcResetDxe/Reset.h | 66 ------------------------- PcAtChipsetPkg/KbcResetDxe/Reset.inf | 9 ++-- PcAtChipsetPkg/KbcResetDxe/ResetEntry.c | 48 ++++++++++++++++-- 4 files changed, 48 insertions(+), 129 deletions(-) delete mode 100644 PcAtChipsetPkg/KbcResetDxe/Reset.c delete mode 100644 PcAtChipsetPkg/KbcResetDxe/Reset.h diff --git a/PcAtChipsetPkg/KbcResetDxe/Reset.c b/PcAtChipsetPkg/KbcResetDxe/Reset.c deleted file mode 100644 index ba74aac25d..0000000000 --- a/PcAtChipsetPkg/KbcResetDxe/Reset.c +++ /dev/null @@ -1,54 +0,0 @@ -/** @file - Reset Architectural Protocol implementation - -Copyright (c) 2006 - 2010, 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" - -/** - Reset the system. - - @param ResetType warm or cold - @param ResetStatus possible cause of reset - @param DataSize Size of ResetData in bytes - @param ResetData Optional Unicode string - -**/ -VOID -EFIAPI -KbcResetSystem ( - IN EFI_RESET_TYPE ResetType, - IN EFI_STATUS ResetStatus, - IN UINTN DataSize, - IN VOID *ResetData OPTIONAL - ) -{ - 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 deleted file mode 100644 index 7ee0aa7e42..0000000000 --- a/PcAtChipsetPkg/KbcResetDxe/Reset.h +++ /dev/null @@ -1,66 +0,0 @@ -/** @file - - Definitions for reset - -Copyright (c) 2006 - 2010, 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. - -**/ - -#ifndef _KBC_RESET_H -#define _KBC_RESET_H - -#include - -#include -#include -#include -#include - -#include - -/** - Initialize the state information for the Reset Architectural Protocol - - @param ImageHandle Handle of the loaded driver - @param SystemTable Pointer to the System Table - - @retval EFI_SUCCESS Thread can be successfully created - @retval EFI_OUT_OF_RESOURCES Cannot allocate protocol data structure - @retval EFI_DEVICE_ERROR Cannot create the timer service - -**/ -EFI_STATUS -EFIAPI -InitializeReset ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -; - -/** - Reset the system. - - @param ResetType warm or cold - @param ResetStatus possible cause of reset - @param DataSize Size of ResetData in bytes - @param ResetData Optional Unicode string - -**/ -VOID -EFIAPI -KbcResetSystem ( - IN EFI_RESET_TYPE ResetType, - IN EFI_STATUS ResetStatus, - IN UINTN DataSize, - IN VOID *ResetData OPTIONAL - ) -; - -#endif diff --git a/PcAtChipsetPkg/KbcResetDxe/Reset.inf b/PcAtChipsetPkg/KbcResetDxe/Reset.inf index 9e7825581d..15620ae03a 100644 --- a/PcAtChipsetPkg/KbcResetDxe/Reset.inf +++ b/PcAtChipsetPkg/KbcResetDxe/Reset.inf @@ -25,16 +25,15 @@ [Packages] MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec [LibraryClasses] + UefiDriverEntryPoint DebugLib UefiBootServicesTableLib - UefiDriverEntryPoint - IoLib + ResetSystemLib [Sources] - Reset.c - Reset.h ResetEntry.c [Protocols] @@ -42,5 +41,3 @@ [Depex] TRUE - - diff --git a/PcAtChipsetPkg/KbcResetDxe/ResetEntry.c b/PcAtChipsetPkg/KbcResetDxe/ResetEntry.c index d43a516c87..0457fe63b5 100644 --- a/PcAtChipsetPkg/KbcResetDxe/ResetEntry.c +++ b/PcAtChipsetPkg/KbcResetDxe/ResetEntry.c @@ -11,13 +11,56 @@ 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" +#include + +#include +#include +#include + +#include // // The handle onto which the Reset Architectural Protocol is installed // EFI_HANDLE mResetHandle = NULL; +/** + Reset the system. + + @param ResetType warm or cold + @param ResetStatus possible cause of reset + @param DataSize Size of ResetData in bytes + @param ResetData Optional Unicode string + +**/ +VOID +EFIAPI +KbcResetSystem ( + IN EFI_RESET_TYPE ResetType, + IN EFI_STATUS ResetStatus, + IN UINTN DataSize, + IN VOID *ResetData OPTIONAL + ) +{ + switch (ResetType) { + case EfiResetWarm: + ResetWarm (); + break; + case EfiResetCold: + ResetCold (); + break; + case EfiResetShutdown: + ResetShutdown (); + break; + default: + return; + } + + // + // Given we should have reset getting here would be bad + // + ASSERT (FALSE); +} /** Initialize the state information for the Reset Architectural Protocol @@ -54,8 +97,7 @@ InitializeReset ( // Status = gBS->InstallMultipleProtocolInterfaces ( &mResetHandle, - &gEfiResetArchProtocolGuid, - NULL, + &gEfiResetArchProtocolGuid, NULL, NULL ); ASSERT_EFI_ERROR (Status); -- 2.39.2