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)