17 Global_request = Ipi_start, Request, Debug,
24 Ipi::Ipi() : _phys_id(~0)
27 IMPLEMENT inline NEEDS["processor.h"]
29 Ipi::init(unsigned cpu)
31 _ipi.cpu(cpu)._phys_id = Proc::cpu_id();
35 void Ipi::ipi_call_debug_arch()
40 void Ipi::eoi(Message, unsigned on_cpu)
42 // with the ARM-GIC we have to do the EOI right after the ACK
43 stat_received(on_cpu);
46 // ---------------------------------------------------------------------------
47 IMPLEMENTATION [mp && !irregular_gic]:
49 PUBLIC static inline NEEDS["pic.h"]
50 void Ipi::send(Message m, unsigned from_cpu, unsigned to_cpu)
52 Pic::gic->softint_cpu(1 << _ipi.cpu(to_cpu)._phys_id, m);
58 Ipi::bcast(Message m, unsigned from_cpu)
61 Pic::gic->softint_bcast(m);