]> rtime.felk.cvut.cz Git - l4.git/blob - kernel/fiasco/src/kern/arm/bsp/realview/platform_control-arm-realview.cpp
4cc9f992ad078c5ff556a050bf5ae6805cfffb91
[l4.git] / kernel / fiasco / src / kern / arm / bsp / realview / platform_control-arm-realview.cpp
1 INTERFACE [arm && mp && realview]:
2 #include "types.h"
3
4 IMPLEMENTATION [arm && mp && realview]:
5
6 #include "io.h"
7 #include "ipi.h"
8 #include "platform.h"
9
10 PUBLIC static
11 void
12 Platform_control::boot_ap_cpus(Address phys_tramp_mp_addr)
13 {
14   // set physical start address for AP CPUs
15   Platform::write(Platform::Sys::Flags_clr, 0xffffffff);
16   Platform::write(Platform::Sys::Flags, phys_tramp_mp_addr);
17
18   // wake up AP CPUs, always from CPU 0
19   Ipi::bcast(Ipi::Global_request, 0);
20 }
21