aboutsummaryrefslogtreecommitdiff
path: root/i386/i386at/interrupt.S
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2022-12-24 20:08:53 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2022-12-24 20:08:53 +0100
commitbdd790bd8397c4b4dd67fe353378e607ec9ae620 (patch)
tree9f41ee24b72143f69271a6ee02d24e5d30d4089e /i386/i386at/interrupt.S
parent7bc36d605365dfd011b10da42a84ac53f0cd442d (diff)
downloadgnumach-bdd790bd8397c4b4dd67fe353378e607ec9ae620.tar.gz
gnumach-bdd790bd8397c4b4dd67fe353378e607ec9ae620.tar.bz2
gnumach-bdd790bd8397c4b4dd67fe353378e607ec9ae620.zip
intr: Drop irq parameter
This is not actually used.
Diffstat (limited to 'i386/i386at/interrupt.S')
-rw-r--r--i386/i386at/interrupt.S19
1 files changed, 8 insertions, 11 deletions
diff --git a/i386/i386at/interrupt.S b/i386/i386at/interrupt.S
index 167e02c8..16e0df10 100644
--- a/i386/i386at/interrupt.S
+++ b/i386/i386at/interrupt.S
@@ -33,17 +33,17 @@
* Note: kdb_kintr needs to know our stack usage
*/
-#define S_REGS 32(%esp)
-#define S_RET 28(%esp)
-#define S_IRQ 24(%esp)
-#define S_IPL 20(%esp)
+#define S_REGS 28(%esp)
+#define S_RET 24(%esp)
+#define S_IRQ 20(%esp)
+#define S_IPL 16(%esp)
ENTRY(interrupt)
#ifdef APIC
cmpl $255,%eax /* was this a spurious intr? */
je _no_eoi /* if so, just return */
#endif
- subl $28,%esp /* Two local variables + 5 parameters */
+ subl $24,%esp /* Two local variables + 4 parameters */
movl %eax,S_IRQ /* save irq number */
call spl7 /* set ipl */
movl %eax,S_IPL /* save previous ipl */
@@ -51,14 +51,11 @@ ENTRY(interrupt)
movl S_IPL,%eax
movl %eax,4(%esp) /* previous ipl as 2nd arg */
- movl S_IRQ,%eax
- movl %eax,8(%esp) /* irq number as 3rd arg */
-
movl S_RET,%eax
- movl %eax,12(%esp) /* return address as 4th arg */
+ movl %eax,8(%esp) /* return address as 3rd arg */
movl S_REGS,%eax
- movl %eax,16(%esp) /* address of interrupted registers as 5th arg */
+ movl %eax,12(%esp) /* address of interrupted registers as 4th arg */
movl S_IRQ,%eax /* copy irq number */
shll $2,%eax /* irq * 4 */
@@ -117,7 +114,7 @@ _isa_eoi:
movl %ecx,(%esp) /* load irq number as 1st arg */
call EXT(ioapic_irq_eoi) /* ioapic irq specific EOI */
#endif
- addl $28,%esp /* pop local variables */
+ addl $24,%esp /* pop local variables */
_no_eoi:
ret
END(interrupt)