]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Library/BaseLib/Arm/GetInterruptsState.S
Fix issue with CodeSourcery gcc requiring assembly functions to have a .type define...
[mirror_edk2.git] / MdePkg / Library / BaseLib / Arm / GetInterruptsState.S
CommitLineData
ebd04fc2 1#------------------------------------------------------------------------------ \r
2#\r
3# GetInterruptState() function for ARM\r
4#\r
bb817c56
HT
5# Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
6# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
7# This program and the accompanying materials\r
ebd04fc2 8# are licensed and made available under the terms and conditions of the BSD License\r
9# which accompanies this distribution. The full text of the license may be found at\r
35a17154 10# http://opensource.org/licenses/bsd-license.php.\r
ebd04fc2 11#\r
12# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
13# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
14#\r
15#------------------------------------------------------------------------------\r
16\r
17.text\r
18.p2align 2\r
e7cb469e 19.globl ASM_PFX(GetInterruptState)\r
20INTERWORK_FUNC(GetInterruptState)
ebd04fc2 21\r
22#/**\r
23# Retrieves the current CPU interrupt state.\r
24#\r
25# Returns TRUE is interrupts are currently enabled. Otherwise\r
26# returns FALSE.\r
27#\r
28# @retval TRUE CPU interrupts are enabled.\r
29# @retval FALSE CPU interrupts are disabled.\r
30#\r
31#**/\r
32#\r
33#BOOLEAN\r
34#EFIAPI\r
35#GetInterruptState (\r
36# VOID\r
37# );\r
38#\r
e7cb469e 39ASM_PFX(GetInterruptState):\r
ebd04fc2 40 mrs R0, CPSR\r
01a54966 41 tst R0, #0x80 @Check if IRQ is enabled.\r
ebd04fc2 42 moveq R0, #1\r
43 movne R0, #0\r
44 bx LR\r