Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/i386 Declare INTR_RECURSE_HWFRAME, same as amd64.



details:   https://anonhg.NetBSD.org/src/rev/ac6c8398dceb
branches:  trunk
changeset: 829370:ac6c8398dceb
user:      maxv <maxv%NetBSD.org@localhost>
date:      Sat Jan 27 18:48:59 2018 +0000

description:
Declare INTR_RECURSE_HWFRAME, same as amd64.

diffstat:

 sys/arch/i386/i386/vector.S      |  20 ++++++--------------
 sys/arch/i386/include/frameasm.h |   7 ++++++-
 2 files changed, 12 insertions(+), 15 deletions(-)

diffs (83 lines):

diff -r 6a2dd95b6149 -r ac6c8398dceb sys/arch/i386/i386/vector.S
--- a/sys/arch/i386/i386/vector.S       Sat Jan 27 18:44:19 2018 +0000
+++ b/sys/arch/i386/i386/vector.S       Sat Jan 27 18:48:59 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: vector.S,v 1.73 2017/08/18 14:52:19 maxv Exp $ */
+/*     $NetBSD: vector.S,v 1.74 2018/01/27 18:48:59 maxv Exp $ */
 
 /*
  * Copyright 2002 (c) Wasabi Systems, Inc.
@@ -65,7 +65,7 @@
  */
 
 #include <machine/asm.h>
-__KERNEL_RCSID(0, "$NetBSD: vector.S,v 1.73 2017/08/18 14:52:19 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vector.S,v 1.74 2018/01/27 18:48:59 maxv Exp $");
 
 #include "opt_ddb.h"
 #include "opt_multiprocessor.h"
@@ -149,9 +149,7 @@
  * General purpose IPI handler.
  */
 IDTVEC(recurse_lapic_ipi)
-       pushfl
-       pushl   %cs
-       pushl   %esi
+       INTR_RECURSE_HWFRAME
        pushl   $0
        pushl   $T_ASTFLT
        INTRENTRY
@@ -276,9 +274,7 @@
         * Interrupt from the local APIC timer.
         */
 IDTVEC(recurse_lapic_ltimer)
-       pushfl
-       pushl   %cs
-       pushl   %esi
+       INTR_RECURSE_HWFRAME
        pushl   $0
        pushl   $T_ASTFLT
        INTRENTRY
@@ -335,9 +331,7 @@
 
 #define        INTRSTUB(name, num, early_ack, late_ack, mask, unmask, level_mask) \
 IDTVEC(recurse_ ## name ## num)                                                ;\
-       pushfl                                                          ;\
-       pushl   %cs                                                     ;\
-       pushl   %esi                                                    ;\
+       INTR_RECURSE_HWFRAME                                            ;\
        subl    $4,%esp                                                 ;\
        pushl   $T_ASTFLT               /* trap # for doing ASTs */     ;\
        INTRENTRY                                                       ;\
@@ -898,9 +892,7 @@
 
 #define        XENINTRSTUB(name, num, early_ack, late_ack, mask, unmask, level_mask) \
 IDTVEC(recurse_ ## name ## num)                                                ;\
-       pushfl                                                          ;\
-       pushl   %cs                                                     ;\
-       pushl   %esi                                                    ;\
+       INTR_RECURSE_HWFRAME                                            ;\
        subl    $4,%esp                                                 ;\
        pushl   $T_ASTFLT               /* trap # for doing ASTs */     ;\
        INTRENTRY                                                       ;\
diff -r 6a2dd95b6149 -r ac6c8398dceb sys/arch/i386/include/frameasm.h
--- a/sys/arch/i386/include/frameasm.h  Sat Jan 27 18:44:19 2018 +0000
+++ b/sys/arch/i386/include/frameasm.h  Sat Jan 27 18:48:59 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: frameasm.h,v 1.24 2018/01/27 09:33:25 maxv Exp $       */
+/*     $NetBSD: frameasm.h,v 1.25 2018/01/27 18:48:59 maxv Exp $       */
 
 #ifndef _I386_FRAMEASM_H_
 #define _I386_FRAMEASM_H_
@@ -76,6 +76,11 @@
 #define        INTRFASTEXIT \
        jmp     intrfastexit
 
+#define INTR_RECURSE_HWFRAME \
+       pushfl                          ; \
+       pushl   %cs                     ; \
+       pushl   %esi                    ;
+
 #define        CHECK_DEFERRED_SWITCH \
        cmpl    $0, CPUVAR(WANT_PMAPLOAD)
 



Home | Main Index | Thread Index | Old Index