Author: andrew
Date: Thu Jul 14 17:31:29 2016
New Revision: 302853
URL: https://svnweb.freebsd.org/changeset/base/302853

Log:
  Finish removing the non-INTRNG support from sys/arm64.
  
  Obtained from:        ABT Systems Ltd
  MFC after:    1 month
  Sponsored by: The FreeBSD Foundation

Modified:
  head/sys/arm64/arm64/autoconf.c
  head/sys/arm64/arm64/mp_machdep.c
  head/sys/arm64/arm64/nexus.c
  head/sys/arm64/include/intr.h

Modified: head/sys/arm64/arm64/autoconf.c
==============================================================================
--- head/sys/arm64/arm64/autoconf.c     Thu Jul 14 17:23:49 2016        
(r302852)
+++ head/sys/arm64/arm64/autoconf.c     Thu Jul 14 17:31:29 2016        
(r302853)
@@ -81,12 +81,8 @@ static void
 configure_final(void *dummy)
 {
 
-#ifdef INTRNG
        /* Enable interrupt reception on this CPU */
        intr_enable();
-#else
-       arm_enable_intr();
-#endif
        cninit_finish(); 
 
        if (bootverbose)

Modified: head/sys/arm64/arm64/mp_machdep.c
==============================================================================
--- head/sys/arm64/arm64/mp_machdep.c   Thu Jul 14 17:23:49 2016        
(r302852)
+++ head/sys/arm64/arm64/mp_machdep.c   Thu Jul 14 17:31:29 2016        
(r302853)
@@ -65,7 +65,6 @@ __FBSDID("$FreeBSD$");
 
 #include <dev/psci/psci.h>
 
-#ifdef INTRNG
 #include "pic_if.h"
 
 typedef void intr_ipi_send_t(void *, cpuset_t, u_int);
@@ -86,7 +85,6 @@ static struct intr_ipi ipi_sources[INTR_
 static struct intr_ipi *intr_ipi_lookup(u_int);
 static void intr_pic_ipi_setup(u_int, const char *, intr_ipi_handler_t *,
     void *);
-#endif /* INTRNG */
 
 boolean_t ofw_cpu_reg(phandle_t node, u_int, cell_t *);
 
@@ -214,18 +212,12 @@ release_aps(void *dummy __unused)
 {
        int cpu, i;
 
-#ifdef INTRNG
        intr_pic_ipi_setup(IPI_AST, "ast", ipi_ast, NULL);
        intr_pic_ipi_setup(IPI_PREEMPT, "preempt", ipi_preempt, NULL);
        intr_pic_ipi_setup(IPI_RENDEZVOUS, "rendezvous", ipi_rendezvous, NULL);
        intr_pic_ipi_setup(IPI_STOP, "stop", ipi_stop, NULL);
        intr_pic_ipi_setup(IPI_STOP_HARD, "stop hard", ipi_stop, NULL);
        intr_pic_ipi_setup(IPI_HARDCLOCK, "hardclock", ipi_hardclock, NULL);
-#else
-       /* Setup the IPI handler */
-       for (i = 0; i < INTR_IPI_COUNT; i++)
-               arm_setup_ipihandler(ipi_handler, i);
-#endif
 
        atomic_store_rel_int(&aps_ready, 1);
        /* Wake up the other CPUs */
@@ -253,9 +245,6 @@ void
 init_secondary(uint64_t cpu)
 {
        struct pcpu *pcpup;
-#ifndef INTRNG
-       int i;
-#endif
 
        pcpup = &__pcpu[cpu];
        /*
@@ -282,15 +271,7 @@ init_secondary(uint64_t cpu)
         */
        identify_cpu();
 
-#ifdef INTRNG
        intr_pic_init_secondary();
-#else
-       /* Configure the interrupt controller */
-       arm_init_secondary();
-
-       for (i = 0; i < INTR_IPI_COUNT; i++)
-               arm_unmask_ipi(i);
-#endif
 
        /* Start per-CPU event timers. */
        cpu_initclocks_ap();
@@ -322,7 +303,6 @@ init_secondary(uint64_t cpu)
        /* NOTREACHED */
 }
 
-#ifdef INTRNG
 /*
  *  Send IPI thru interrupt controller.
  */
@@ -378,7 +358,6 @@ intr_ipi_send(cpuset_t cpus, u_int ipi)
 
        ii->ii_send(ii->ii_send_arg, cpus, ipi);
 }
-#endif
 
 static void
 ipi_ast(void *dummy __unused)
@@ -432,44 +411,6 @@ ipi_stop(void *dummy __unused)
        CTR0(KTR_SMP, "IPI_STOP (restart)");
 }
 
-#ifndef INTRNG
-static int
-ipi_handler(void *arg)
-{
-       u_int cpu, ipi;
-
-       arg = (void *)((uintptr_t)arg & ~(1 << 16));
-       KASSERT((uintptr_t)arg < INTR_IPI_COUNT,
-           ("Invalid IPI %ju", (uintptr_t)arg));
-
-       cpu = PCPU_GET(cpuid);
-       ipi = (uintptr_t)arg;
-
-       switch(ipi) {
-       case IPI_AST:
-               ipi_ast(NULL);
-               break;
-       case IPI_PREEMPT:
-               ipi_preempt(NULL);
-               break;
-       case IPI_RENDEZVOUS:
-               ipi_rendezvous(NULL);
-               break;
-       case IPI_STOP:
-       case IPI_STOP_HARD:
-               ipi_stop(NULL);
-               break;
-       case IPI_HARDCLOCK:
-               ipi_hardclock(NULL);
-               break;
-       default:
-               panic("Unknown IPI %#0x on cpu %d", ipi, curcpu);
-       }
-
-       return (FILTER_HANDLED);
-}
-#endif
-
 struct cpu_group *
 cpu_topo(void)
 {
@@ -624,7 +565,6 @@ cpu_mp_setmaxid(void)
        mp_maxid = 0;
 }
 
-#ifdef INTRNG
 /*
  *  Lookup IPI source.
  */
@@ -768,4 +708,3 @@ ipi_selected(cpuset_t cpus, u_int ipi)
        CTR2(KTR_SMP, "%s: ipi: %x", __func__, ipi);
        intr_ipi_send(cpus, ipi);
 }
