Add ARM support
Add C inline assembly files for IA32 and X64 GCC builds. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9113 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
45
MdePkg/Library/BaseLib/Arm/GetInterruptsState.asm
Normal file
45
MdePkg/Library/BaseLib/Arm/GetInterruptsState.asm
Normal file
@@ -0,0 +1,45 @@
|
||||
;------------------------------------------------------------------------------
|
||||
;
|
||||
; GetInterruptState() function for ARM
|
||||
;
|
||||
; Copyright (c) 2006 - 2009, Intel Corporation<BR>
|
||||
; Portions copyright (c) 2008-2009 Apple Inc.<BR>
|
||||
; All rights reserved. This program and the accompanying materials
|
||||
; are licensed and made available under the terms and conditions of the BSD License
|
||||
; which accompanies this distribution. The full text of the license may be found at
|
||||
; http://opensource.org/licenses/bsd-license.php
|
||||
;
|
||||
; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
EXPORT GetInterruptState
|
||||
|
||||
AREA Interrupt_enable, CODE, READONLY
|
||||
|
||||
;/**
|
||||
; Retrieves the current CPU interrupt state.
|
||||
;
|
||||
; Returns TRUE is interrupts are currently enabled. Otherwise
|
||||
; returns FALSE.
|
||||
;
|
||||
; @retval TRUE CPU interrupts are enabled.
|
||||
; @retval FALSE CPU interrupts are disabled.
|
||||
;
|
||||
;**/
|
||||
;
|
||||
;BOOLEAN
|
||||
;EFIAPI
|
||||
;GetInterruptState (
|
||||
; VOID
|
||||
; );
|
||||
;
|
||||
GetInterruptState
|
||||
MRS R0, CPSR
|
||||
TST R0, #0x80 ;Check if IRQ is enabled.
|
||||
MOVEQ R0, #1
|
||||
MOVNE R0, #0
|
||||
BX LR
|
||||
|
||||
END
|
Reference in New Issue
Block a user