• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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;
40CpuSleep
41    WFI
42    BX LR
43
44  END
45