aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/romlayout.S35
1 files changed, 18 insertions, 17 deletions
diff --git a/src/romlayout.S b/src/romlayout.S
index 7a14a7f6..3dfec781 100644
--- a/src/romlayout.S
+++ b/src/romlayout.S
@@ -427,6 +427,18 @@ post32:
* Interrupt entry points
****************************************************************/
+ // Main entry point for interrupts without args
+ DECLFUNC irqentry
+irqentry:
+ ENTRY_ST
+ iretw
+
+ // Main entry point for interrupts with args
+ DECLFUNC irqentryarg
+irqentryarg:
+ ENTRY_ARG_ST
+ iretw
+
// Define an entry point for an interrupt (no args passed).
.macro IRQ_ENTRY num
.global entry_\num
@@ -435,6 +447,11 @@ post32:
jmp irqentry
.endm
+ .macro DECL_IRQ_ENTRY num
+ DECLFUNC entry_\num
+ IRQ_ENTRY \num
+ .endm
+
// Define an entry point for an interrupt (can read/modify args).
.macro IRQ_ENTRY_ARG num
.global entry_\num
@@ -443,28 +460,12 @@ post32:
jmp irqentryarg
.endm
- // Macros that put each handler into its own section
- .macro DECL_IRQ_ENTRY num
- DECLFUNC entry_\num
- IRQ_ENTRY \num
- .endm
.macro DECL_IRQ_ENTRY_ARG num
DECLFUNC entry_\num
IRQ_ENTRY_ARG \num
.endm
- // Main entry point for interrupts without args
- DECLFUNC irqentry
-irqentry:
- ENTRY_ST
- iretw
-
- // Main entry point for interrupts with args
- DECLFUNC irqentryarg
-irqentryarg:
- ENTRY_ARG_ST
- iretw
-
+ // Various entry points (that don't require a fixed location).
DECL_IRQ_ENTRY_ARG 13
DECL_IRQ_ENTRY 76
DECL_IRQ_ENTRY 70