Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/arm/mach-ebsa110/include/mach/entry-macro.S
10820 views
1
/*
2
* arch/arm/mach-ebsa110/include/mach/entry-macro.S
3
*
4
* Low-level IRQ helper macros for ebsa110 platform.
5
*
6
* This file is licensed under the terms of the GNU General Public
7
* License version 2. This program is licensed "as is" without any
8
* warranty of any kind, whether express or implied.
9
*/
10
11
12
13
#define IRQ_STAT 0xff000000 /* read */
14
15
.macro disable_fiq
16
.endm
17
18
.macro get_irqnr_preamble, base, tmp
19
mov \base, #IRQ_STAT
20
.endm
21
22
.macro arch_ret_to_user, tmp1, tmp2
23
.endm
24
25
.macro get_irqnr_and_base, irqnr, stat, base, tmp
26
ldrb \stat, [\base] @ get interrupts
27
mov \irqnr, #0
28
tst \stat, #15
29
addeq \irqnr, \irqnr, #4
30
moveq \stat, \stat, lsr #4
31
tst \stat, #3
32
addeq \irqnr, \irqnr, #2
33
moveq \stat, \stat, lsr #2
34
tst \stat, #1
35
addeq \irqnr, \irqnr, #1
36
moveq \stat, \stat, lsr #1
37
tst \stat, #1 @ bit 0 should be set
38
.endm
39
40
41