Module Name:    src
Committed By:   jdolecek
Date:           Mon Oct 17 18:23:50 UTC 2016

Modified Files:
        src/sys/arch/xen/include: intr.h
        src/sys/arch/xen/x86: intr.c
        src/sys/dev/isa: files.isa
Added Files:
        src/sys/dev/isa: isa_stub.c

Log Message:
provide stub intr xname establish for xen


To generate a diff of this commit:
cvs rdiff -u -r1.38 -r1.39 src/sys/arch/xen/include/intr.h
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/xen/x86/intr.c
cvs rdiff -u -r1.163 -r1.164 src/sys/dev/isa/files.isa
cvs rdiff -u -r0 -r1.1 src/sys/dev/isa/isa_stub.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/xen/include/intr.h
diff -u src/sys/arch/xen/include/intr.h:1.38 src/sys/arch/xen/include/intr.h:1.39
--- src/sys/arch/xen/include/intr.h:1.38	Sun Oct 16 06:40:43 2016
+++ src/sys/arch/xen/include/intr.h	Mon Oct 17 18:23:50 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: intr.h,v 1.38 2016/10/16 06:40:43 kre Exp $	*/
+/*	$NetBSD: intr.h,v 1.39 2016/10/17 18:23:50 jdolecek Exp $	*/
 /*	NetBSD intr.h,v 1.15 2004/10/31 10:39:34 yamt Exp	*/
 
 /*-
@@ -164,6 +164,8 @@ void intr_default_setup(void);
 int x86_nmi(void);
 
 void *intr_establish(int, struct pic *, int, int, int, int (*)(void *), void *, bool);
+void *intr_establish_xname(int, struct pic *, int, int, int, int (*)(void *), void *,
+    bool, const char *);
 void intr_disestablish(struct intrhand *);
 const char *intr_string(intr_handle_t);
 void cpu_intr_init(struct cpu_info *);
@@ -184,15 +186,6 @@ void xen_broadcast_ipi(uint32_t);
 #define xen_send_ipi(_i1, _i2) (0) /* nothing */
 #define xen_broadcast_ipi(_i1) ((void) 0) /* nothing */
 #endif /* MULTIPROCESSOR */
-
-/*
- * XXX Hack: allow xen kernels to build with recent (Oct 2016) changes
- *	     to acpi interrupt establishment (until a better solution)
- */
-#define intr_establish_xname(a,b,c,d,e,f,g,h,i) intr_establish(a,b,c,d,e,f,g,h)
-#define isa_intr_establish_xname(a,b,c,d,e,f,g) isa_intr_establish(a,b,c,d,e,f)
-/* kcaH XXX */
-
 #endif /* !_LOCORE */
 
 #endif /* _XEN_INTR_H_ */

Index: src/sys/arch/xen/x86/intr.c
diff -u src/sys/arch/xen/x86/intr.c:1.29 src/sys/arch/xen/x86/intr.c:1.30
--- src/sys/arch/xen/x86/intr.c:1.29	Sat Aug 13 16:22:15 2011
+++ src/sys/arch/xen/x86/intr.c	Mon Oct 17 18:23:50 2016
@@ -103,7 +103,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.29 2011/08/13 16:22:15 cherry Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.30 2016/10/17 18:23:50 jdolecek Exp $");
 
 #include "opt_multiprocessor.h"
 #include "opt_xen.h"
@@ -187,6 +187,16 @@ cpu_intr_init(struct cpu_info *ci)
 
 #if NPCI > 0 || NISA > 0
 void *
+intr_establish_xname(int legacy_irq, struct pic *pic, int pin,
+    int type, int level, int (*handler)(void *) , void *arg,
+    bool known_mpsafe, const char *xname)
+{
+	/* XXX xname registration not supported */
+	return intr_establish(legacy_irq, pic, pin, type, level, handler, arg,
+	    known_mpsafe);
+}
+
+void *
 intr_establish(int legacy_irq, struct pic *pic, int pin,
     int type, int level, int (*handler)(void *) , void *arg,
     bool known_mpsafe)

Index: src/sys/dev/isa/files.isa
diff -u src/sys/dev/isa/files.isa:1.163 src/sys/dev/isa/files.isa:1.164
--- src/sys/dev/isa/files.isa:1.163	Mon Jun 10 07:14:02 2013
+++ src/sys/dev/isa/files.isa	Mon Oct 17 18:23:49 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: files.isa,v 1.163 2013/06/10 07:14:02 kardel Exp $
+#	$NetBSD: files.isa,v 1.164 2016/10/17 18:23:49 jdolecek Exp $
 #
 # Config file and device description for machine-independent ISA code.
 # Included by ports that need it.  Requires that the SCSI files be
@@ -13,6 +13,7 @@ device	isa {[port = -1], [size = 0],
 	     [irq = -1], [drq = -1], [drq2 = -1]}
 attach	isa at isabus
 file	dev/isa/isa.c			isa			needs-flag
+file	dev/isa/isa_stub.c		isa
 
 file	dev/isa/isabusprint.c		isabus
 

Added files:

Index: src/sys/dev/isa/isa_stub.c
diff -u /dev/null src/sys/dev/isa/isa_stub.c:1.1
--- /dev/null	Mon Oct 17 18:23:50 2016
+++ src/sys/dev/isa/isa_stub.c	Mon Oct 17 18:23:49 2016
@@ -0,0 +1,57 @@
+/*	$NetBSD: isa_stub.c,v 1.1 2016/10/17 18:23:49 jdolecek Exp $	*/
+
+/*-
+ * Copyright (c) 2016 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Charles M. Hannum; by Jason R. Thorpe of Wasabi Systems, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: isa_stub.c,v 1.1 2016/10/17 18:23:49 jdolecek Exp $");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/kernel.h>
+#include <sys/malloc.h>
+#include <sys/device.h>
+
+#include <sys/intr.h>
+
+#include <dev/isa/isareg.h>
+#include <dev/isa/isavar.h>
+#include <dev/isa/isadmareg.h>
+
+void	*default_isa_intr_establish_xname(isa_chipset_tag_t ic, int irq,
+	    int type,
+	    int level, int (*ih_fun)(void *), void *ih_arg, const char *xname);
+__strict_weak_alias(isa_intr_establish_xname, default_isa_intr_establish_xname);
+
+void *
+default_isa_intr_establish_xname(isa_chipset_tag_t ic, int irq, int type,
+	    int level, int (*ih_fun)(void *), void *ih_arg, const char *xname)
+{
+	return isa_intr_establish(ic, irq, type, level, ih_fun, ih_arg);
+}

Reply via email to