summaryrefslogtreecommitdiff
path: root/include/soc/sprd/entry-macro.S
diff options
context:
space:
mode:
Diffstat (limited to 'include/soc/sprd/entry-macro.S')
-rw-r--r--include/soc/sprd/entry-macro.S36
1 files changed, 36 insertions, 0 deletions
diff --git a/include/soc/sprd/entry-macro.S b/include/soc/sprd/entry-macro.S
new file mode 100644
index 00000000..1312f11b
--- /dev/null
+++ b/include/soc/sprd/entry-macro.S
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2012 Spreadtrum Communications Inc.
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+#ifndef CONFIG_ARM_GIC
+#include <mach/hardware.h>
+
+ .macro disable_fiq
+ .endm
+
+ .macro get_irqnr_preamble, base, tmp
+ @ enable imprecise aborts
+ @cpsie a
+ ldr \base, =SPRD_INTC0_BASE
+ .endm
+
+ .macro arch_ret_to_user, tmp1, tmp2
+ .endm
+
+ .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
+ @ldr \irqstat, [\base, #0x0004]
+ ldr \irqstat, [\base]
+ cmp \irqstat, #0
+ clzne \irqnr, \irqstat
+ rsbne \irqnr, \irqnr, #31
+ .endm
+
+#endif