1*7d36db35SAvi Kivity #include "libcflat.h" 2*7d36db35SAvi Kivity #include "smp.h" 3*7d36db35SAvi Kivity 4*7d36db35SAvi Kivity static void ipi_test(void *data) 5*7d36db35SAvi Kivity { 6*7d36db35SAvi Kivity int n = (long)data; 7*7d36db35SAvi Kivity 8*7d36db35SAvi Kivity printf("ipi called, cpu %d\n", n); 9*7d36db35SAvi Kivity if (n != smp_id()) 10*7d36db35SAvi Kivity printf("but wrong cpu %d\n", smp_id()); 11*7d36db35SAvi Kivity } 12*7d36db35SAvi Kivity 13*7d36db35SAvi Kivity int main() 14*7d36db35SAvi Kivity { 15*7d36db35SAvi Kivity int ncpus; 16*7d36db35SAvi Kivity int i; 17*7d36db35SAvi Kivity 18*7d36db35SAvi Kivity smp_init(); 19*7d36db35SAvi Kivity 20*7d36db35SAvi Kivity ncpus = cpu_count(); 21*7d36db35SAvi Kivity printf("found %d cpus\n", ncpus); 22*7d36db35SAvi Kivity for (i = 0; i < ncpus; ++i) 23*7d36db35SAvi Kivity on_cpu(i, ipi_test, (void *)(long)i); 24*7d36db35SAvi Kivity return 0; 25*7d36db35SAvi Kivity } 26