forked from M-Labs/zynq-rs
Compare commits
No commits in common. "d76f6fee0e046e11e1b8868a6c5657810f39fe51" and "c77e165cc8d91a21909f9f5ca74107e5edc879e6" have entirely different histories.
d76f6fee0e
...
c77e165cc8
|
@ -9,7 +9,6 @@ members = [
|
||||||
"experiments",
|
"experiments",
|
||||||
"szl",
|
"szl",
|
||||||
]
|
]
|
||||||
resolver = "2"
|
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
panic = "abort"
|
panic = "abort"
|
||||||
|
|
|
@ -6,7 +6,6 @@ extern crate alloc;
|
||||||
|
|
||||||
use alloc::collections::BTreeMap;
|
use alloc::collections::BTreeMap;
|
||||||
use core::arch::asm;
|
use core::arch::asm;
|
||||||
use core::ptr::addr_of_mut;
|
|
||||||
use libasync::{
|
use libasync::{
|
||||||
delay,
|
delay,
|
||||||
smoltcp::{Sockets, TcpStream},
|
smoltcp::{Sockets, TcpStream},
|
||||||
|
@ -71,7 +70,7 @@ interrupt_handler!(IRQ, irq, __irq_stack0_start, __irq_stack1_start, {
|
||||||
if id.0 == 0 {
|
if id.0 == 0 {
|
||||||
gic.end_interrupt(id);
|
gic.end_interrupt(id);
|
||||||
asm::exit_irq();
|
asm::exit_irq();
|
||||||
SP.write(addr_of_mut!(__stack1_start) as *mut _ as u32);
|
SP.write(&mut __stack1_start as *mut _ as u32);
|
||||||
asm::enable_irq();
|
asm::enable_irq();
|
||||||
CORE1_RESTART.store(false, Ordering::Relaxed);
|
CORE1_RESTART.store(false, Ordering::Relaxed);
|
||||||
notify_spin_lock();
|
notify_spin_lock();
|
||||||
|
|
|
@ -51,7 +51,7 @@ macro_rules! interrupt_handler {
|
||||||
#[link_section = ".text.boot"]
|
#[link_section = ".text.boot"]
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
#[naked]
|
#[naked]
|
||||||
pub unsafe extern "C" fn $name() {
|
pub unsafe extern "C" fn $name() -> ! {
|
||||||
asm!(
|
asm!(
|
||||||
// setup SP, depending on CPU 0 or 1
|
// setup SP, depending on CPU 0 or 1
|
||||||
// and preserve registers
|
// and preserve registers
|
||||||
|
|
Loading…
Reference in New Issue