Currently, it's not possible to build on arm64 without the in-kernel debugger.
This patch fixes the two offending files:

Index: agintc.c
===================================================================
RCS file: /cvs/src/sys/arch/arm64/dev/agintc.c,v
retrieving revision 1.26
diff -u -p -u -p -r1.26 agintc.c
--- agintc.c    17 Jul 2020 08:07:33 -0000      1.26
+++ agintc.c    4 Sep 2020 13:18:33 -0000
@@ -156,7 +156,9 @@ struct agintc_softc {
        struct agintc_dmamem    *sc_pend;
        struct interrupt_controller sc_ic;
        int                      sc_ipi_num[2]; /* id for NOP and DDB ipi */
+#ifdef DDB
        int                      sc_ipi_reason[MAXCPUS]; /* NOP or DDB caused */
+#endif
        void                    *sc_ipi_irq[2]; /* irqhandle for each ipi */
 };
 struct agintc_softc *agintc_sc;
@@ -226,7 +228,9 @@ void                agintc_wait_rwp(struct agintc_soft
 void           agintc_r_wait_rwp(struct agintc_softc *sc);
 uint32_t       agintc_r_ictlr(void);
 
+#ifdef DDB
 int            agintc_ipi_ddb(void *v);
+#endif
 int            agintc_ipi_nop(void *v);
 int            agintc_ipi_combined(void *);
 void           agintc_send_ipi(struct cpu_info *, int);
@@ -576,15 +580,19 @@ agintc_attach(struct device *parent, str
                sc->sc_ipi_irq[0] = agintc_intr_establish(ipiirq[0],
                    IPL_IPI|IPL_MPSAFE, NULL, agintc_ipi_combined, sc, "ipi");
                sc->sc_ipi_num[ARM_IPI_NOP] = ipiirq[0];
+#ifdef DDB
                sc->sc_ipi_num[ARM_IPI_DDB] = ipiirq[0];
+#endif
                break;
        case 2:
                sc->sc_ipi_irq[0] = agintc_intr_establish(ipiirq[0],
                    IPL_IPI|IPL_MPSAFE, NULL, agintc_ipi_nop, sc, "ipinop");
                sc->sc_ipi_num[ARM_IPI_NOP] = ipiirq[0];
+#ifdef DDB
                sc->sc_ipi_irq[1] = agintc_intr_establish(ipiirq[1],
                    IPL_IPI|IPL_MPSAFE, NULL, agintc_ipi_ddb, sc, "ipiddb");
                sc->sc_ipi_num[ARM_IPI_DDB] = ipiirq[1];
+#endif
                break;
        default:
                panic("nipi unexpected number %d", nipi);
@@ -1117,6 +1125,7 @@ agintc_r_wait_rwp(struct agintc_softc *s
 }
 
 #ifdef MULTIPROCESSOR
+#ifdef DDB
 int
 agintc_ipi_ddb(void *v)
 {
@@ -1124,6 +1133,7 @@ agintc_ipi_ddb(void *v)
        db_enter();
        return 1;
 }
+#endif
 
 int
 agintc_ipi_nop(void *v)
@@ -1135,14 +1145,16 @@ agintc_ipi_nop(void *v)
 int
 agintc_ipi_combined(void *v)
 {
+#ifdef DDB
        struct agintc_softc *sc = v;
 
        if (sc->sc_ipi_reason[cpu_number()] == ARM_IPI_DDB) {
                sc->sc_ipi_reason[cpu_number()] = ARM_IPI_NOP;
                return agintc_ipi_ddb(v);
-       } else {
-               return agintc_ipi_nop(v);
        }
+#endif
+
+       return agintc_ipi_nop(v);
 }
 
 void
@@ -1154,9 +1166,11 @@ agintc_send_ipi(struct cpu_info *ci, int
        if (ci == curcpu() && id == ARM_IPI_NOP)
                return;
 
+#ifdef DDB
        /* never overwrite IPI_DDB with IPI_NOP */
        if (id == ARM_IPI_DDB)
                sc->sc_ipi_reason[ci->ci_cpuid] = id;
+#endif
 
        /* will only send 1 cpu */
        sendmask = (ci->ci_mpidr & MPIDR_AFF3) << 16;
Index: ampintc.c
===================================================================
RCS file: /cvs/src/sys/arch/arm64/dev/ampintc.c,v
retrieving revision 1.19
diff -u -p -u -p -r1.19 ampintc.c
--- ampintc.c   17 Jul 2020 08:07:33 -0000      1.19
+++ ampintc.c   4 Sep 2020 13:18:33 -0000
@@ -141,7 +141,9 @@ struct ampintc_softc {
        uint8_t                  sc_cpu_mask[ICD_ICTR_CPU_M + 1];
        struct evcount           sc_spur;
        struct interrupt_controller sc_ic;
+#ifdef DDB
        int                      sc_ipi_reason[ICD_ICTR_CPU_M + 1];
+#endif
        int                      sc_ipi_num[2];
 };
 struct ampintc_softc *ampintc;
@@ -196,7 +198,9 @@ void                 ampintc_intr_barrier(void *);
 
 int             ampintc_ipi_combined(void *);
 int             ampintc_ipi_nop(void *);
+#ifdef DDB
 int             ampintc_ipi_ddb(void *);
+#endif
 void            ampintc_send_ipi(struct cpu_info *, int);
 
 struct cfattach        ampintc_ca = {
@@ -347,15 +351,19 @@ ampintc_attach(struct device *parent, st
                ampintc_intr_establish(ipiirq[0], IST_EDGE_RISING,
                    IPL_IPI|IPL_MPSAFE, NULL, ampintc_ipi_combined, sc, "ipi");
                sc->sc_ipi_num[ARM_IPI_NOP] = ipiirq[0];
+#ifdef DDB
                sc->sc_ipi_num[ARM_IPI_DDB] = ipiirq[0];
+#endif
                break;
        case 2:
                ampintc_intr_establish(ipiirq[0], IST_EDGE_RISING,
                    IPL_IPI|IPL_MPSAFE, NULL, ampintc_ipi_nop, sc, "ipinop");
                sc->sc_ipi_num[ARM_IPI_NOP] = ipiirq[0];
+#ifdef DDB
                ampintc_intr_establish(ipiirq[1], IST_EDGE_RISING,
                    IPL_IPI|IPL_MPSAFE, NULL, ampintc_ipi_ddb, sc, "ipiddb");
                sc->sc_ipi_num[ARM_IPI_DDB] = ipiirq[1];
+#endif
                break;
        default:
                panic("nipi unexpected number %d", nipi);
@@ -954,6 +962,7 @@ ampintc_intr_barrier_msi(void *cookie)
 }
 
 #ifdef MULTIPROCESSOR
+#ifdef DDB
 int
 ampintc_ipi_ddb(void *v)
 {
@@ -961,6 +970,7 @@ ampintc_ipi_ddb(void *v)
        db_enter();
        return 1;
 }
+#endif
 
 int
 ampintc_ipi_nop(void *v)
@@ -972,14 +982,16 @@ ampintc_ipi_nop(void *v)
 int
 ampintc_ipi_combined(void *v)
 {
+#ifdef DDB
        struct ampintc_softc *sc = (struct ampintc_softc *)v;
 
        if (sc->sc_ipi_reason[cpu_number()] == ARM_IPI_DDB) {
                sc->sc_ipi_reason[cpu_number()] = ARM_IPI_NOP;
                return ampintc_ipi_ddb(v);
-       } else {
-               return ampintc_ipi_nop(v);
        }
+#endif
+
+       return ampintc_ipi_nop(v);
 }
 
 void
@@ -991,9 +1003,11 @@ ampintc_send_ipi(struct cpu_info *ci, in
        if (ci == curcpu() && id == ARM_IPI_NOP)
                return;
 
+#ifdef DDB
        /* never overwrite IPI_DDB with IPI_NOP */
        if (id == ARM_IPI_DDB)
                sc->sc_ipi_reason[ci->ci_cpuid] = id;
+#endif
 
        /* currently will only send to one cpu */
        sendmask = 1 << (16 + ci->ci_cpuid);

Reply via email to