1 | /** @file
|
---|
2 | CpuSleep function for Ia32/X64 GCC.
|
---|
3 |
|
---|
4 | Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
---|
5 | Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
---|
6 | SPDX-License-Identifier: BSD-2-Clause-Patent
|
---|
7 |
|
---|
8 | **/
|
---|
9 |
|
---|
10 | /**
|
---|
11 | Places the CPU in a sleep state until an interrupt is received.
|
---|
12 |
|
---|
13 | Places the CPU in a sleep state until an interrupt is received. If interrupts
|
---|
14 | are disabled prior to calling this function, then the CPU will be placed in a
|
---|
15 | sleep state indefinitely.
|
---|
16 |
|
---|
17 | **/
|
---|
18 | VOID
|
---|
19 | EFIAPI
|
---|
20 | CpuSleep (
|
---|
21 | VOID
|
---|
22 | )
|
---|
23 | {
|
---|
24 | __asm__ __volatile__ ("hlt"::: "memory");
|
---|
25 | }
|
---|