Module Name: src Committed By: maxv Date: Sat Jan 27 18:48:59 UTC 2018
Modified Files: src/sys/arch/i386/i386: vector.S src/sys/arch/i386/include: frameasm.h Log Message: Declare INTR_RECURSE_HWFRAME, same as amd64. To generate a diff of this commit: cvs rdiff -u -r1.73 -r1.74 src/sys/arch/i386/i386/vector.S cvs rdiff -u -r1.24 -r1.25 src/sys/arch/i386/include/frameasm.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/i386/i386/vector.S diff -u src/sys/arch/i386/i386/vector.S:1.73 src/sys/arch/i386/i386/vector.S:1.74 --- src/sys/arch/i386/i386/vector.S:1.73 Fri Aug 18 14:52:19 2017 +++ src/sys/arch/i386/i386/vector.S Sat Jan 27 18:48:59 2018 @@ -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 @@ dtrace_invop_calltrap_addr: * 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 @@ IDTVEC_END(x2apic_intrddbipi) * 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 @@ IDTVEC_END(resume_lapic_ltimer) #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 @@ END(x2apic_level_stubs) #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 ;\ Index: src/sys/arch/i386/include/frameasm.h diff -u src/sys/arch/i386/include/frameasm.h:1.24 src/sys/arch/i386/include/frameasm.h:1.25 --- src/sys/arch/i386/include/frameasm.h:1.24 Sat Jan 27 09:33:25 2018 +++ src/sys/arch/i386/include/frameasm.h Sat Jan 27 18:48:59 2018 @@ -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)