-#endif /* INTRNG */

Modified: head/sys/arm64/arm64/nexus.c
==============================================================================
--- head/sys/arm64/arm64/nexus.c        Thu Jul 14 17:23:49 2016        
(r302852)
+++ head/sys/arm64/arm64/nexus.c        Thu Jul 14 17:31:29 2016        
(r302853)
@@ -271,13 +271,9 @@ nexus_config_intr(device_t dev, int irq,
     enum intr_polarity pol)
 {
 
-#ifdef INTRNG
        /* TODO: This is wrong, it's needed for ACPI */
        device_printf(dev, "bus_config_intr is obsolete and not supported!\n");
        return (EOPNOTSUPP);
-#else
-       return (intr_irq_config(irq, trig, pol));
-#endif
 }
 
 static int
@@ -294,12 +290,7 @@ nexus_setup_intr(device_t dev, device_t 
        if (error)
                return (error);
 
-#ifdef INTRNG
        error = intr_setup_irq(child, res, filt, intr, arg, flags, cookiep);
-#else
-       error = arm_setup_intr(device_get_nameunit(child), filt, intr,
-           arg, rman_get_start(res), flags, cookiep);
-#endif
 
        return (error);
 }
@@ -308,11 +299,7 @@ static int
 nexus_teardown_intr(device_t dev, device_t child, struct resource *r, void *ih)
 {
 
-#ifdef INTRNG
        return (intr_teardown_irq(child, r, ih));
-#else
-       return (intr_irq_remove_handler(child, rman_get_start(r), ih));
-#endif
 }
 
 #ifdef SMP
@@ -320,11 +307,7 @@ static int
 nexus_bind_intr(device_t dev, device_t child, struct resource *irq, int cpu)
 {
 
-#ifdef INTRNG
        return (intr_bind_irq(child, irq, cpu));
-#else
-       return (intr_irq_bind(rman_get_start(irq), cpu));
-#endif
 }
 #endif
 
@@ -447,22 +430,8 @@ static int
 nexus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent, int icells,
     pcell_t *intr)
 {
-#ifdef INTRNG
-       return (INTR_IRQ_INVALID);
-#else
-       int irq;
-
-       if (icells == 3) {
-               irq = intr[1];
-               if (intr[0] == 0)
-                       irq += 32; /* SPI */
-               else
-                       irq += 16; /* PPI */
-       } else
-               irq = intr[0];
 
-       return (irq);
-#endif
+       return (INTR_IRQ_INVALID);
 }
 #endif
 

Modified: head/sys/arm64/include/intr.h
==============================================================================
--- head/sys/arm64/include/intr.h       Thu Jul 14 17:23:49 2016        
(r302852)
+++ head/sys/arm64/include/intr.h       Thu Jul 14 17:31:29 2016        
(r302853)
@@ -29,8 +29,6 @@
 #ifndef _MACHINE_INTR_H_
 #define        _MACHINE_INTR_H_
 
-#ifdef INTRNG
-
 #ifdef FDT
 #include <dev/ofw/openfirm.h>
 #endif
@@ -50,33 +48,4 @@ arm_irq_memory_barrier(uintptr_t irq)
 void intr_ipi_dispatch(u_int, struct trapframe *);
 #endif
 
-#else
-int    intr_irq_config(u_int, enum intr_trigger, enum intr_polarity);
-void   intr_irq_handler(struct trapframe *);
-int    intr_irq_remove_handler(device_t, u_int, void *);
-
-void   arm_dispatch_intr(u_int, struct trapframe *);
-int    arm_enable_intr(void);
-void   arm_mask_irq(u_int);
-void   arm_register_root_pic(device_t, u_int);
-void   arm_register_msi_pic(device_t);
-int    arm_alloc_msi(device_t, device_t, int, int, int *);
-int    arm_release_msi(device_t, device_t, int, int *);
-int    arm_alloc_msix(device_t, device_t, int *);
-int    arm_release_msix(device_t, device_t, int);
-int    arm_map_msi(device_t, device_t, int, uint64_t *, uint32_t *);
-int    arm_map_msix(device_t, device_t, int, uint64_t *, uint32_t *);
-int    arm_setup_intr(const char *, driver_filter_t *, driver_intr_t,
-                               void *, u_int, enum intr_type, void **);
-void   arm_unmask_irq(u_int);
-
-#ifdef SMP
-int    intr_irq_bind(u_int, int);
-
-void   arm_init_secondary(void);
-void   arm_setup_ipihandler(driver_filter_t *, u_int);
-void   arm_unmask_ipi(u_int);
-#endif
-#endif
-
 #endif /* _MACHINE_INTR_H */
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to