Permit the app to read the storage
This commit is contained in:
@@ -277,3 +277,39 @@ index 5abd2d84..5a726fdb 100644
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
diff --git a/kernel/src/process.rs b/kernel/src/process.rs
|
||||
index eb00f274..35c19d15 100644
|
||||
--- a/kernel/src/process.rs
|
||||
+++ b/kernel/src/process.rs
|
||||
@@ -1604,6 +1604,31 @@ impl<C: 'static + Chip> Process<'a, C> {
|
||||
return Ok((None, 0));
|
||||
}
|
||||
|
||||
+ // Allocate MPU region for storage.
|
||||
+ const STORAGE_PTR: usize = 0xc0000;
|
||||
+ const STORAGE_LEN: usize = 0x40000;
|
||||
+ if chip
|
||||
+ .mpu()
|
||||
+ .allocate_region(
|
||||
+ STORAGE_PTR as *const u8,
|
||||
+ STORAGE_LEN,
|
||||
+ STORAGE_LEN,
|
||||
+ mpu::Permissions::ReadOnly,
|
||||
+ &mut mpu_config,
|
||||
+ )
|
||||
+ .is_none()
|
||||
+ {
|
||||
+ if config::CONFIG.debug_load_processes {
|
||||
+ debug!(
|
||||
+ "[!] flash=[{:#010X}:{:#010X}] process={:?} - couldn't allocate flash region",
|
||||
+ STORAGE_PTR,
|
||||
+ STORAGE_PTR + STORAGE_LEN,
|
||||
+ process_name
|
||||
+ );
|
||||
+ }
|
||||
+ return Ok((None, 0));
|
||||
+ }
|
||||
+
|
||||
// Determine how much space we need in the application's
|
||||
// memory space just for kernel and grant state. We need to make
|
||||
// sure we allocate enough memory just for that.
|
||||
|
||||
Reference in New Issue
Block a user