1 /** @file
2   IA-32/x64 GetInterruptState()
3 
4   Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
5   This program and the accompanying materials
6   are licensed and made available under the terms and conditions of the BSD License
7   which accompanies this distribution.  The full text of the license may be found at
8   http://opensource.org/licenses/bsd-license.php.
9 
10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 
13 **/
14 
15 
16 #include "BaseLibInternals.h"
17 
18 
19 /**
20   Retrieves the current CPU interrupt state.
21 
22   Returns TRUE is interrupts are currently enabled. Otherwise
23   returns FALSE.
24 
25   @retval TRUE  CPU interrupts are enabled.
26   @retval FALSE CPU interrupts are disabled.
27 
28 **/
29 BOOLEAN
30 EFIAPI
GetInterruptState(VOID)31 GetInterruptState (
32   VOID
33   )
34 {
35   IA32_EFLAGS32                     EFlags;
36 
37   EFlags.UintN = AsmReadEflags ();
38   return (BOOLEAN)(1 == EFlags.Bits.IF);
39 }
40 
41 
42