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