Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/src/smp/sun4u/ipi.c

    rd19b3fc rc5429fe  
    3535#include <smp/ipi.h>
    3636#include <arch/barrier.h>
     37#include <arch/smp/sun4u/ipi.h>
    3738#include <assert.h>
    3839#include <cpu.h>
     
    4243#include <config.h>
    4344#include <mm/tlb.h>
     45#include <smp/smp_call.h>
    4446#include <arch/interrupt.h>
    4547#include <arch/trap/interrupt.h>
     
    173175}
    174176
     177/*
     178 * Deliver an IPI to the specified processors (except the current one).
     179 *
     180 * Interrupts must be disabled.
     181 *
     182 * @param cpu_id Destination cpu id (index into cpus array). Must not
     183 *               be the current cpu.
     184 * @param ipi    IPI number.
     185 */
     186void ipi_unicast_arch(unsigned int cpu_id, int ipi)
     187{
     188        assert(&cpus[cpu_id] != CPU);
     189
     190        if (ipi == IPI_SMP_CALL) {
     191                cross_call(cpus[cpu_id].arch.mid, smp_call_ipi_recv);
     192        } else {
     193                panic("Unknown IPI (%d).\n", ipi);
     194                return;
     195        }
     196}
     197
    175198/** @}
    176199 */
Note: See TracChangeset for help on using the changeset viewer.