Home | History | Annotate | Download | only in Ia32
      1 /** @file
      2   CpuSleep function for Ia32/X64 GCC.
      3 
      4   Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
      5   Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
      6   This program and the accompanying materials
      7   are licensed and made available under the terms and conditions of the BSD License
      8   which accompanies this distribution.  The full text of the license may be found at
      9   http://opensource.org/licenses/bsd-license.php.
     10 
     11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     13 
     14 **/
     15 
     16 
     17 /**
     18   Places the CPU in a sleep state until an interrupt is received.
     19 
     20   Places the CPU in a sleep state until an interrupt is received. If interrupts
     21   are disabled prior to calling this function, then the CPU will be placed in a
     22   sleep state indefinitely.
     23 
     24 **/
     25 VOID
     26 EFIAPI
     27 CpuSleep (
     28   VOID
     29   )
     30 {
     31   __asm__ __volatile__ ("hlt"::: "memory");
     32 }
     33 
     34