Source-Changes-HG archive

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

[src/trunk]: src/sys provide stub intr xname establish for xen



details:   https://anonhg.NetBSD.org/src/rev/d30efd405ddc
branches:  trunk
changeset: 348398:d30efd405ddc
user:      jdolecek <jdolecek%NetBSD.org@localhost>
date:      Mon Oct 17 18:23:49 2016 +0000

description:
provide stub intr xname establish for xen

diffstat:

 sys/arch/xen/include/intr.h |  13 ++-------
 sys/arch/xen/x86/intr.c     |  12 ++++++++-
 sys/dev/isa/files.isa       |   3 +-
 sys/dev/isa/isa_stub.c      |  57 +++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 73 insertions(+), 12 deletions(-)

diffs (141 lines):

diff -r 70633af775bf -r d30efd405ddc sys/arch/xen/include/intr.h
--- a/sys/arch/xen/include/intr.h       Mon Oct 17 18:19:06 2016 +0000
+++ b/sys/arch/xen/include/intr.h       Mon Oct 17 18:23:49 2016 +0000
@@ -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 @@
 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 @@
 #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_ */
diff -r 70633af775bf -r d30efd405ddc sys/arch/xen/x86/intr.c
--- a/sys/arch/xen/x86/intr.c   Mon Oct 17 18:19:06 2016 +0000
+++ b/sys/arch/xen/x86/intr.c   Mon Oct 17 18:23:49 2016 +0000
@@ -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 @@
 
 #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)
diff -r 70633af775bf -r d30efd405ddc sys/dev/isa/files.isa
--- a/sys/dev/isa/files.isa     Mon Oct 17 18:19:06 2016 +0000
+++ b/sys/dev/isa/files.isa     Mon Oct 17 18:23:49 2016 +0000
@@ -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 @@
             [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
 
diff -r 70633af775bf -r d30efd405ddc sys/dev/isa/isa_stub.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/dev/isa/isa_stub.c    Mon Oct 17 18:23:49 2016 +0000
@@ -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);
+}



Home | Main Index | Thread Index | Old Index