1#------------------------------------------------------------------------------
2#
3# DisableInterrupts() 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(DisableInterrupts)
20
21#/**
22#  Disables CPU interrupts.
23#
24#**/
25#VOID
26#EFIAPI
27#DisableInterrupts (
28#  VOID
29#  );
30#
31ASM_PFX(DisableInterrupts):
32    mrs  R0,CPSR
33    orr  R0,R0,#0x80    @Disable IRQ interrupts
34    msr  CPSR_c,R0
35    bx   LR
36