Not all tock boards have upgrade storage

This commit is contained in:
Julien Cretin
2022-03-07 15:59:37 +01:00
parent f08be3d57d
commit 3211342934

6
src/env/tock/mod.rs vendored
View File

@@ -21,7 +21,7 @@ mod storage;
pub struct TockEnv {
rng: TockRng256,
store: Store<SyscallStorage>,
upgrade_storage: SyscallUpgradeStorage,
upgrade_storage: Option<SyscallUpgradeStorage>,
}
impl TockEnv {
@@ -36,7 +36,7 @@ impl TockEnv {
assert!(!TAKEN.fetch_or(true, Ordering::SeqCst));
let storage = unsafe { steal_storage() }.unwrap();
let store = Store::new(storage).ok().unwrap();
let upgrade_storage = SyscallUpgradeStorage::new().unwrap();
let upgrade_storage = SyscallUpgradeStorage::new().ok();
TockEnv {
rng: TockRng256 {},
store,
@@ -83,7 +83,7 @@ impl Env for TockEnv {
}
fn upgrade_storage(&mut self) -> Option<&mut Self::UpgradeStorage> {
Some(&mut self.upgrade_storage)
self.upgrade_storage.as_mut()
}
}