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