forked from M-Labs/zynq-rs
Compare commits
No commits in common. "9d076d5c24b602666103ee10c3201276092005de" and "e894f502a45b414ec2407d49b0c75451940d6a5d" have entirely different histories.
9d076d5c24
...
e894f502a4
|
@ -26,6 +26,9 @@ interrupt_handler!(Reset, reset_irq, __stack0_start, __stack1_start, {
|
||||||
boot_core0();
|
boot_core0();
|
||||||
}
|
}
|
||||||
1 => {
|
1 => {
|
||||||
|
while !CORE1_ENABLED.get() {
|
||||||
|
spin_lock_yield();
|
||||||
|
}
|
||||||
boot_core1();
|
boot_core1();
|
||||||
}
|
}
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
|
@ -66,8 +69,7 @@ unsafe extern "C" fn boot_core1() -> ! {
|
||||||
let mpcore = mpcore::RegisterBlock::mpcore();
|
let mpcore = mpcore::RegisterBlock::mpcore();
|
||||||
mpcore.scu_invalidate.invalidate_core1();
|
mpcore.scu_invalidate.invalidate_core1();
|
||||||
|
|
||||||
let mmu_table = mmu::L1Table::get()
|
let mmu_table = mmu::L1Table::get();
|
||||||
.setup_flat_layout();
|
|
||||||
mmu::with_mmu(mmu_table, || {
|
mmu::with_mmu(mmu_table, || {
|
||||||
ACTLR.enable_smp();
|
ACTLR.enable_smp();
|
||||||
ACTLR.enable_prefetch();
|
ACTLR.enable_prefetch();
|
||||||
|
@ -126,6 +128,11 @@ impl Core1 {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsafe {
|
||||||
|
CORE1_ENABLED.set(true);
|
||||||
|
}
|
||||||
|
// Flush cache-line
|
||||||
|
cache::dcc(unsafe { &CORE1_ENABLED });
|
||||||
if sdram {
|
if sdram {
|
||||||
cache::dccmvac(0);
|
cache::dccmvac(0);
|
||||||
asm::dsb();
|
asm::dsb();
|
||||||
|
|
Loading…
Reference in New Issue