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