Home | History | Annotate | Download | only in Arm
      1 ;------------------------------------------------------------------------------ 
      2 ;
      3 ; CpuSleep() for ARMv7
      4 ;
      5 ; ARMv6 versions was:
      6 ;    MOV r0,#0
      7 ;    MCR p15,0,r0,c7,c0,4   ;Wait for Interrupt instruction
      8 ;
      9 ; But this is a no-op on ARMv7
     10 ;
     11 ; Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
     12 ; Portions copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
     13 ; This program and the accompanying materials
     14 ; are licensed and made available under the terms and conditions of the BSD License
     15 ; which accompanies this distribution.  The full text of the license may be found at
     16 ; http://opensource.org/licenses/bsd-license.php.
     17 ;
     18 ; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     19 ; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     20 ;
     21 ;------------------------------------------------------------------------------
     22 
     23   EXPORT CpuSleep
     24   AREA cpu_sleep, CODE, READONLY
     25 
     26 ;/**
     27 ;  Places the CPU in a sleep state until an interrupt is received.
     28 ;
     29 ;  Places the CPU in a sleep state until an interrupt is received. If interrupts
     30 ;  are disabled prior to calling this function, then the CPU will be placed in a
     31 ;  sleep state indefinitely.
     32 ;
     33 ;**/
     34 ;VOID
     35 ;EFIAPI
     36 ;CpuSleep (
     37 ;  VOID
     38 ;  );
     39 ;
     40 CpuSleep
     41     WFI
     42     BX LR
     43 
     44   END
     45