bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 1/5 gnumach] interrupt.S: Dont change ipl for pmap_update_interru


From: Damien Zammit
Subject: [PATCH 1/5 gnumach] interrupt.S: Dont change ipl for pmap_update_interrupt
Date: Mon, 13 Feb 2023 08:49:39 +0000

---
 i386/i386at/interrupt.S | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/i386/i386at/interrupt.S b/i386/i386at/interrupt.S
index 1103b1c8..55f4fa0f 100644
--- a/i386/i386at/interrupt.S
+++ b/i386/i386at/interrupt.S
@@ -43,6 +43,9 @@ ENTRY(interrupt)
        cmpl    $255,%eax               /* was this a spurious intr? */
        je      _no_eoi                 /* if so, just return */
 #endif
+       cmpl    $CALL_SINGLE_FUNCTION_BASE,%eax         /* was this a SMP call 
single function request? */
+       je      _call_single
+
        subl    $24,%esp                /* Two local variables + 4 parameters */
        movl    %eax,S_IRQ              /* save irq number */
        call    spl7                    /* set ipl */
@@ -58,8 +61,6 @@ ENTRY(interrupt)
        movl    %eax,12(%esp)           /* address of interrupted registers as 
4th arg */

        movl    S_IRQ,%eax              /* copy irq number */
-       cmpl    $CALL_SINGLE_FUNCTION_BASE,%eax         /* was this a SMP call 
single function request? */
-       je      _call_single

        shll    $2,%eax                 /* irq * 4 */
        movl    EXT(iunit)(%eax),%edx   /* get device unit number */
@@ -124,6 +125,5 @@ _no_eoi:
 _call_single:
        call    EXT(lapic_eoi)          /* lapic EOI before the handler to 
allow extra update */
        call    EXT(pmap_update_interrupt) /* TODO: Allow other functions */
-       addl    $24,%esp
        ret
 END(interrupt)
--
2.34.1





reply via email to

[Prev in Thread] Current Thread [Next in Thread]