diff --git a/src/runtime/src/kernel/core1.rs b/src/runtime/src/kernel/core1.rs index e0a97d0..cd63379 100644 --- a/src/runtime/src/kernel/core1.rs +++ b/src/runtime/src/kernel/core1.rs @@ -5,7 +5,7 @@ use alloc::borrow::ToOwned; use log::{debug, info, error}; use cslice::CSlice; -use libcortex_a9::{enable_fpu, cache::dcci_slice, sync_channel}; +use libcortex_a9::{enable_fpu, cache::{dcci_slice, iciallu}, sync_channel}; use dyld::{self, Library}; use crate::eh_artiq; use super::{ @@ -92,6 +92,7 @@ impl KernelImage { // Flush data cache entries for the image in DDR, including // Memory/Instruction Synchronization Barriers dcci_slice(self.library.image.data); + iciallu(); (mem::transmute::(self.__modinit__))();