summaryrefslogtreecommitdiffstats
path: root/sys/ia64
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2008-09-28 18:34:14 +0000
committermarius <marius@FreeBSD.org>2008-09-28 18:34:14 +0000
commita1ec700ce86e235c28f1c3187005ffd0a4fc0771 (patch)
tree9ce76384feced5a803e792230ba07f3bb5776ef3 /sys/ia64
parent67d011afcbb04955068e1ab6d7a373efa90ac749 (diff)
downloadFreeBSD-src-a1ec700ce86e235c28f1c3187005ffd0a4fc0771.zip
FreeBSD-src-a1ec700ce86e235c28f1c3187005ffd0a4fc0771.tar.gz
Remove ipi_all() and ipi_self() as the former hasn't been used at
all to date and the latter also is only used in ia64 and powerpc code which no longer serves a real purpose after bring-up and just can be removed as well. Note that architectures like sun4u also provide no means of implementing IPI'ing a CPU itself natively in the first place. Suggested by: jhb Reviewed by: arch, grehan, jhb
Diffstat (limited to 'sys/ia64')
-rw-r--r--sys/ia64/ia64/interrupt.c7
-rw-r--r--sys/ia64/ia64/mp_machdep.c31
-rw-r--r--sys/ia64/ia64/sal.c1
-rw-r--r--sys/ia64/include/smp.h13
4 files changed, 5 insertions, 47 deletions
diff --git a/sys/ia64/ia64/interrupt.c b/sys/ia64/ia64/interrupt.c
index 7ba1455..0c50b48 100644
--- a/sys/ia64/ia64/interrupt.c
+++ b/sys/ia64/ia64/interrupt.c
@@ -74,10 +74,6 @@ struct evcnt clock_intr_evcnt; /* event counter for clock intrs. */
#include <ddb/ddb.h>
#endif
-#ifdef SMP
-extern int mp_ipi_test;
-#endif
-
static void ia64_dispatch_intr(void *, u_int);
static void
@@ -241,9 +237,6 @@ interrupt(struct trapframe *tf)
cpu_spinwait();
atomic_clear_int(&started_cpus, mybit);
atomic_clear_int(&stopped_cpus, mybit);
- } else if (vector == ipi_vector[IPI_TEST]) {
- CTR1(KTR_SMP, "IPI_TEST, cpuid=%d", PCPU_GET(cpuid));
- mp_ipi_test++;
} else if (vector == ipi_vector[IPI_PREEMPT]) {
CTR1(KTR_SMP, "IPI_PREEMPT, cpuid=%d", PCPU_GET(cpuid));
__asm __volatile("mov cr.eoi = r0;; srlz.d");
diff --git a/sys/ia64/ia64/mp_machdep.c b/sys/ia64/ia64/mp_machdep.c
index 23b86fb..ce2b4d1 100644
--- a/sys/ia64/ia64/mp_machdep.c
+++ b/sys/ia64/ia64/mp_machdep.c
@@ -72,8 +72,6 @@ void ia64_ap_startup(void);
#define LID_SAPIC_SET(id,eid) (((id & 0xff) << 8 | (eid & 0xff)) << 16);
#define LID_SAPIC_MASK 0xffff0000UL
-int mp_ipi_test = 0;
-
/* Variables used by os_boot_rendez and ia64_ap_startup */
struct pcpu *ap_pcpu;
void *ap_stack;
@@ -269,9 +267,6 @@ cpu_mp_start()
if (!ap_awake)
printf("SMP: WARNING: cpu%d did not wake up\n",
pc->pc_cpuid);
- } else {
- pc->pc_awake = 1;
- ipi_self(IPI_TEST);
}
}
}
@@ -285,9 +280,6 @@ cpu_mp_unleash(void *dummy)
if (mp_ncpus <= 1)
return;
- if (mp_ipi_test != 1)
- printf("SMP: WARNING: sending of a test IPI failed\n");
-
cpus = 0;
smp_cpus = 0;
SLIST_FOREACH(pc, &cpuhead, pc_allcpu) {
@@ -326,19 +318,6 @@ ipi_selected(cpumask_t cpus, int ipi)
}
/*
- * send an IPI to all CPUs, including myself.
- */
-void
-ipi_all(int ipi)
-{
- struct pcpu *pc;
-
- SLIST_FOREACH(pc, &cpuhead, pc_allcpu) {
- ipi_send(pc, ipi);
- }
-}
-
-/*
* send an IPI to all CPUs EXCEPT myself.
*/
void
@@ -353,16 +332,6 @@ ipi_all_but_self(int ipi)
}
/*
- * send an IPI to myself.
- */
-void
-ipi_self(int ipi)
-{
-
- ipi_send(pcpup, ipi);
-}
-
-/*
* Send an IPI to the specified processor. The lid parameter holds the
* cr.lid (CR64) contents of the target processor. Only the id and eid
* fields are used here.
diff --git a/sys/ia64/ia64/sal.c b/sys/ia64/ia64/sal.c
index 6a55f39..4f46d65 100644
--- a/sys/ia64/ia64/sal.c
+++ b/sys/ia64/ia64/sal.c
@@ -80,7 +80,6 @@ setup_ipi_vectors(int ceil)
ipi_vector[IPI_HIGH_FP] = ceil - 0x30;
ipi_vector[IPI_MCA_CMCV] = ceil - 0x30 + 1;
- ipi_vector[IPI_TEST] = ceil - 0x30 + 2;
}
void
diff --git a/sys/ia64/include/smp.h b/sys/ia64/include/smp.h
index cf1fab3..c6d98f7 100644
--- a/sys/ia64/include/smp.h
+++ b/sys/ia64/include/smp.h
@@ -17,14 +17,13 @@
#define IPI_HIGH_FP 1
#define IPI_MCA_CMCV 2
#define IPI_MCA_RENDEZ 3
-#define IPI_TEST 4
/* Machine independent IPIs. */
-#define IPI_AST 5
-#define IPI_RENDEZVOUS 6
-#define IPI_STOP 7
-#define IPI_PREEMPT 8
+#define IPI_AST 4
+#define IPI_RENDEZVOUS 5
+#define IPI_STOP 6
+#define IPI_PREEMPT 7
-#define IPI_COUNT 9
+#define IPI_COUNT 8
#ifndef LOCORE
@@ -32,10 +31,8 @@ struct pcpu;
extern int ipi_vector[];
-void ipi_all(int ipi);
void ipi_all_but_self(int ipi);
void ipi_selected(cpumask_t cpus, int ipi);
-void ipi_self(int ipi);
void ipi_send(struct pcpu *, int ipi);
#endif /* !LOCORE */
OpenPOWER on IntegriCloud