~martin-decky/helenos/rcu

« back to all changes in this revision

Viewing changes to kernel/generic/src/smp/ipi.c

  • Committer: Pavel Rimsky
  • Date: 2010-02-20 20:54:53 UTC
  • mfrom: (292 head)
  • mto: This revision was merged to the branch mainline in revision 296.
  • Revision ID: pavel@pavel-laptop-20100220205453-70sim280j709dgp3
Synchronize with head.

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
27
 */
28
28
 
29
 
/** @addtogroup generic 
 
29
/** @addtogroup generic
30
30
 * @{
31
31
 */
32
32
 
33
33
/**
34
34
 * @file
35
 
 * @brief       Generic IPI interface.
 
35
 * @brief Generic IPI interface.
36
36
 */
37
 
 
 
37
 
38
38
#ifdef CONFIG_SMP
39
39
 
40
40
#include <smp/ipi.h>
41
41
#include <config.h>
42
42
 
43
 
 
44
43
/** Broadcast IPI message
45
44
 *
46
45
 * Broadcast IPI message to all CPUs.
48
47
 * @param ipi Message to broadcast.
49
48
 *
50
49
 * @bug The decision whether to actually send the IPI must be based
51
 
 *      on a different criterion. The current version has
52
 
 *      problems when some of the detected CPUs are marked
53
 
 *      disabled in machine configuration.
 
50
 *      on a different criterion. The current version has
 
51
 *      problems when some of the detected CPUs are marked
 
52
 *      disabled in machine configuration.
54
53
 */
55
54
void ipi_broadcast(int ipi)
56
55
{
59
58
         * - before all CPU's were configured to accept the IPI
60
59
         * - if there is only one CPU but the kernel was compiled with CONFIG_SMP
61
60
         */
62
 
 
 
61
        
63
62
        if ((config.cpu_active > 1) && (config.cpu_active == config.cpu_count))
64
63
                ipi_broadcast_arch(ipi);
65
64
}