Home | History | Annotate | Download | only in Library
      1 /** @file
      2   Provides CPU architecture specific functions that can not be defined
      3   in the Base Library due to dependencies on the PAL Library
      4 
      5   The CPU Library provides services to flush CPU TLBs and place the CPU in a sleep state.
      6   The implementation of these services on Itanium processors requires the use of PAL Calls.
      7   PAL Calls require PEI and DXE specific mechanisms to look up PAL Entry Point.
      8   As a result, these services could not be defined in the Base Library.
      9 
     10 Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
     11 This program and the accompanying materials
     12 are licensed and made available under the terms and conditions of the BSD License
     13 which accompanies this distribution.  The full text of the license may be found at
     14 http://opensource.org/licenses/bsd-license.php
     15 
     16 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     17 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     18 
     19 **/
     20 
     21 #ifndef __CPU_LIB_H__
     22 #define __CPU_LIB_H__
     23 
     24 /**
     25   Places the CPU in a sleep state until an interrupt is received.
     26 
     27   Places the CPU in a sleep state until an interrupt is received. If interrupts
     28   are disabled prior to calling this function, then the CPU will be placed in a
     29   sleep state indefinitely.
     30 
     31 **/
     32 VOID
     33 EFIAPI
     34 CpuSleep (
     35   VOID
     36   );
     37 
     38 /**
     39   Flushes all the Translation Lookaside Buffers(TLB) entries in a CPU.
     40 
     41   Flushes all the Translation Lookaside Buffers(TLB) entries in a CPU.
     42 
     43 **/
     44 VOID
     45 EFIAPI
     46 CpuFlushTlb (
     47   VOID
     48   );
     49 
     50 
     51 #endif
     52