1;------------------------------------------------------------------------------ 2; 3; GetInterruptState() function for ARM 4; 5; Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR> 6; Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 7; This program and the accompanying materials 8; are licensed and made available under the terms and conditions of the BSD License 9; which accompanies this distribution. The full text of the license may be found at 10; http://opensource.org/licenses/bsd-license.php. 11; 12; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 13; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 14; 15;------------------------------------------------------------------------------ 16 17 EXPORT GetInterruptState 18 19 AREA Interrupt_enable, CODE, READONLY 20 21;/** 22; Retrieves the current CPU interrupt state. 23; 24; Returns TRUE is interrupts are currently enabled. Otherwise 25; returns FALSE. 26; 27; @retval TRUE CPU interrupts are enabled. 28; @retval FALSE CPU interrupts are disabled. 29; 30;**/ 31; 32;BOOLEAN 33;EFIAPI 34;GetInterruptState ( 35; VOID 36; ); 37; 38GetInterruptState 39 MRS R0, CPSR 40 TST R0, #0x80 ;Check if IRQ is enabled. 41 MOVEQ R0, #1 42 MOVNE R0, #0 43 BX LR 44 45 END 46