コード例 #1
0
ファイル: dosm-packet.c プロジェクト: xxr3376/ucore_plus
void dosm_packet_process(dosm_packet_t packet)
{
	/* XXX just a demo */
	packet->remote_flags |= DOSM_RF_FINISHED;
	__default_send_IPI_dest_field(packet->source_lapic, ipi_vector,
				      APIC_DEST_PHYSICAL);
}
コード例 #2
0
static void _flat_send_IPI_mask(unsigned long mask, int vector)
{
	unsigned long flags;

	local_irq_save(flags);
	__default_send_IPI_dest_field(mask, vector, apic->dest_logical);
	local_irq_restore(flags);
}
コード例 #3
0
ファイル: ipi.c プロジェクト: mongmio/ivyproject_thermal
void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, int vector)
{
    unsigned long query_cpu;
    unsigned long flags;

    /*
     * Hack. The clustered APIC addressing mode doesn't allow us to send
     * to an arbitrary mask, so I do a unicast to each CPU instead.
     * - mbligh
     */
    local_irq_save(flags);
    for_each_cpu(query_cpu, mask) {
        __default_send_IPI_dest_field(per_cpu(x86_cpu_to_apicid,
                                              query_cpu), vector, APIC_DEST_PHYSICAL);
    }