forked from M-Labs/artiq-zynq
enable FPU on Core1
This commit is contained in:
parent
7216e9c4be
commit
1f23a1b86c
|
@ -128,6 +128,19 @@ fn resolve(required: &[u8]) -> Option<u32> {
|
||||||
pub fn main_core1() {
|
pub fn main_core1() {
|
||||||
debug!("Core1 started");
|
debug!("Core1 started");
|
||||||
|
|
||||||
|
unsafe {
|
||||||
|
llvm_asm!("
|
||||||
|
mrc p15, 0, r1, c1, c0, 2
|
||||||
|
orr r1, r1, (0b1111<<20)
|
||||||
|
mcr p15, 0, r1, c1, c0, 2
|
||||||
|
|
||||||
|
vmrs r1, fpexc
|
||||||
|
orr r1, r1, (1<<30)
|
||||||
|
vmsr fpexc, r1
|
||||||
|
":::"r1");
|
||||||
|
}
|
||||||
|
debug!("FPU enabled on Core1");
|
||||||
|
|
||||||
let mut core1_tx = None;
|
let mut core1_tx = None;
|
||||||
while core1_tx.is_none() {
|
while core1_tx.is_none() {
|
||||||
core1_tx = CHANNEL_1TO0.lock().take();
|
core1_tx = CHANNEL_1TO0.lock().take();
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
#![recursion_limit="1024"] // for futures_util::select!
|
#![recursion_limit="1024"] // for futures_util::select!
|
||||||
|
#![feature(llvm_asm)]
|
||||||
|
|
||||||
extern crate alloc;
|
extern crate alloc;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue