4 bool Ipi::is_ipi(unsigned /*irq*/)
8 //-------------------------------------------------------------------------
19 Global_request = Ipi_start, Request, Debug,
25 //-------------------------------------------------------------------------
30 #include "processor.h"
33 Ipi::Ipi() : _phys_id(~0)
36 IMPLEMENT inline NEEDS["processor.h"]
40 _phys_id = Proc::cpu_id();
44 void Ipi::ipi_call_debug_arch()
49 void Ipi::eoi(Message)
51 // with the ARM-GIC we have to do the EOI right after the ACK
55 PUBLIC inline NEEDS["gic.h"]
56 void Ipi::send(Message m)
58 Gic_pin::_gic[0].softint_cpu(1 << _phys_id, m);
66 Gic_pin::_gic[0].softint_bcast(m);
70 bool Ipi::is_ipi(unsigned irq)
71 { return irq >= Ipi_start && irq < Ipi_end; }