|
|
|
@ -14,7 +14,7 @@ use libcortex_a9::{ |
|
|
|
|
use libboard_zynq::{mpcore, gic}; |
|
|
|
|
use libsupport_zynq::ram; |
|
|
|
|
use dyld::{self, Library}; |
|
|
|
|
use crate::{eh_artiq, rtio}; |
|
|
|
|
use crate::{eh_artiq, get_async_errors, rtio}; |
|
|
|
|
use super::{ |
|
|
|
|
api::resolve, |
|
|
|
|
rpc::rpc_send_async, |
|
|
|
@ -192,7 +192,8 @@ pub extern "C" fn main_core1() { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
info!("kernel finished"); |
|
|
|
|
core1_tx.send(Message::KernelFinished); |
|
|
|
|
let async_errors = unsafe { get_async_errors() }; |
|
|
|
|
core1_tx.send(Message::KernelFinished(async_errors)); |
|
|
|
|
} |
|
|
|
|
_ => error!("Core1 received unexpected message: {:?}", message), |
|
|
|
|
} |
|
|
|
@ -216,7 +217,8 @@ pub fn terminate(exception: &'static eh_artiq::Exception<'static>, backtrace: &' |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
let core1_tx = unsafe { KERNEL_CHANNEL_1TO0.as_mut().unwrap() }; |
|
|
|
|
core1_tx.send(Message::KernelException(exception, &backtrace[..cursor])); |
|
|
|
|
let errors = unsafe { get_async_errors() }; |
|
|
|
|
core1_tx.send(Message::KernelException(exception, &backtrace[..cursor], errors)); |
|
|
|
|
} |
|
|
|
|
loop {} |
|
|
|
|
} |
|
|
|
|