1
0
Fork 0

Compare commits

..

No commits in common. "9d076d5c24b602666103ee10c3201276092005de" and "e894f502a45b414ec2407d49b0c75451940d6a5d" have entirely different histories.

1 changed files with 9 additions and 2 deletions

View File

@ -26,6 +26,9 @@ interrupt_handler!(Reset, reset_irq, __stack0_start, __stack1_start, {
boot_core0();
}
1 => {
while !CORE1_ENABLED.get() {
spin_lock_yield();
}
boot_core1();
}
_ => unreachable!(),
@ -66,8 +69,7 @@ unsafe extern "C" fn boot_core1() -> ! {
let mpcore = mpcore::RegisterBlock::mpcore();
mpcore.scu_invalidate.invalidate_core1();
let mmu_table = mmu::L1Table::get()
.setup_flat_layout();
let mmu_table = mmu::L1Table::get();
mmu::with_mmu(mmu_table, || {
ACTLR.enable_smp();
ACTLR.enable_prefetch();
@ -126,6 +128,11 @@ impl Core1 {
}
}
unsafe {
CORE1_ENABLED.set(true);
}
// Flush cache-line
cache::dcc(unsafe { &CORE1_ENABLED });
if sdram {
cache::dccmvac(0);
asm::dsb();