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 - 2009, Apple Inc. All rights reserved.<BR>
|
---|
13 | # SPDX-License-Identifier: BSD-2-Clause-Patent
|
---|
14 | #
|
---|
15 | #------------------------------------------------------------------------------
|
---|
16 |
|
---|
17 | .text
|
---|
18 | .p2align 2
|
---|
19 | GCC_ASM_EXPORT(CpuSleep)
|
---|
20 |
|
---|
21 | #/**
|
---|
22 | # Places the CPU in a sleep state until an interrupt is received.
|
---|
23 | #
|
---|
24 | # Places the CPU in a sleep state until an interrupt is received. If interrupts
|
---|
25 | # are disabled prior to calling this function, then the CPU will be placed in a
|
---|
26 | # sleep state indefinitely.
|
---|
27 | #
|
---|
28 | #**/
|
---|
29 | #VOID
|
---|
30 | #EFIAPI
|
---|
31 | #CpuSleep (
|
---|
32 | # VOID
|
---|
33 | # );
|
---|
34 | #
|
---|
35 | ASM_PFX(CpuSleep):
|
---|
36 | wfi
|
---|
37 | bx lr
|
---|