diff options
-rw-r--r-- | src/romlayout.S | 35 |
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 |