Module Name: src
Committed By: cherry
Date: Tue Dec 25 09:00:26 UTC 2018
Modified Files:
src/sys/arch/i386/i386: i386_trap.S spl.S
src/sys/arch/xen/x86: xen_intr.c
Log Message:
fix i386 build - missed sources migration in previous commit.
allow xen_intr.c to build by bringing in static support functions for
-D INTRSTACKSIZE
This should fix the i386 build now.
To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/i386/i386/i386_trap.S
cvs rdiff -u -r1.44 -r1.45 src/sys/arch/i386/i386/spl.S
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/xen/x86/xen_intr.c
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/i386_trap.S
diff -u src/sys/arch/i386/i386/i386_trap.S:1.15 src/sys/arch/i386/i386/i386_trap.S:1.16
--- src/sys/arch/i386/i386/i386_trap.S:1.15 Sat Jul 14 14:29:40 2018
+++ src/sys/arch/i386/i386/i386_trap.S Tue Dec 25 09:00:26 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: i386_trap.S,v 1.15 2018/07/14 14:29:40 maxv Exp $ */
+/* $NetBSD: i386_trap.S,v 1.16 2018/12/25 09:00:26 cherry Exp $ */
/*
* Copyright 2002 (c) Wasabi Systems, Inc.
@@ -66,7 +66,7 @@
#if 0
#include <machine/asm.h>
-__KERNEL_RCSID(0, "$NetBSD: i386_trap.S,v 1.15 2018/07/14 14:29:40 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i386_trap.S,v 1.16 2018/12/25 09:00:26 cherry Exp $");
#endif
/*
@@ -447,12 +447,12 @@ _C_LABEL(trapreturn): .globl trapreturn
movl $.Lalltraps_resume,%esi /* address to resume loop at */
.Lalltraps_resume:
movl %ebx,%eax /* get cpl */
- movl CPUVAR(IUNMASK)(,%eax,4),%eax
- andl CPUVAR(IPENDING),%eax /* any non-masked bits left? */
+ movl CPUVAR(XUNMASK)(,%eax,4),%eax
+ andl CPUVAR(XPENDING),%eax /* any non-masked bits left? */
jz 7f
bsrl %eax,%eax
- btrl %eax,CPUVAR(IPENDING)
- movl CPUVAR(ISOURCES)(,%eax,4),%eax
+ btrl %eax,CPUVAR(XPENDING)
+ movl CPUVAR(XSOURCES)(,%eax,4),%eax
jmp *IS_RESUME(%eax)
7: movl %ebx,CPUVAR(ILEVEL) /* restore cpl */
jmp _C_LABEL(trapreturn)
Index: src/sys/arch/i386/i386/spl.S
diff -u src/sys/arch/i386/i386/spl.S:1.44 src/sys/arch/i386/i386/spl.S:1.45
--- src/sys/arch/i386/i386/spl.S:1.44 Tue Dec 25 06:50:11 2018
+++ src/sys/arch/i386/i386/spl.S Tue Dec 25 09:00:26 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: spl.S,v 1.44 2018/12/25 06:50:11 cherry Exp $ */
+/* $NetBSD: spl.S,v 1.45 2018/12/25 09:00:26 cherry Exp $ */
/*
* Copyright (c) 1998, 2007, 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <machine/asm.h>
-__KERNEL_RCSID(0, "$NetBSD: spl.S,v 1.44 2018/12/25 06:50:11 cherry Exp $");
+__KERNEL_RCSID(0, "$NetBSD: spl.S,v 1.45 2018/12/25 09:00:26 cherry Exp $");
#include "opt_ddb.h"
#include "opt_spldebug.h"
@@ -290,12 +290,12 @@ IDTVEC(doreti)
2: /* Check for ASTs on exit to user mode. */
#if defined(XEN)
movl %ebx,%eax
- movl CPUVAR(IUNMASK)(,%eax,4),%eax
- andl CPUVAR(IPENDING),%eax
+ movl CPUVAR(XUNMASK)(,%eax,4),%eax
+ andl CPUVAR(XPENDING),%eax
jz 3f
bsrl %eax,%eax /* slow, but not worth optimizing */
- btrl %eax,CPUVAR(IPENDING)
- movl CPUVAR(ISOURCES)(,%eax, 4),%eax
+ btrl %eax,CPUVAR(XPENDING)
+ movl CPUVAR(XSOURCES)(,%eax, 4),%eax
jmp *IS_RESUME(%eax)
#endif
3:
Index: src/sys/arch/xen/x86/xen_intr.c
diff -u src/sys/arch/xen/x86/xen_intr.c:1.11 src/sys/arch/xen/x86/xen_intr.c:1.12
--- src/sys/arch/xen/x86/xen_intr.c:1.11 Tue Dec 25 06:50:12 2018
+++ src/sys/arch/xen/x86/xen_intr.c Tue Dec 25 09:00:26 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: xen_intr.c,v 1.11 2018/12/25 06:50:12 cherry Exp $ */
+/* $NetBSD: xen_intr.c,v 1.12 2018/12/25 09:00:26 cherry Exp $ */
/*-
* Copyright (c) 1998, 2001 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xen_intr.c,v 1.11 2018/12/25 06:50:12 cherry Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xen_intr.c,v 1.12 2018/12/25 09:00:26 cherry Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -40,6 +40,8 @@ __KERNEL_RCSID(0, "$NetBSD: xen_intr.c,v
#include <xen/evtchn.h>
+#include <uvm/uvm.h>
+
#include <machine/cpu.h>
#include <machine/intr.h>
@@ -302,6 +304,24 @@ xen_cpu_intr_redistribute(void)
}
/* MD - called by x86/cpu.c */
+#if defined(INTRSTACKSIZE)
+static inline bool
+redzone_const_or_false(bool x)
+{
+#ifdef DIAGNOSTIC
+ return x;
+#else
+ return false;
+#endif /* !DIAGNOSTIC */
+}
+
+static inline int
+redzone_const_or_zero(int x)
+{
+ return redzone_const_or_false(true) ? x : 0;
+}
+#endif
+
void
cpu_intr_init(struct cpu_info *ci)
{