diff options
Diffstat (limited to 'MdePkg/Library/BaseCpuLib/Ipf/CpuSleep.c')
-rw-r--r-- | MdePkg/Library/BaseCpuLib/Ipf/CpuSleep.c | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/MdePkg/Library/BaseCpuLib/Ipf/CpuSleep.c b/MdePkg/Library/BaseCpuLib/Ipf/CpuSleep.c deleted file mode 100644 index 86d2c184772b..000000000000 --- a/MdePkg/Library/BaseCpuLib/Ipf/CpuSleep.c +++ /dev/null @@ -1,66 +0,0 @@ -/** @file - Base Library CPU functions for Itanium - - Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR> - 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 <Library/PalLib.h> -#include <Library/BaseLib.h> - -/** - Places the CPU in a sleep state until an interrupt is received. - - Places the CPU in a sleep state until an interrupt is received. If interrupts - are disabled prior to calling this function, then the CPU will be placed in a - sleep state indefinitely. - -**/ -VOID -EFIAPI -CpuSleep ( - VOID - ) -{ - UINT64 Tpr; - - // - // It is the TPR register that controls if external interrupt would bring processor in LIGHT HALT low-power state - // back to normal state. PAL_HALT_LIGHT does not depend on PSR setting. - // So here if interrupts are disabled (via PSR.i), TRP.mmi needs to be set to prevent processor being interrupted by external interrupts. - // If interrupts are enabled, then just use current TRP setting. - // - if (GetInterruptState ()) { - // - // If interrupts are enabled, then call PAL_HALT_LIGHT with the current TPR setting. - // - PalCall (PAL_HALT_LIGHT, 0, 0, 0); - } else { - // - // If interrupts are disabled on entry, then mask all interrupts in TPR before calling PAL_HALT_LIGHT. - // - - // - // Save TPR - // - Tpr = AsmReadTpr(); - // - // Set TPR.mmi to mask all external interrupts - // - AsmWriteTpr (BIT16 | Tpr); - - PalCall (PAL_HALT_LIGHT, 0, 0, 0); - - // - // Restore TPR - // - AsmWriteTpr (Tpr); - } -} |