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 - 2018, Intel Corporation. All rights reserved.<BR>
|
---|
12 | ; Portions copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
|
---|
13 | ; SPDX-License-Identifier: BSD-2-Clause-Patent
|
---|
14 | ;
|
---|
15 | ;------------------------------------------------------------------------------
|
---|
16 |
|
---|
17 | EXPORT CpuSleep
|
---|
18 | AREA cpu_sleep, CODE, READONLY
|
---|
19 |
|
---|
20 | ;/**
|
---|
21 | ; Places the CPU in a sleep state until an interrupt is received.
|
---|
22 | ;
|
---|
23 | ; Places the CPU in a sleep state until an interrupt is received. If interrupts
|
---|
24 | ; are disabled prior to calling this function, then the CPU will be placed in a
|
---|
25 | ; sleep state indefinitely.
|
---|
26 | ;
|
---|
27 | ;**/
|
---|
28 | ;VOID
|
---|
29 | ;EFIAPI
|
---|
30 | ;CpuSleep (
|
---|
31 | ; VOID
|
---|
32 | ; );
|
---|
33 | ;
|
---|
34 | CpuSleep
|
---|
35 | WFI
|
---|
36 | BX LR
|
---|
37 |
|
---|
38 | END
|
---|