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.text 18.p2align 2 19GCC_ASM_EXPORT (GetInterruptState) 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# 38ASM_PFX(GetInterruptState): 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