]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Library/BaseLib/AArch64/GetInterruptsState.S
MdePkg/Library/BaseLib/AArch64: Comment style harmonization
[mirror_edk2.git] / MdePkg / Library / BaseLib / AArch64 / GetInterruptsState.S
CommitLineData
807e2604
HL
1#------------------------------------------------------------------------------\r
2#\r
3# GetInterruptState() function for AArch64\r
4#\r
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# Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>\r
8# This program and the accompanying materials\r
9# are licensed and made available under the terms and conditions of the BSD License\r
10# which accompanies this distribution. The full text of the license may be found at\r
11# http://opensource.org/licenses/bsd-license.php.\r
12#\r
13# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
14# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
15#\r
16#------------------------------------------------------------------------------\r
17\r
18.text\r
19.p2align 2\r
0f895683 20GCC_ASM_EXPORT(GetInterruptState)\r
807e2604 21\r
5458faf8
EC
22.set DAIF_RD_IRQ_BIT, (1 << 7)\r
23\r
807e2604
HL
24#/**\r
25# Retrieves the current CPU interrupt state.\r
26#\r
27# Returns TRUE is interrupts are currently enabled. Otherwise\r
28# returns FALSE.\r
29#\r
30# @retval TRUE CPU interrupts are enabled.\r
31# @retval FALSE CPU interrupts are disabled.\r
32#\r
33#**/\r
34#\r
35#BOOLEAN\r
36#EFIAPI\r
37#GetInterruptState (\r
38# VOID\r
39# );\r
40#\r
41ASM_PFX(GetInterruptState):\r
42 mrs x0, daif\r
5458faf8
EC
43 tst x0, #DAIF_RD_IRQ_BIT // Check IRQ mask; set Z=1 if clear/unmasked\r
44 cset w0, eq // if Z=1 (eq) return 1, else 0\r
807e2604 45 ret\r