blob: 1b0ae3e5f2cf7fa01d031947cb4a74225c15bacf [file] [log] [blame] [edit]
#include "libcflat.h"
#include "smp.h"
unsigned nipis;
static void ipi_test(void *data)
{
int n = (long)data;
printf("ipi called, cpu %d\n", n);
if (n != smp_id())
printf("but wrong cpu %d\n", smp_id());
else
nipis++;
}
int main(void)
{
int ncpus;
int i;
smp_init();
ncpus = cpu_count();
printf("found %d cpus\n", ncpus);
for (i = 0; i < ncpus; ++i)
on_cpu(i, ipi_test, (void *)(long)i);
report(nipis == ncpus, "IPI to each CPU");
return report_summary();
}