forked from M-Labs/artiq-zynq
comms: removed core1 restart
This commit is contained in:
parent
407e18a6a0
commit
68d27ca2ee
@ -231,7 +231,6 @@ async fn handle_run_kernel(stream: Option<&TcpStream>, control: &Rc<RefCell<kern
|
|||||||
|
|
||||||
async fn load_kernel(buffer: Vec<u8>, control: &Rc<RefCell<kernel::Control>>, stream: Option<&TcpStream>) -> Result<()> {
|
async fn load_kernel(buffer: Vec<u8>, control: &Rc<RefCell<kernel::Control>>, stream: Option<&TcpStream>) -> Result<()> {
|
||||||
let mut control = control.borrow_mut();
|
let mut control = control.borrow_mut();
|
||||||
control.restart();
|
|
||||||
control.tx.async_send(kernel::Message::LoadRequest(Arc::new(buffer))).await;
|
control.tx.async_send(kernel::Message::LoadRequest(Arc::new(buffer))).await;
|
||||||
let reply = control.rx.async_recv().await;
|
let reply = control.rx.async_recv().await;
|
||||||
match *reply {
|
match *reply {
|
||||||
|
@ -4,14 +4,13 @@ use libsupport_zynq::boot::Core1;
|
|||||||
use super::{CHANNEL_0TO1, CHANNEL_1TO0, Message};
|
use super::{CHANNEL_0TO1, CHANNEL_1TO0, Message};
|
||||||
|
|
||||||
pub struct Control {
|
pub struct Control {
|
||||||
core1: Core1,
|
|
||||||
pub tx: sync_channel::Sender<Message>,
|
pub tx: sync_channel::Sender<Message>,
|
||||||
pub rx: sync_channel::Receiver<Message>,
|
pub rx: sync_channel::Receiver<Message>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Control {
|
impl Control {
|
||||||
pub fn start() -> Self {
|
pub fn start() -> Self {
|
||||||
let core1 = Core1::start(true);
|
Core1::start(true);
|
||||||
|
|
||||||
let (core0_tx, core1_rx) = sync_channel(4);
|
let (core0_tx, core1_rx) = sync_channel(4);
|
||||||
let (core1_tx, core0_rx) = sync_channel(4);
|
let (core1_tx, core0_rx) = sync_channel(4);
|
||||||
@ -19,23 +18,8 @@ impl Control {
|
|||||||
*CHANNEL_1TO0.lock() = Some(core1_tx);
|
*CHANNEL_1TO0.lock() = Some(core1_tx);
|
||||||
|
|
||||||
Control {
|
Control {
|
||||||
core1,
|
|
||||||
tx: core0_tx,
|
tx: core0_tx,
|
||||||
rx: core0_rx,
|
rx: core0_rx,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn restart(&mut self) {
|
|
||||||
*CHANNEL_0TO1.lock() = None;
|
|
||||||
*CHANNEL_1TO0.lock() = None;
|
|
||||||
|
|
||||||
self.core1.restart();
|
|
||||||
|
|
||||||
let (core0_tx, core1_rx) = sync_channel(4);
|
|
||||||
let (core1_tx, core0_rx) = sync_channel(4);
|
|
||||||
*CHANNEL_0TO1.lock() = Some(core1_rx);
|
|
||||||
*CHANNEL_1TO0.lock() = Some(core1_tx);
|
|
||||||
self.tx = core0_tx;
|
|
||||||
self.rx = core0_rx;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user